ช่องทำเครื่องหมายมาตรฐานที่แสดงในเบราว์เซอร์ส่วนใหญ่มีขนาดค่อนข้างเล็กและไม่เพิ่มขนาดแม้ว่าจะใช้แบบอักษรขนาดใหญ่ วิธีใดที่ดีที่สุดและไม่ขึ้นกับเบราว์เซอร์ในการแสดงช่องทำเครื่องหมายขนาดใหญ่
ช่องทำเครื่องหมายมาตรฐานที่แสดงในเบราว์เซอร์ส่วนใหญ่มีขนาดค่อนข้างเล็กและไม่เพิ่มขนาดแม้ว่าจะใช้แบบอักษรขนาดใหญ่ วิธีใดที่ดีที่สุดและไม่ขึ้นกับเบราว์เซอร์ในการแสดงช่องทำเครื่องหมายขนาดใหญ่
คำตอบ:
ในกรณีนี้สามารถช่วยทุกคนได้นี่คือ CSS ง่ายๆที่เป็นจุดเริ่มต้น เปลี่ยนให้เป็นสี่เหลี่ยมโค้งมนพื้นฐานที่ใหญ่พอสำหรับนิ้วหัวแม่มือที่มีสีพื้นหลังแบบสลับ
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 เช่นปุ่ม facebook)
รวมไว้ในองค์ประกอบ "ซูม":
.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>
อาจดูเหมือน "ปรับขนาด" เล็กน้อย แต่ก็ใช้ได้ผล
แน่นอนคุณสามารถทำให้ div float นั้น: ซ้ายและใส่ label ของคุณไว้ข้าง ๆ , float: left ด้วย
zoom: 2
และtransform: scale(2)
จะนำมาใช้โดยตรงกับช่อง? ทำไมต้องมีกระดาษห่อหุ้ม?
ลองใช้ CSS นี้
input[type=checkbox] {width:100px; height:100px;}
ฉันพยายามเปลี่ยนpadding
และmargin
และรวมทั้งwidth
และheight
แล้วในที่สุดก็พบว่าถ้าคุณเพียงแค่เพิ่มขนาดมันจะทำงาน:
input[type=checkbox] {
transform: scale(1.5);
}
นี่คือเคล็ดลับที่ใช้ได้กับเบราว์เซอร์ล่าสุด (IE9 +) เป็นโซลูชันเฉพาะ CSS ที่สามารถปรับปรุงได้ด้วยจาวาสคริปต์เพื่อรองรับ 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
รูปแบบ
ฉันกำลังเขียนแอพ phonegap และช่องทำเครื่องหมายมีขนาดรูปลักษณ์ ฯลฯ แตกต่างกันไปดังนั้นฉันจึงทำช่องทำเครื่องหมายง่ายๆของตัวเอง:
ก่อนอื่นรหัส HTML:
<span role="checkbox"/>
จากนั้น CSS:
[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');
});
}
แต่สามารถทำได้อย่างง่ายดายโดยไม่ต้อง ...
หวังว่าจะช่วยได้!
การตัดสินใจเฉพาะ CSS 2020 ที่ทันสมัยอย่างแท้จริงโดยไม่ต้องปรับขนาดเบลอหรือการเปลี่ยนแปลงที่ไม่สะดวก และด้วยเห็บ! =)
ใช้งานได้ดีในเบราว์เซอร์ที่ใช้ Firefox และ Chromium
ดังนั้นคุณสามารถกำหนดช่องทำเครื่องหมาย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>