2012-01-23 13 views
6

में लाइन पढ़ने से बचने के लिए आईई को कैसे निकालना है, क्या इंटरनेट एक्सप्लोरर को छोड़ना या सीएसएस स्टाइलशीट में एक लाइन पढ़ने से बचाना संभव है?आईई हैक स्टाइल शीट

मैं ज्यादातर आईई 8 से चिंतित हूं, लेकिन किसी भी संस्करण के लिए समाधान में रूचि रखता हूं।

+0

सुनिश्चित करें, लेकिन आपको अधिक विशिष्ट होना होगा, आईई का कौन सा संस्करण? –

+0

http://css-tricks.com/how-to-create-an-ie-only-stylesheet/ – Konerak

+0

@Madmartigan: मेरे पास है। कृपया लिंक पढ़ें। नीचे स्क्रॉल करें। 'हैक' का। – Konerak

उत्तर

6

शैलियों को पढ़ने से IE8 (और पुराने) को रोकने के लिए, बस अपने चयनकर्ता में कुछ उपयोग करें कि यह समर्थन नहीं करता है और अन्य सभी ब्राउज़र समर्थन करते हैं।

उदाहरण के लिए, अपने चयनकर्ता को :root जोड़ें। यहाँ एक उदाहरण है: http://jsfiddle.net/mathias/kX6tR/

.foo { background: red; } 
:root .foo { background: lime; } 

:root IE9 और अन्य सभी ब्राउज़र में समर्थित है, इसलिए यह एक safe CSS hack है।

+0

नाइस, बस एक ही चीज़ का सुझाव देने वाला था। यहाँ हैक की कोई ज़रूरत नहीं है। –

+0

यह मैंने देखा है सबसे उपयोगी "हैक्स" में से एक है। धन्यवाद। –

1

एक और विकल्प:

आईई अपने स्टाइलशीट में लाइन पढ़ने दें, और उसके बाद एक सशर्त टिप्पणी का उपयोग करके बाद में भरी हुई एक यानी विशिष्ट स्टाइलशीट में लाइन के ऊपर लिख:

http://www.quirksmode.org/css/condcom.html

कि जिस तरह से आप चयनकर्ता हैक्स से अपनी स्टाइलशीट मुक्त रखने के लिए मिलता है।

+0

+1, सशर्त बयान हैक आईएमएचओ से बेहतर हैं। – Tim

+1

+0 सशर्त सीएसएस फ़ाइलें एक रखरखाव दुःस्वप्न हैं और हमारे पास अन्य हैक-मुक्त विकल्प हैं। –

+0

अलग आईई-विशिष्ट स्टाइलशीट का उपयोग करना एक बहुत बुरा विचार है। कारण: http://mathiasbynens.be/notes/safe-css-hacks –

3

हैक्स को पूरी तरह से टालना हमेशा बेहतर होता है। आपके मामले में करने के लिए सही चीज आईई के लिए एक अलग स्टाइलशीट में अपने सीएसएस नियम को दोबारा परिभाषित करें और इसे मुख्य स्टाइल फ़ाइल के बाद शामिल करें।

<link rel="stylesheet" href="nice_browsers.css" /> 
<!--[if IE]> 
<link rel="stylesheet" href="dumb_ie.css" /> 
<![endif]--> 

इसके अतिरिक्त सामान्य ब्राउज़र दूसरी फ़ाइल डाउनलोड नहीं करेंगे, इसलिए कोई अतिरिक्त HTTP अनुरोध नहीं है। और मुख्य सीएसएस फ़ाइल मान्य होगी (यदि आप इसके बारे में परवाह करते हैं - और आपको शायद चाहिए)

+0

हैक्स को पूरी तरह से टालना हमेशा बेहतर होता है। सच है, लेकिन कौन है "हैक" का सुझाव दे रहा है या अनुरोध कर रहा है? –

+0

@Madmartigan हैक हैक है, भले ही इसे "सुरक्षित" माना जाता है। आप सही हैं और माथीस बायेंस का समाधान बिल्कुल ठीक है। हैक्स के साथ एकमात्र मुद्दा - वे आज काम करते हैं, लेकिन कल वे कुछ अप्रत्याशित तरीके से तोड़ सकते हैं या व्यवहार कर सकते हैं। लेकिन यह सिर्फ "शायद" है :) –

+0

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

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