2010-09-24 10 views
6

मैं निम्नलिखित कोड है:: सीएसएस और इंटरनेट एक्सप्लोरर में पिछले वाले बच्चे छद्म वर्ग चयनकर्ता

ul.myList li{ 
    border-right: 1px dotted #000; 
} 

हालांकि, पिछले तत्व पर, मैं डिजाइन है कि मैं तय कर से काम कर रहा हूँ के रूप में है कि सीमा को हटाने की जरूरत कि अंतिम आइटम को एक विभाजक के रूप में सीमा की आवश्यकता नहीं है।

तो, मैं एक सूची के अंतिम बच्चे लक्षित करने की आवश्यकता है और इसलिए मेरे सीएसएस के भीतर मैं

ul.myList li:last-child{ 
    border-right: none; 
} 

कौन सा रूप में हम सभी जानते हैं, फायरफॉक्स, सफारी और क्रोम में ठीक काम करता है जोड़ लिया है।

समस्या है जब हम देखने इंटरनेट में पेज के माध्यम से 8. IE8 < को

उत्तर

11

तो, कुछ चारों ओर से खुदाई के बाद, मैं इस सवाल का जवाब मिल गया :

ul.myList li{ 
    border-right: expression(this.nextSibling==null?'none':'inherit'); 
} 

nextSibling अभिव्यक्ति अगर वहाँ यह करने के बाद एक तत्व है देखने के लिए लग रहा है और शासन टी में निर्दिष्ट विरासत में अगर कोई है वह डिफ़ॉल्ट स्टाइलशीट, अगर नहीं तो यह एक नया नियम लागू करता है।

अधिक जानकारी here

+1

+1 यह भयानक पाया जा सकता है, लेकिन यह सिर्फ काम हो सकता है। आईई के लिए एक व्यावहारिक समाधान के साथ आने के लिए मेरे अलावा एक। (और आईई के लिए एक लाख अंक कम करने के लिए हमें इस तरह हैक को पहले स्थान पर आने के लिए)। वर्थ इंगित करते हुए कि IE9 (वर्तमान में बीटा में) इसका समर्थन कर सकता है, इसलिए आप IE [i IE] को IE8 या केवल निम्न के लिए समायोजित करना चाहते हैं। – Spudley

+0

उत्तर के लिए धन्यवाद, अगर आईई 9 इसका समर्थन करेगा तो मैं 100% नहीं था। मैं आईई 8 और उसके बाद के प्रतिबिंबित करने के लिए अपनी पोस्ट को समायोजित करूंगा। –

+1

आईई 9 अपने स्वयं के दस्तावेज के अनुसार इसका समर्थन करेगा .. हालांकि विश्वसनीय है। – Kyle

2

इस छद्म चयनकर्ता का समर्थन नहीं करता 6 का अन्वेषण करें। सभी समर्थित सुविधाओं के लिए MSDN article देखें :)

आप इस jQuery समाधान को Enable pseudo selectors in IE पर देख सकते हैं, या इसे केवल आईई में छोड़ दें।

1

आप jQuery का उपयोग कर ऐसा कर सकते हैं। तो सीएसएस पर भरोसा करने के बजाय। अपने अंतिम तत्व की संपत्ति सेट करने के लिए jQuery चयनकर्ताओं का उपयोग करें। मैं समझता हूं कि आपने इसके साथ अपने प्रश्न को टैग किया है।

jQuery('ul.myList li:last-child').css("Key","value"); 
2

के रूप में इंटरनेट एक्सप्लोरर से पहले संस्करण 9 (जो विकास में अब भी है) सब पर :last-child चयनकर्ता का समर्थन नहीं करता, मेरे सबसे अच्छा समाधान, दुर्भाग्य से, अपनी सूची में एक वर्ग या पिछले तत्व पर आईडी स्थापित करने के लिए किया जाएगा और इसे चुनने का प्रयास करें।

बेशक, अगर आईई के लिए दाएं सीमा को छोड़कर लेआउट पूरी तरह से तोड़ नहीं जाएगा, तो आप अपने कोड को छोड़ना चाहेंगे, अगर आपको कोई फर्क नहीं पड़ता कि आईई थोड़ा सा प्रतिपादन कर रहा है।

ब्राउज़र आईई < 8 है, तो इस तरह की एक स्टाइलशीट निर्दिष्ट करें::

<!--[if lt IE 8]> 
<link rel="stylesheet" href="css/ie_all.css" type="text/css" /> 
<![endif]--> 

और अपने IE स्टाइलशीट भीतर निम्नलिखित नियम निर्दिष्ट

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