CSS Hack IE7
Internet Explorer 7 เป็นอีกเบราเซอร์หนึงที่มีปัญหามากมายเหลือเกิน ทั้งด้าน javascript ,Thai font และ CSS เราก็ต้องมาตาม hack มันอีกเช่นเคย
IE7 เท่านั้น อ่านบรรทัดนี้
*:first-child+html เว้นวรรค ตามด้วยคลาส ไอดี ที่คุณอยากจะสั่งมัน {}
เช่น *:first-child+html .ss {font-size:10px}
ส่วนแบบนี้เคยเขียนถึงไว้แล้ว
html>body เว้นวรรค ตามด้วยคลาส ไอดี ที่คุณอยากจะสั่งมัน {}แบบนี้IE7 และ เบราเซอร์ใหม่ๆ อ่านได้ครับ เว้น IE6
เบราเซอร์ใหม่ๆ อ่านบรรทัดนี้ยกเว้น IE7
html>/**/body เว้นวรรค ตามด้วยคลาส ไอดี ที่คุณอยากจะสั่งมัน {}
ลองนำไปประยุกต์ใช้กันดูครับ เผื่อว่าใครอยากจะทำเว็บให้ support IE7 ด้วย
update 4 Jul 2007
อธิบายเพิ่มเติม
ถ้าเราเขียน
.ss{margin:10px 5px 5px 5px}
เบราเซอร์อื่นทำงานปกติ สมมติว่า ie7 ไม่เป็นไปตามนี้ อาจเป็นเพราะ อะไรก็แล้วแต่ ซึ่งก็ไม่รู้เหมือนกัน เราก็แฮ็กให้ ie7 เท่านั้นจะทำตามบรรทัดล่างนี้ เช่น
*:first-child+html .ss{margin:7px 5px 5px 5px} ie7 ก็จะอ่านบรรทัดนี้ครับ ซึ่งเราจะแก้ไขค่าข้างใน อะไรก็แก้ไป ให้ preview มาแล้วมันดูดีเหมือนเบราเซอร์อื่น
ส่วน *:first-child+html คำนี้มาจากไหน มีเหตุผลอะไร ทำไมต้องเขียนแบบนี้ ต้องบอกตามตรงว่า ไม่ทราบครับ รู้แต่ว่าเป็นช่องโหว่ของเบราเซอร์ ที่เมื่อเขียนแบบนี้แล้ว จะทำให้ ie7 อ่านได้แต่ เบราเซอร์อื่นจะไม่เห็น การ hack ของแต่ละเบราเซอร์ แต่ละเวอชั่น ก็จะมีรูปแบบต่างกันไปครับ





