2009-09-08 8 views
13

उदाहरण:क्या सीएसएस के साथ सूची में एनएचटी आइटम छिपाने का कोई तरीका है?

<ul class="mybuttons"> 
    <li class="mybutton"></li> 
    <li class="mybutton"></li> 
    <li class="mybutton"></li> 
</ul> 

यह सीएसएस का उपयोग कर 2 आइटम को छिपाने के लिए संभव है?

+0

धन्यवाद। – GollyJer

+0

यह महत्वपूर्ण है क्योंकि यदि आपके पास अपने नौकरी के शीर्षक में "डिजाइनर" शब्द है तो आपको http://www.doctype.com पर सवाल पूछना चाहिए। अन्यथा सवाल SO पर यहां ठीक है। मैंने बस इसे यादृच्छिक रूप से नहीं पूछा – EBGreen

+0

आपको अपना नौकरी शीर्षक कहां मिल रहा है? – GollyJer

उत्तर

27

nth-child वास्तव में सीएसएस तरीका है।

शुद्ध सीएसएस में, वाक्य रचना बस भी इस मामले में

li.mybutton:nth-child(2){ 
    display:none; 
} 

nth-of-type(2) काम करता है।

संपादित करें: हालांकि यह सीएसएस उत्तर है, जैसा कि ध्यान दिया गया है, यह CSS3 है और only in some browsers लागू किया गया है। आईई और एफएफ 3 और नीचे इस मूल रूप से समर्थन नहीं करते हैं। एफएफ 3.5, कॉन्करर में और क्रोम, सफारी और ओपेरा में गलत तरीके से कार्यान्वित किया गया। nth-of-type() कार्यान्वयन बेहतर हैं।

पुराने ब्राउज़रों में समर्थन के लिए जावास्क्रिप्ट (jQuery, et al के साथ सरलीकृत) की आवश्यकता होगी। jQuery चयनकर्ता को Selectors/nthChild दस्तावेज़ों में वर्णित किया गया है, और उपर्युक्त $("li.mybutton:nth-child(2)").hide() के साथ पूरा किया जा सकता है।

+2

पूरी तरह से काम किया। धन्यवाद बिल रिकॉर्ड के लिए यह एक CSS3 कार्यान्वयन है और, जैसा कि जॉन गैलोवे कहते हैं, केवल 'आधुनिक' ब्राउज़र द्वारा समर्थित है। http://www.webdevout.net/browser-support-css#css3pseudoclasses – GollyJer

+1

मुझे नहीं लगता कि यह अभी एक वास्तविक समाधान है जब तक कि आप अपने उपयोगकर्ताओं को गैर-आईई ब्राउज़र के नवीनतम संस्करण चलाने की आवश्यकता नहीं कर सकते। –

+0

@ जोन, यह * उसके * प्रश्न का असली समाधान है। उन्होंने सीएसएस के लिए कहा और इसे सीएसएस टैग किया, इसलिए मैंने उन्हें सीएसएस जवाब दिया। लेकिन, मैं जवाब में एक चेतावनी जोड़ दूंगा। –

8

n-th child pseudo selectors ऐसा करें, लेकिन वे अभी तक व्यापक रूप से समर्थित नहीं हैं और थोड़ी देर के लिए नहीं होंगे। आपको या तो जावास्क्रिप्ट/jQuery की आवश्यकता होगी या उन वस्तुओं के लिए एक विशेष कक्षा लिखने के लिए जिन्हें आप छिपाना चाहते हैं या बस आइटम को सीधे छुपाएं।

यहाँ कैसे आप jQuery के साथ यह कर करेंगे:

$("ul.mybuttons li:nth-child(2)").hide(); 
+0

धन्यवाद। स्पष्टीकरण के लिए ... JQuery में आंतरिक प्रक्रियाएं हैं जो पैरामीटर के रूप में पारित CSS3 छद्म चयनकर्ताओं को संसाधित करती हैं जिससे इस समाधान को ब्राउज़र को संगत बना दिया जाता है? इस प्रश्न के प्रयोजन के लिए मेरे पास केवल सीएसएस तक पहुंच है लेकिन भविष्य की परियोजनाओं के लिए मेरी समझ को सत्यापित करने के लायक है। एक बार फिर धन्यवाद। – GollyJer

+1

हां, jQuery का एक बहुत ही उन्नत चयनकर्ता इंजन है जो CSS3 + को संभालता है और आईई 6 के लिए पिछड़ा संगत है। –

0
ul.mybuttons li:first-child { 
    display:none; 
} 
0

मैं पहली बार स्थापित करेगा वर्ग = "hidden_li" HTML फ़ाइल में के रूप में दूसरा ली।

उदाहरण:

<ul class="mybuttons"> 
<li class="mybutton"></li> 
<li class="mybutton" class="hidden_li"></li> 
<li class="mybutton"></li> 
</ul> 

तब मैं इसे इस तरह शैली होगा: इस सवाल का इतना मूल्य जोड़ने के लिए

.hidden_li{ 
    visibility : hidden; 
    height : 0px; 
    width : 0px; 
    margin : 0px; 
    padding : 0px; 
    overflow : hidden; 
} 
संबंधित मुद्दे