หน้ายิ้มของ“ :)” หมายถึงอะไรใน CSS?


321

ฉันเห็นโค้ด CSS นี้ในโครงการ:

html, body { :)width: 640px;}

ฉันเคยใช้ CSS มานานแล้ว แต่ฉันไม่เคยเห็นรหัส ":)" นี้มาก่อน มันหมายถึงอะไรหรือมันเป็นแค่การพิมพ์ผิด?


17
ดูเหมือนว่าผิดพลาดสำหรับฉัน ผู้พัฒนาพยายามที่จะสนุกสนานหรืออาจเป็นวิธีที่เขาจะทำเครื่องหมายส่วนต่าง ๆ ของรหัสที่เขาหรือเธอจะมองหา?
ลี

2
@stijn ยังอาจเป็นรหัสเฉพาะของผู้ขายที่แปลก ...
ทำเครื่องหมาย

22
@ series0ne เอาล่ะคุณไม่เคยเห็นดอกจัน Internet Explorer
นิด

11
หากนี่คือแฮ็คของเบราว์เซอร์คุณจะต้องเพิ่มความคิดเห็นในไฟล์ CSS เพื่ออธิบายสิ่งนี้
user247702

32
ฉันเดา: ผู้เขียนโค้ดพิมพ์ :) คิดว่าโฟกัสอยู่ที่ไคลเอ็นต์ IM เมื่อพวกเขาไม่ได้คลิกเข้าสู่ไคลเอนต์ IM และดำเนินการจากที่นั่นไม่เคยรู้เลยว่าพวกเขาต้องการพิมพ์ยิ้มในที่ที่เคอร์เซอร์กำลังนั่งซึ่งเป็นไฟล์ CSS
นาธาน

คำตอบ:


279

จากบทความที่ 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;ทรัพย์สินที่ใช้ในหน้าเป็น


2
ฉันรู้เกี่ยวกับ "_" และ "*" ก่อนตัวเลือก แต่ไม่ใช่คนที่คุณพูด
valerio0999

2
@vlrprbttst เป็นอักขระทั่วไปที่ใช้เพื่อความสะดวก อย่างไรก็ตามมันสรุปค่าทั้งหมดที่ไม่ใช่ตัวอักษรและตัวเลข
revo

1
ฉันกำลังทำเครื่องหมายคำตอบนี้ว่าถูกต้องแม้ว่า salman-a ก็ถูกต้อง แต่ช้าลงเล็กน้อย ฉันรู้เรื่องแฮ็คนี้ แต่ใช้ "*" เสมอ คนที่ทำหน้านี้เป็นตัวตลก;)
ทำเครื่องหมาย

1
ฉันอาจโง่พอที่จะพลาดอะไรบางอย่างที่นี่ แต่ทำไมเขาถึงใช้ตัวละคร 2 ตัว? มีข้อความระบุว่า "เพิ่มตัวอักษรและตัวเลข" ไม่ใช่ "เพิ่มอย่างน้อยหนึ่งตัว ... " หรือ:หมายความว่าอย่างอื่น? มิฉะนั้นฉันใส่*********************font-size: "150%";ไม่ได้ ฯลฯ
สูงสุด

1
เพียงเพื่อเพิ่มส่วนพิเศษให้กับคำตอบนี้ คำตอบนั้นยอดเยี่ยมและถูกต้อง แต่ขาดความจริงที่ว่านี่ไม่ใช่วิธีปฏิบัติที่ดีที่สุด ตามกฎทั่วไปคุณควรทำอย่างดีที่สุดเพื่อมอบประสบการณ์ที่ดีที่สุดในเบราว์เซอร์ทั้งหมดที่ฐานผู้ใช้ของคุณใช้อยู่ ตามความเห็นของฉันคุณไม่ควรสนับสนุนเบราว์เซอร์ที่ บริษัท ที่ทำให้พวกเขาไม่สนับสนุนอีกต่อไป
AlienDev

171

ดูเหมือนแฮ็ค CSS เพื่อกำหนดเป้าหมาย IE7 และเบราว์เซอร์ก่อนหน้านี้ แม้ว่านี่จะเป็น CSS ที่ไม่ถูกต้องและเบราว์เซอร์ควรละเว้น IE7 และก่อนหน้านี้จะแยกวิเคราะห์และเคารพกฎนี้ นี่คือตัวอย่างของการแฮ็คนี้:

CSS

body {
    background: url(background.png);
    :)background: url(why-you-little.png);
}

IE8 (ไม่สนใจกฎ)

ตัวอย่างที่ 1 - IE8

IE7 (ใช้กฎ)

ตัวอย่างที่ 1 - IE7

โปรดทราบว่าไม่จำเป็นต้องเป็นหน้ายิ้ม BrowserHacksกล่าวถึง:

การรวมกันของตัวละครเหล่านี้: [ก่อนที่ชื่อคุณสมบัติจะใช้งานได้] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |


GAH สุนัขร้อนเช่นยืนอยู่ที่นี่


62
GAH ฮ็อตดอกยืนย้อนหลัง
MikeTheLiar

ใช่จาก IE8 และขึ้นไป IE คิดว่าตัวเองเป็นไปตาม CSS และเป็นบิตโดยบิตทำลายทั้งหมดแก้ไข CSS เฉพาะของ IE (ดังนั้นเราจึงต้องหันไปใช้โซลูชั่นจาวาสคริปต์)
Flip Vernooij

39
ไซต์ทั้งหมดควรใช้ชุดรูปแบบฮอทด็อกสำหรับผู้ใช้ <10 คน +1
Pete TNT

6
@ikkuh เพื่อความเป็นธรรม IE11 เป็นเบราว์เซอร์ที่เหมาะสมและเป็นธรรม มีเหตุผลที่พวกเขาไม่สนับสนุนการแสดงความคิดเห็นตามเงื่อนไข IE ในนั้น
ajp15243

2
@ apj15243 ใช่พวกเขามาไกลและหวังว่าพวกเขาจะดำเนินการต่อไปความจริงก็คือฉันยังต้องการการสนับสนุนตามเงื่อนไขและนั่นไม่เพียง แต่เป็น IE11 แต่ยังมี 10,9 และ 8 ดังนั้นขอให้อัตโนมัติ อัปเดตเช่นกันไม่มีเหตุผลที่จะไม่เรียกใช้ IE11 บน XP นอกเหนือจากเหตุผลทางการค้า แต่นั่นคือการสนทนาที่แตกต่าง
พลิก Vernooij
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.