球员, 我有一些输入复选框标签: 它们看起来很轻,难以看到或打印。我试过restyle复选框,似乎禁用复选框的样式无法更改? 你们有什么想法吗? 非常感谢! :)
答案 0 :(得分:5)
诀窍是不要实际禁用复选框,而是拦截“禁用”文本框的点击操作,这样它就像从那一点被禁用一样,你可以设置它的样式,它会看起来你想要的样子。
您要做的是在“已禁用”复选框中添加此项,而不是禁用=“已禁用”:
onclick="return false;"
编辑:如下所述,使用此方法存在缺陷。复选框的值仍然会回发到服务器,因为它在技术上已启用,而如果您使用支持的方法,则会失去对外观的控制,但不必处理此附加数据。 (谢谢罗伯特)
答案 1 :(得分:1)
如果您使用默认样式的默认复选框,则不必过于担心。他们把它们设计得很好,可以看作它们应该是 也可以是你的显示器对比度/亮度设置。
但如果您使用的是自定义复选框设计,则很可能需要更改图像。
答案 2 :(得分:1)
查看这个问题: How to change checkbox's border style in CSS?
似乎不可能改变复选框的样式:/
答案 3 :(得分:0)
有了一点CSS3,你实际上可以做一些非常酷的事情。
我找到了这个可能的解决方案http://jsfiddle.net/HCbRF/1/
HTML
<div>
<input type="checkbox" id="c1" disabled />
<label for="c1"><span></span>Check Box 1</label>
<br>
<input type="checkbox" id="c2"/>
<label for="c2"><span></span>Check Box 2</label>
</div>
CSS
div {
width:110px;
height:50px;
padding:20px;
background:#40464b;
border-radius:6px;
}
input[type="checkbox"] {
display:none;
}
input[type="checkbox"] + label {
color:#f2f2f2;
font-family:Arial, sans-serif;
font-size:14px;
line-height: 25px;
}
input[type="checkbox"] + label span {
display:inline-block;
width:19px;
height:19px;
margin:-1px 4px 0 0;
vertical-align:middle;
background:url(http://webdesigntutsplus.s3.amazonaws.com/tuts/391_checkboxes/check_radio_sheet.png) left top no-repeat;
cursor:pointer;
}
input[disabled] + label span {
display:inline-block;
width:16px;
height:16px;
margin:-1px 6px 0 0;
vertical-align:middle;
background:#ccc left top no-repeat;
border-radius: 3px;
-moz-box-shadow: inset 0 0 2px #000;
-webkit-box-shadow: inset 0 0 2px#000;
box-shadow: inner 0 0 5px #888;
cursor:pointer;
}
input[type="checkbox"]:checked + label span {
background:url(http://webdesigntutsplus.s3.amazonaws.com/tuts/391_checkboxes/check_radio_sheet.png) -19px top no-repeat;
}
开始
答案 4 :(得分:0)
您可以排除禁用属性,将指针事件设置为无并添加一点不透明度。
<input
checked="true"
style="pointer-events: none; opacity: 0.7"
type="checkbox"
/>