Home > CSS hacks > CSS Hack IE7

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 ของแต่ละเบราเซอร์ แต่ละเวอชั่น ก็จะมีรูปแบบต่างกันไปครับ

Related Articles

  • Share/Bookmark
Categories: CSS hacks
Tags:

About the author

Webmaster ของเว็บนี้และ www.toysmile.com กับ www.wondercutie.com ความสามารถ : web design, graphic design, CSS, PHP programming, wordpress, magento ตอนนี้กำลังสนใจ : การออกแบบ ตัวการ์ตูน คาแรคเตอร์ ^^

Website : http://www.divland.com

Facebook : http://www.facebook.com/divland

Twiter : http://twitter.com/divland


  1. pommatt
    July 2nd, 2007 at 23:39 | #1

    ” งงครับช่วยอธิบายให้เข้าใจหน่อยจิ ขอบคุณนะ:”>

  2. dech
    July 3rd, 2007 at 12:18 | #2

    8-| ใช่แล้วครับ อ่านแล้วงงอ่ะ ช่วยอธิบายเพิ่มหน่อยครับ

  3. July 16th, 2007 at 19:26 | #3

    Hi,
    this is a nice information…:)

  4. September 22nd, 2007 at 18:05 | #4

    หากจะใช้ conditional comment อย่างที่คุณ loptar ว่า ก็ถูกต้องครับ ถ้าต้องการจะให้เว็บผ่าน validate ด้วย แต่ถ้าจะใช้ผมขอแนะนำว่า ให้ใช้คอนดิชั่น คอมเม้น เพื่อเรียก css อีกตัวนึง อาจจะตั้งชื่อว่า ie7.css เพราะ conditional comment จะฝังไปใน html ทุกๆหน้า ไม่เหมือนกับถ้าเรา hack ใน css จะแก้แค่ที่เดียว

    หากใช้ ตามที่ผมแนะนำ ก็จะยังคงแก้ที่เดียวเหมือนเดิมครับ

  5. มดแดง
    October 19th, 2007 at 10:13 | #5

    อืม ตามคิดว่าตามที่คุณ admin said พูดก็ถูกนะคับ ..อิอิ
    คนอื่นเห็นด้วยหรือเปล่าคับ:d/

  6. March 9th, 2008 at 13:21 | #6

    เหนด้วย ๆ กะ ท่าน admin หุหุ

    ขอบคุณมากคะสำหรับความรู้ :)

  7. June 10th, 2008 at 00:15 | #7

    อืมมดีไปอีกแบบ

  8. thank
    March 10th, 2009 at 11:13 | #8

    ขอบคุณครับ

    อีก 1 ความรู้

  9. gorn
    September 27th, 2009 at 18:13 | #9

    คือผมเขียนเว็บเว็บนึง แล้วเมนู ลิ้งค์ ผมมันเด้งไปอยู่บนสุดเลย
    มีวิธีแก้ไขอย่างไรคับ IE7 ส่วน firefox และตัวอื่นๆไม่มีปัญหาคับ
    มีแต่ IE7

  10. December 6th, 2009 at 12:50 | #10

    ข้อมูลดีๆแบบนี้หามาบอกกันเรื่อยๆนะครับ

  11. December 6th, 2009 at 12:52 | #11

    ความรู้แบบนี้ชอบจริงๆ

  12. kan
    June 18th, 2010 at 16:51 | #12

    แล้วถ้าเป็นการเขียนกับ web portal ยังคงใช้แบบนี้เหรอค่ะ คือแบบว่าถ้าเป็นเว็บที่ไม่มี body จะเอาไปไว้ที่ไหนค่ะ

  1. No trackbacks yet.