जवाबों:
CSS 2 के साथ आप यह कर सकते हैं:
input[type='checkbox'] { ... }
यह अब तक व्यापक रूप से समर्थित होना चाहिए। ब्राउज़रों के लिए समर्थन देखें
outline, नहीं border।
मैं लेबल के बिना अपना समाधान बनाता हूं
input[type=checkbox] {
position: relative;
cursor: pointer;
}
input[type=checkbox]:before {
content: "";
display: block;
position: absolute;
width: 16px;
height: 16px;
top: 0;
left: 0;
border: 2px solid #555555;
border-radius: 3px;
background-color: white;
}
input[type=checkbox]:checked:after {
content: "";
display: block;
width: 5px;
height: 10px;
border: solid black;
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top: 2px;
left: 6px;
}
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
input[type=checkbox] {
position: relative;
cursor: pointer;
}
input[type=checkbox]:before {
content: "";
display: block;
position: absolute;
width: 20px;
height: 20px;
top: 0;
left: 0;
background-color:#e9e9e9;
}
input[type=checkbox]:checked:before {
content: "";
display: block;
position: absolute;
width: 20px;
height: 20px;
top: 0;
left: 0;
background-color:#1E80EF;
}
input[type=checkbox]:checked:after {
content: "";
display: block;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
top: 2px;
left: 6px;
}
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
कुछ ऐसा जो मैंने हाल ही में रेडियो बटन्स और चेकबॉक्स स्टाइल करने के लिए खोजा। इससे पहले, मुझे jQuery और अन्य चीजों का उपयोग करना था। लेकिन यह मूर्खतापूर्ण सरल है।
input[type=radio] {
padding-left:5px;
padding-right:5px;
border-radius:15px;
-webkit-appearance:button;
border: double 2px #00F;
background-color:#0b0095;
color:#FFF;
white-space: nowrap;
overflow:hidden;
width:15px;
height:15px;
}
input[type=radio]:checked {
background-color:#000;
border-left-color:#06F;
border-right-color:#06F;
}
input[type=radio]:hover {
box-shadow:0px 0px 10px #1300ff;
}
तुम्हें पता है, एक चेकबॉक्स के लिए भी ऐसा ही स्पष्ट रूप से बदल सकते हैं input[type=radio]करने के लिए input[type=checkbox]और परिवर्तन border-radius:15px;करने के लिए border-radius:4px;।
आशा है कि यह आपके लिए कुछ उपयोगी है।
कक्षाएं भी अच्छी तरह से काम करती हैं, जैसे:
<style>
form input .checkbox
{
/* your checkbox styling */
}
</style>
<form>
<input class="checkbox" type="checkbox" />
</form>
formइनपुट नियंत्रण को डिफ़ॉल्ट सबमिट नियंत्रण से जोड़ने के लिए टैग आवश्यक नहीं होंगे ?
input[type="checkbox"] {
/* your style */
}
लेकिन यह केवल IE7 और उससे नीचे के ब्राउज़रों के लिए काम करेगा, जिनके लिए आपको एक वर्ग का उपयोग करना होगा।
जैसा कि IE6 विशेषता चयनकर्ताओं को नहीं समझता है, आप केवल डीन एडवर्ड्स द्वारा IE6 (सशर्त टिप्पणियों के साथ) और jQuery या IE7.js द्वारा देखी गई स्क्रिप्ट को जोड़ सकते हैं ।
IE7 (.js) Microsoft इंटरनेट एक्सप्लोरर को एक मानक-अनुरूप ब्राउज़र की तरह व्यवहार करने के लिए एक जावास्क्रिप्ट पुस्तकालय है। यह कई HTML और CSS समस्याओं को ठीक करता है और IE5 और IE6 के तहत पारदर्शी PNG को सही ढंग से काम करता है।
कक्षाओं या jQuery या IE7.js का उपयोग करने का विकल्प आपकी पसंद-नापसंद और आपकी अन्य जरूरतों (शायद PNG-24 पारदर्शिता पर आपकी साइट पर निर्भर करता है) PNG-8 पर पूरी पारदर्शिता के साथ भरोसा किए बिना है जो IE6 पर 1-बिट पारदर्शिता पर निर्भर करता है। - केवल पटाखे और pngnq, आदि द्वारा बनाई गई)
यद्यपि CSS आपको स्टाइल को चेकबॉक्स प्रकार या किसी अन्य प्रकार के लिए विशिष्ट करने का एक तरीका प्रदान करता है, लेकिन ऐसे ब्राउज़र के साथ समस्याएँ होने वाली हैं जो इसका समर्थन नहीं करते हैं।
मुझे लगता है कि इस मामले में आपका एकमात्र विकल्प आपके चेकबॉक्स पर कक्षाएं लागू करने वाला है।
बस अपने चेकबॉक्स में वर्ग = "चेकबॉक्स" जोड़ें।
फिर उस स्टाइल को अपने css कोड में बनाएं।
एक चीज जो आप कर सकते हैं वह यह है:
main.css
input[type="checkbox"] { /* css code here */ }
ie.css
.checkbox{ /* css code here for ie */ }
तो IE विशिष्ट सीएसएस का उपयोग शामिल हैं:
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->
आपको IE में काम करने के लिए अभी भी कक्षा को जोड़ना होगा, और यह अन्य गैर-IE ब्राउज़र में काम नहीं करेगा जो IE का समर्थन नहीं करता है। लेकिन यह आपकी वेबसाइट को css कोड के साथ फॉरवर्ड-थिंकिंग बना देगा और जैसा कि IE को सपोर्ट मिलता है, आप चेकबॉक्स से css क्लासेस को भी हटा सकते हैं।