2009-02-20 7 views
6

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

उत्तर

17

आईई सशर्त (एच) एचटीएमएल में जाते हैं, और इन्हें अतिरिक्त सीएसएस फ़ाइल शामिल करने के लिए इस्तेमाल किया जाना चाहिए जो आईई हैक्स के लिए आवश्यक सीएसएस को ओवरराइट करेगा।


उदाहरण:

<head> 
    <style type="text/css"> 
    @import url(/styles.css); 
    </style> 
    <!--[if lte IE 6]> 
     <link rel="stylesheet" type="text/css" href="ie6.css" /> 
    <![endif]--> 
</head> 
2

[सशर्त टिप्पणियों] (http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx) एचटीएमएल टिप्पणी तुम सिर्फ करने के लिए विशिष्ट सीएसएस नियम उद्देश्य के लिए चाहते हैं कर रहे हैं और इस तरह एक सीएसएस संदर्भ में नहीं किया जा सकता

। आईई, आपको सीएसएस हैक्स का उपयोग करना होगा।

11

मैंने अपना क्यू jQuery से लिया है और कंटेनर तत्व बनाने के लिए मेरे सशर्त स्वरूपण का उपयोग

<body class="center"> 
<!--[if IE 5]><div id="ie5" class="ie"><![endif]--> 
<!--[if IE 6]><div id="ie6" class="ie"><![endif]--> 
<!--[if IE 7]><div id="ie7" class="ie"><![endif]--> 
<!--[if IE 8]><div id="ie8" class="ie"><![endif]--> 
    <div class="site text-left"> 

    </div> 
<!--[if IE]></div><![endif]--> 
</body> 

तो मैं इस तरह के

.site { width:500px; } 
.ie .site { width:400px; } 
#ie5 .site { width:300px; } 
+0

मैं इस चाल का उपयोग स्वयं करता हूं। यह आपकी सीएसएस फाइलों को व्यवस्थित करता है * और * आपको चयनकर्ता परिशुद्धता के बारे में चिंता करने से रोकता है। –

+0

दिलचस्प दृष्टिकोण, मैंने इसे पहले नहीं देखा था। मैं व्यक्तिगत रूप से अपने सीएसएस की तुलना में अपने मार्कअप को साफ रखूंगा। लेकिन प्रत्येक को उनके स्वयं के लिए! निफ्टी चाल के लिए –

+0

+1। – Ishmael

3

वहाँ सीएसएस में ऐसी कोई सशर्त, जैसे सीएसएस में सशर्त जानकारी रख सकते हैं, लेकिन आप उपयोग कर सकते हैं "होली हैक" अगर IE के विभिन्न संस्करणों के बीच मतभेद नहीं हैं 'टी महत्वपूर्ण:

div.class { /* whatever */ } 
* html div.class { /* IE-only */ } 
+0

AFAIK, उन्होंने IE8 से '* html' को हटा दिया। – bendewey

+0

और भी बेहतर। यह चाल केवल आईईएस <= 7 में वास्तव में जरूरी है। – greyfade

1

मैं समाधान bendewey द्वारा प्रस्तावित करने के लिए कुछ इसी तरह का उपयोग करने के, लेकिन इसके बजाय HTML टैग के आसपास सशर्त वर्गों के लिए जाना की सिफारिश करेंगे। जहाँ तक मैं यह जानता हूँ के रूप में पहली पॉल आयरिश के ब्लॉग (http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/)

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]--> 
<!--[if IE 7 ]> <html class="ie7"> <![endif]--> 
<!--[if IE 8 ]> <html class="ie8"> <![endif]--> 
<!--[if IE 9 ]> <html class="ie9"> <![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]--> 

में उल्लेख किया गया था और उसके बाद सीएसएस में आप का उपयोग करें:

.box {background: blue;} 
.ie7 .box {background: green;} 

यह समाधान एक अतिरिक्त का उपयोग कर की तुलना में कुछ फायदे हैं div। विवरण के लिए उपरोक्त पद की जांच करें।

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