सीएसएस में स्माइली का सामना ":)" से क्या है?


321

मैं एक परियोजना में इस सीएसएस कोड देखा:

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

मैं अब सीएसएस के साथ लंबे समय से रहा हूं, लेकिन मैंने पहले कभी इस ":)" कोड को नहीं देखा। क्या इसका कोई मतलब है या यह सिर्फ एक टाइपो है?


17
मुझे एक टाइपो लगता है। डेवलपर मज़ेदार होने की कोशिश कर रहा है, या शायद उसके लिए कोड के क्षेत्रों को चिह्नित करने का एक तरीका है जिसे वह खोजेगा?
ली

2
@stijn अभी भी कुछ अजीब विक्रेता विशिष्ट कोड हो सकता है ...
मार्क

22
@ Series0ne मैं यह लेता हूं कि आपने इंटरनेट एक्सप्लोरर तारांकन हैक को कभी नहीं देखा है।
नाइट

11
यदि यह वास्तव में एक ब्राउज़र हैक है, तो आप इसे समझाते हुए CSS फ़ाइल में एक टिप्पणी जोड़ना चाहेंगे।
user247702

32
मेरा अनुमान: कोड लेखक टाइप किया गया :) यह सोचकर कि आईएम क्लाइंट पर ध्यान केंद्रित किया गया था। जब यह नहीं था कि वे 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 वे पारंपरिक पात्र हैं जो आसानी के लिए उपयोग किए जाते हैं। हालाँकि यह सभी गैर-अल्फ़ान्यूमेरिक मूल्यों का निष्कर्ष निकालता है।
रेवो

1
मैं इस जवाब को सही के रूप में चिह्नित कर रहा हूं, हालांकि सलमान-ए भी सही था लेकिन एक छोटा सा धीमा है। मुझे इस हैक के बारे में पता था लेकिन हमेशा एक "*" का इस्तेमाल किया। जिसने इस पृष्ठ को किया वह एक जोकर है;)।
मार्क

1
मैं यहाँ कुछ याद करने के लिए पर्याप्त बेवकूफ हो सकता हूं, लेकिन वह 2 पात्रों का उपयोग क्यों कर सकता है? यह कहता है "गैर-अल्फ़ान्यूमेरिक जोड़ें", "एक या अधिक जोड़ें ..."। या :मतलब कुछ और है? अन्यथा, मैं नहीं डाल सकता *********************font-size: "150%";, आदि?
अधिकतम

1
बस इस जवाब के लिए एक अतिरिक्त हिस्सा फेंकने के लिए। उत्तर महान और सही है, लेकिन इस तथ्य को याद नहीं कर रहा है कि यह सबसे अच्छा अभ्यास नहीं है। एक सामान्य नियम के रूप में, आपको अपने ब्राउज़र का उपयोग करने वाले सभी ब्राउज़रों में सबसे अच्छा अनुभव देने के लिए अपनी पूरी कोशिश करनी चाहिए। उल्लेख नहीं करने के लिए, मेरी राय में, आपको उन ब्राउज़रों का समर्थन नहीं करना चाहिए जो कंपनी ने उन्हें बनाया है, जो अब और समर्थन नहीं करते हैं।
एलियनडेव

171

यह IE7 और पहले के ब्राउज़रों को लक्षित करने के लिए CSS हैक की तरह दिखता है। हालांकि यह है अवैध सीएसएस और ब्राउज़रों अनदेखा कर देना चाहिए यह, IE7 और पहले पार्स जाएगा और इस नियम का सम्मान। यहाँ इस हैक कार्रवाई में एक उदाहरण है:

सीएसएस

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

IE8 (नियम को अनदेखा करता है)

उदाहरण 1 - IE8

IE7 (नियम लागू होता है)

उदाहरण 1 - IE7

ध्यान दें कि यह एक स्माइली चेहरा नहीं है; BrowserHacks का उल्लेख:

इन वर्णों का कोई भी संयोजन: [संपत्ति के नाम से पहले] इंटरनेट एक्सप्लोरर: 7 पर काम करेगा
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |


जीएएच हॉट डॉग स्टैंड उदाहरण यहां है


62
जीएएच हॉट डॉग स्टैंड फ्लैशबैक
माइकइलियार

हाँ, IE8 से और ऊपर IE खुद को सीएसएस के अनुरूप मानता है और बिट द्वारा उनके सभी IE विशिष्ट सीएसएस फिक्स को तोड़ता है। (इसलिए हमें जावास्क्रिप्ट समाधानों का सहारा लेने की आवश्यकता है)
वेरनोज़

39
सभी साइटों को सभी <IE10 उपयोगकर्ताओं के लिए हॉट डॉग स्टैंड थीम का उपयोग करना चाहिए। +1
पीट टीएनटी

6
@ikkuh निष्पक्ष होने के लिए, IE11 एक काफी सभ्य और आज्ञाकारी ब्राउज़र है। वहाँ एक कारण है कि वे IE में सशर्त टिप्पणियों के लिए समर्थन छोड़ दिया है।
ajp15243

2
@ apj15243 हाँ, वे एक लंबा सफर तय कर चुके हैं और आशा करते हैं कि वे आगे बढ़ते रहेंगे, सच्चाई यह है कि मुझे अभी भी इसके लिए सशर्त समर्थन की आवश्यकता है, और यह केवल IE11 नहीं है, बल्कि 10,9 और 8 भी है। तो चलिए एक ऑटो की इच्छा करते हैं- साथ ही अद्यतन करें, व्यावसायिक कारणों के अलावा XP पर IE11 नहीं चलाने का कोई कारण नहीं है। लेकिन एक अलग चर्चा है।
वर्नूइज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.