2011-09-06 19 views
19

चूंकि आईई संस्करण 10 में सशर्त टिप्पणियों से छुटकारा पा रहा है, इसलिए मुझे आईई 10 विशेष रूप से लक्षित "सीएसएस हैक" खोजने की सख्त आवश्यकता है। ध्यान दें कि इसे चयनकर्ता होना चाहिए जो "हैक" हो रहा है और सीएसएस-गुण नहीं है।आईई 10 को लक्षित करने वाले विशिष्ट सीएसएस चयनकर्ता हैं?

मोज़िला में, आप उपयोग कर सकते हैं:

@-moz-document url-prefix() { 
    h1 { 
    color: red; 
    } 
} 

वेबकिट में रहते हुए, आप आमतौर पर करते हैं:

@media screen and (-webkit-min-device-pixel-ratio:0) { 
    h1 { 
    color: blue; 
    } 
} 

मैं IE10 में कुछ इसी तरह कैसे करना होगा?

+0

मैं सिर्फ आईई सशर्त टिप्पणी का उपयोग करता हूं। इसके अलावा, मेरे किसी भी मित्र या परिवार को आईई 10 के बारे में भी पता नहीं है। –

+7

आईई 10 शायद किसी भी हैक्स की आवश्यकता के लिए पर्याप्त मानकों के अनुरूप नहीं होगा। और टायलर, सवाल ने कहा कि यह सशर्त टिप्पणियों का समर्थन नहीं करता है। – BoltClock

+2

@ बोल्टक्लॉक दुर्भाग्यवश मानक अनुपालन वेब ब्राउज़र (वेबकिट/फ़ायरफ़ॉक्स/ओपेरा) में भी कुछ अजीब भिन्नताएं हैं, इस प्रकार सभी चयनकर्ताओं में एक पिक्सेल सही अनुभव बनाने का प्रयास करते समय @ -moz-document जैसे चयनकर्ता वास्तव में मदद करते हैं। भले ही मैं ब्राउज़रों को अपने उपयोगकर्ताओं के लिए थोड़ा अलग अनुभव दिखाने की एक बड़ी प्रशंसक हूं - मेरा ग्राहक नहीं करता है। – kunambi

उत्तर

33

निम्न उदाहरण इस

/* 
#ie10 will only be red in MSIE 10, 
both in high contrast (display setting) and default mode 
*/ 
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
    #ie10 { color: red; } 
} 

चेतावनी कैसे करना है: भी, शायद IE11 + में काम करेंगे।

+0

आपके इनपुट के लिए धन्यवाद, मैंने इसे एक उत्तर के रूप में स्वीकार किया। गीलेर यह आईई 11 को लक्षित करेगा या ऐसा कुछ नहीं है जो मुझे नहीं लगता कि हमें किसी के बारे में चिंता करनी चाहिए, कुछ समय के लिए :-) – kunambi

+5

यह खतरनाक सोच है। यहां तक ​​कि यदि आईई 11 आने से पहले यह एक लंबा समय है, तो इसका मतलब है कि कोड आपके दिमाग में कम ताजा होगा और शायद इसे ठीक करना मुश्किल होगा। इसके अलावा, कोई भी वास्तव में नहीं जानता कि आईई का अगला संस्करण कब आएगा, या आप जिस बग को काम कर रहे हैं उसे ठीक कर दिया जाएगा। मैं केवल इस तरह के एक हैक का उपयोग किसी ऐसे चीज़ के लिए करता हूं जो बाद के संस्करण में बग ठीक हो जाए तो टूट नहीं जाएगा। –

+1

बस इस विधि का उपयोग करने की कोशिश की। केवल देव पर्यावरण में काम करता है, उत्पादन नहीं। – agassi0430

3

जहां तक ​​मुझे पता है, ऐसा कोई सीएसएस चयनकर्ता मौजूद नहीं है। यदि आप विशेष रूप से आईई 10 को लक्षित करना चाहते हैं, तो तत्व पर ie10 नामक तत्व सेट करने के लिए केवल जावास्क्रिप्ट का थोड़ा सा क्यों न लिखें, फिर IE10 के लिए एक विशिष्ट शैलियों बनाएं?

2

मुझे यकीन नहीं है कि यह आपके चयनकर्ता बनाम संपत्ति आवश्यकताओं के अनुरूप है, लेकिन मैं आईई 7-9 में नकली text-shadow और आईई 10 में हैक को बंद करने के दौरान निम्न विधि के साथ आया हूं। IE10 में नई -ms-animation सामग्री का उपयोग करना महत्वपूर्ण है।

.header { 
    /* For browsers that support it to add a little more punch to a @font-face */ 
    text-shadow: rgba(100, 100, 100, 0.5) 0 0 2px; 

    /* Make IE7-9 do faux bold instead and then turn down the opacity to match */ 
    *font-weight: bold; 
    font-weight: bold\9; 
    *filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=75); 
    opacity: 0.75\9; 

    /* Uh oh! We've also caught IE10 in our above hack */ 

    /* But IE10 supports CSS3 animations. Will a high duration keep CPU usage down? */ 
    -ms-animation: text-shadow 60s infinite; 
} 

/* Define the animation */ 
@-ms-keyframes text-shadow { 
    0%, 100% { 
     font-weight: normal; 
     opacity: 1; 
    } 
} 
+6

यह स्पष्ट रूप से पागल आदमी का काम है! –

5

http://rafael.adm.br/css_browser_selector/ से सीएसएस ब्राउज़र चयनकर्ता का उपयोग करके आप कोड में एक सरल + जोड़ सकते हैं और अपने सीएसएस से IE10 को कॉल कर सकते हैं।

/msie\s(\d)/ के लिए देखो और इसे /msie\s(\d+)/ पर बदलें।

अब आप अपने सीएसएस में

सिर्फ इसलिए की तरह अपने चयनकर्ता से पहले .ie10 जोड़ें:

.ie10 .class-name { width: 100px; }
.class-name { width: 90px; }

अब आप देखना चाहिए IE10 100px चौड़ाई और सभी अन्य ब्राउज़र गुणित 90px चौड़ाई प्रतिपादन प्रतिपादन।

संबंधित मुद्दे