अधिकांश ब्राउज़रों में दिए गए मानक चेकबॉक्स काफी छोटे हैं और बड़े फ़ॉन्ट का उपयोग करने पर भी आकार में वृद्धि नहीं करते हैं। बड़ा चेकबॉक्स प्रदर्शित करने के लिए सबसे अच्छा, ब्राउज़र-स्वतंत्र तरीका क्या है?
अधिकांश ब्राउज़रों में दिए गए मानक चेकबॉक्स काफी छोटे हैं और बड़े फ़ॉन्ट का उपयोग करने पर भी आकार में वृद्धि नहीं करते हैं। बड़ा चेकबॉक्स प्रदर्शित करने के लिए सबसे अच्छा, ब्राउज़र-स्वतंत्र तरीका क्या है?
जवाबों:
यदि यह किसी की मदद कर सकता है, तो यहां एक सरल सीएसएस एक जंपिंग पॉइंट के रूप में है। यह एक मूल गोल वर्ग में बदल जाता है जो अंगूठे वाले पृष्ठभूमि रंग के साथ अंगूठे के लिए काफी बड़ा होता है।
input[type='checkbox'] {
-webkit-appearance:none;
width:30px;
height:30px;
background:white;
border-radius:5px;
border:2px solid #555;
}
input[type='checkbox']:checked {
background: #abd;
}
<input type="checkbox" />
वास्तव में उन्हें बड़ा बनाने का एक तरीका है, चेकबॉक्स कुछ और (यहां तक कि एक फेसबुक बटन की तरह एक iframe)।
उन्हें "ज़ूम" तत्व में लपेटें:
.double {
zoom: 2;
transform: scale(2);
-ms-transform: scale(2);
-webkit-transform: scale(2);
-o-transform: scale(2);
-moz-transform: scale(2);
transform-origin: 0 0;
-ms-transform-origin: 0 0;
-webkit-transform-origin: 0 0;
-o-transform-origin: 0 0;
-moz-transform-origin: 0 0;
}
<div class="double">
<input type="checkbox" name="hello" value="1">
</div>
यह थोड़ा "rescaled" लग सकता है लेकिन यह काम करता है।
बेशक आप उस div float: left को बना सकते हैं और इसके अलावा अपना लेबल लगा सकते हैं, float: left भी।
zoom: 2
और transform: scale(2)
सीधे चेकबॉक्स के लिए लागू किया जा सकता है? इसे एक आवरण की आवश्यकता क्यों है?
इस सीएसएस की कोशिश करो
input[type=checkbox] {width:100px; height:100px;}
यहां एक ट्रिक है जो सीएसएस केवल एक समाधान के रूप में सबसे हालिया ब्राउज़रों (IE9 +) में काम करता है जिसे IE8 और नीचे का समर्थन करने के लिए जावास्क्रिप्ट के साथ सुधार किया जा सकता है।
<div>
<input type="checkbox" id="checkboxID" name="checkboxName" value="whatever" />
<label for="checkboxID"> </label>
</div>
label
आप जिस चेकबॉक्स को देखना चाहते हैं, उसके साथ स्टाइल करें
#checkboxID
{
position: absolute fixed;
margin-right: 2000px;
right: 100%;
}
#checkboxID + label
{
/* unchecked state */
}
#checkboxID:checked + label
{
/* checked state */
}
जावास्क्रिप्ट के लिए, आप राज्य को दिखाने के लिए लेबल में कक्षाएं जोड़ पाएंगे। इसके अलावा, निम्नलिखित कार्य का उपयोग करना बुद्धिमानी होगी:
$('label[for]').live('click', function(e){
$('#' + $(this).attr('for') ).click();
return false;
});
#checkboxID
शैलियों को संशोधित करने के लिए संपादित करें
मैं writtinga फोनगैप ऐप हूं, और चेकबॉक्स आकार, रूप आदि में भिन्न हैं, इसलिए मैंने अपना खुद का साधारण चेकबॉक्स बनाया:
पहले HTML कोड:
<span role="checkbox"/>
फिर सीएसएस:
[role=checkbox]{
background-image: url(../img/checkbox_nc.png);
height: 15px;
width: 15px;
display: inline-block;
margin: 0 5px 0 5px;
cursor: pointer;
}
.checked[role=checkbox]{
background-image: url(../img/checkbox_c.png);
}
चेकबॉक्स स्थिति को टॉगल करने के लिए, मैंने JQuery का उपयोग किया:
CLICKEVENT='touchend';
function createCheckboxes()
{
$('[role=checkbox]').bind(CLICKEVENT,function()
{
$(this).toggleClass('checked');
});
}
लेकिन यह आसानी से इसके बिना किया जा सकता है ...
आशा है कि यह मदद कर सकता है!
शुद्ध आधुनिक 2020 सीएसएस केवल निर्णय, बिना धुंधली स्केलिंग या गैर-सुविधाजनक रूपांतरण के। और टिक के साथ! =)
फ़ायरफ़ॉक्स और क्रोमियम-आधारित ब्राउज़रों में अच्छा काम करता है।
तो, आप अपने चेकबॉक्स को शुद्ध रूप से ADAPTIVE कर सकते हैं , बस पेरेंट ब्लॉक सेट करके font-height
और यह टेक्स्ट के साथ बढ़ेगा!
input[type='checkbox'] {
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
vertical-align: middle;
outline: none;
font-size: inherit;
cursor: pointer;
width: 1.0em;
height: 1.0em;
background: white;
border-radius: 0.25em;
border: 0.125em solid #555;
position: relative;
}
input[type='checkbox']:checked {
background: #adf;
}
input[type='checkbox']:checked:after {
content: "✔";
position: absolute;
font-size: 90%;
left: 0.0625em;
top: -0.25em;
}
<label for="check1"><input type="checkbox" id="check1" checked="checked" /> checkbox one</label>
<label for="check2"><input type="checkbox" id="check2" /> another checkbox</label>