2012-11-16 7 views
6

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

<!--[if IE 9]> 
<style> 
nav li a:hover { 
    text-decoration: underline; 
    color: black; 
} 
nav .four a:hover{ 
    color:white; 
} 
</style> 
<![endif]--> 

लेकिन मैं सीएसएस शीट में इन शर्तों करना चाहते हैं, ताकि यह सब एक ही स्थान पर स्थित है और मुझे प्रत्येक पृष्ठ में कोड दोहराना नहीं है। मैं आईई 9 के लिए सिर्फ एक अलग सीएसएस रखने से बचूंगा - मेरे पास पहले से ही आईई 7-8 के लिए एक है। मैं शैली पत्रक में इस की कोशिश की: (क्योंकि आईई 9 पाठ छाया का समर्थन नहीं करता है अपने एक nav bar के लिए फिक्स)

<!--[if IE 9]> 

nav li a:hover { 
    text-decoration: underline; 
    color: black; 
} 
nav .four a:hover{ 
    color:white; 
} 
<![endif]--> 

ऊपर कोड मेरी आईई 9 nav bar के लिए के लिए विशिष्ट है।

क्या सीएसएस स्टाइल शीट में ऐसा करने का कोई तरीका है?

उत्तर

6

सशर्त टिप्पणियां केवल HTML के लिए हैं, लेकिन अपने सीएसएस में इसका लाभ उठा सकते हैं। HTML5Boilerplate HTML तत्व (https://github.com/h5bp/html5-boilerplate/blob/master/index.html)

<!DOCTYPE html> 
<!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]>   <html class="no-js lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 

यह आपको एक हुक आप के लिए उपयोग कर सकते हैं देता है के लिए एक वर्ग जोड़कर इस करता है केवल आईई को लक्षित करना:

.lt-ie8 .my-style { color: red } 
+0

धन्यवाद, यह काम किया है। भावी परियोजनाओं के लिए अक्सर बॉयलरप्लेट का उपयोग शुरू करना होगा! –

0

यह मानक रूप से असंभव है। आईई में सशर्त ब्लॉक केवल HTML वेब पृष्ठों में उपयोग किया जा सकता है।

हालांकि, ब्राउज़र विक्रेता हमेशा माइक्रोसॉफ्ट समेत अपने सीएसएस पार्सर्स के साथ मजाकिया रहे हैं। तो हम कुछ संख्याओं को css hacks कहते हैं जिनका उपयोग कुछ पार्सर्स द्वारा किए गए कुछ नियमों के लिए किया जा सकता है लेकिन दूसरों द्वारा नहीं।

कृपया यह न करें कि यदि संभव हो तो यह कुछ बचा जाना चाहिए: स्टाइलशीट अब w3c अनुपालन नहीं करेगा, और यह निश्चित रूप से 'साफ' समाधान नहीं है (गंदे विरासत के कामकाज की तरह जो आईई 6 के अंधेरे शासनकाल के दौरान कॉमन्स थे) ।

+0

मुझे नहीं लगता कि आप सही चीज़ से जुड़े हुए हैं ... – Nathan

+0

ओह। खैर, कम से कम यह ऐसा नहीं है [यह] (http://www.digipedia.pl/usenet/thread/17198/42524/) गलत लिंकिंग! धन्यवाद –

+0

हाहा, यिक्स! मैं व्यावहारिक रूप से उस बग रिपोर्ट से निकलने वाली अजीबता महसूस करता हूं। – Nathan