ฉันเห็นโค้ด CSS นี้ในโครงการ:
html, body { :)width: 640px;}
ฉันเคยใช้ CSS มานานแล้ว แต่ฉันไม่เคยเห็นรหัส ":)" นี้มาก่อน มันหมายถึงอะไรหรือมันเป็นแค่การพิมพ์ผิด?
ฉันเห็นโค้ด CSS นี้ในโครงการ:
html, body { :)width: 640px;}
ฉันเคยใช้ CSS มานานแล้ว แต่ฉันไม่เคยเห็นรหัส ":)" นี้มาก่อน มันหมายถึงอะไรหรือมันเป็นแค่การพิมพ์ผิด?
คำตอบ:
จากบทความที่ javascriptkit.comนั้นใช้กับIE 7และรุ่นก่อนหน้า:
หากคุณเพิ่มอักขระที่ไม่ใช่ตัวอักษรและตัวเลขเช่นเครื่องหมายดอกจัน (
*
) ข้างหน้าชื่อคุณสมบัติคุณสมบัติจะถูกนำไปใช้ใน IE และไม่ใช่ในเบราว์เซอร์อื่น
ยังมีแฮ็คสำหรับ <= IE 8 :
div {
color: blue; /* All browsers */
color: purple\9; /* IE8 and earlier */
*color: pink; /* IE7 and earlier */
}
อย่างไรก็ตามนั่นไม่ใช่ความคิดที่ดีพวกเขาไม่ตรวจสอบ คุณสามารถทำงานร่วมกับความคิดเห็นที่มีเงื่อนไขเพื่อกำหนดเป้าหมายIEรุ่นที่เฉพาะเจาะจงได้เสมอ:
<!--[if lte IE 8]><link rel="stylesheet" href="ie-8.css"><![endif]-->
<!--[if lte IE 7]><link rel="stylesheet" href="ie-7.css"><![endif]-->
<!--[if lte IE 6]><link rel="stylesheet" href="ie-6.css"><![endif]-->
แต่สำหรับผู้ที่ต้องการเห็นการแฮ็กจริงโปรดเปิดหน้านี้ใน IE เวอร์ชันล่าสุดที่คุณมี F12จากนั้นไปที่โหมดนักพัฒนาซอฟต์แวร์ด้วยการทำ ในส่วนการจำลอง ( ctrl+ 8) เปลี่ยนโหมดเอกสารเป็น7
และดูว่าเกิดอะไรขึ้น
:)font-size: 50px;
ทรัพย์สินที่ใช้ในหน้าเป็น
:
หมายความว่าอย่างอื่น? มิฉะนั้นฉันใส่*********************font-size: "150%";
ไม่ได้ ฯลฯ
ดูเหมือนแฮ็ค CSS เพื่อกำหนดเป้าหมาย IE7 และเบราว์เซอร์ก่อนหน้านี้ แม้ว่านี่จะเป็น CSS ที่ไม่ถูกต้องและเบราว์เซอร์ควรละเว้น IE7 และก่อนหน้านี้จะแยกวิเคราะห์และเคารพกฎนี้ นี่คือตัวอย่างของการแฮ็คนี้:
CSS
body {
background: url(background.png);
:)background: url(why-you-little.png);
}
IE8 (ไม่สนใจกฎ)
IE7 (ใช้กฎ)
โปรดทราบว่าไม่จำเป็นต้องเป็นหน้ายิ้ม BrowserHacksกล่าวถึง:
การรวมกันของตัวละครเหล่านี้: [ก่อนที่ชื่อคุณสมบัติจะใช้งานได้] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |
GAH สุนัขร้อนเช่นยืนอยู่ที่นี่