2011-12-23 7 views
59

<select> तत्व में वर्तमान में चयनित <option> तत्व शैली को शैली देने का कोई तरीका है?सीएसएस: चयनित छद्म वर्ग के समान: चेक किया गया, लेकिन <select> तत्व

मैं वर्तमान में चयनित विकल्प तत्व के लिए पृष्ठभूमि रंग दे सकता हूं? इस तरह मैं उस विकल्प को स्टाइल कर सकता हूं जो वर्तमान में बंद ड्रॉपडाउन में देखने योग्य है।

उत्तर

81

:checked छद्म वर्ग शुरू में ऐसे तत्वों HTML4 selected है और checked जिम्मेदार बताते हैं कि करने के लिए लागू होता है

स्रोत: w3.org


तो, यह सीएसएस काम करता है, हालांकि color स्टाइल प्रत्येक ब्राउज़र में संभव नहीं है:

option:checked { color: red; } 

कार्रवाई में इसका एक उदाहरण, ड्रॉप डाउन सूची से वर्तमान में चयनित आइटम को छुपाएं। आप केवल शैली कर सकते हैं

select { color: red; } 
option:not(:checked) { color: black; } /* or whatever your default style is */ 
+1

आप इसे परीक्षण किया? यह एफएफ 8 पर मेरे लिए काम नहीं करता है (http://jsfiddle.net/UUznB/)। * अद्यतन: * यह क्रोमियम 15 में भी काम नहीं करता है। – FakeRainBrigand

+0

हां, यह शैलियों ड्रॉपडाउन सूची में चयनित विकल्प है, लेकिन बंद दृश्यमान क्षेत्र में नहीं। –

+1

@FakeRainBrigand मैंने सत्यापित किया कि यह क्रोम 16 में काम करता है। – Emmett

12

असल:

option:checked { display:none; }
<select> 
 
    <option>A</option> 
 
    <option>B</option> 
 
    <option>C</option> 
 
</select>


वर्तमान में चयनित विकल्प में लटकती रूप में अच्छी तरह से बंद कर दिया शैली के लिए, आप तर्क पीछे की कोशिश कर सकते पर कुछ सीएसएस गुण: संशोधित ऑप्ट आयन तत्व color काम नहीं करता है, background-color या तो, लेकिन आप background-image सेट कर सकते हैं।

आप इसे चाल करने के लिए ग्रेडियेंट के साथ जोड़ सकते हैं। छिपकली/वेबकिट पर

option:hover, 
 
option:focus, 
 
option:active, 
 
option:checked { 
 
    background: linear-gradient(#5A2569, #5A2569); 
 
}
<select> 
 
    <option>A</option> 
 
    <option>B</option> 
 
    <option>C</option> 
 
</select>

काम करता है।

+0

स्वीकार्य उत्तर मेरे लिए काम नहीं करता है, लेकिन इस समाधान ने किया। धन्यवाद! –

+0

अब क्रोम 58 काम नहीं कर रहा है – egr103

-1

यह मेरे लिए काम किया:

select option { 
    color: black; 
} 
select:not(:checked) { 
    color: gray; 
} 
संबंधित मुद्दे