(这里是小透明,与checkbox无关)改变input框占位字placeholder属性:
<span style="color:#999999;">input::-webkit-input-placeholder{}
input::-moz-placeholder{}
input::-ms-input-placeholder{}
</span>
关于checkbox和radio的样式真的很头痛,一开始我天真地以为用appearance:none可以把原有的样式覆盖了。
input[type="checkbox"]
{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
然而太傻- -
目前只兼容 Webkit 系列浏览器啊心塞.那我该怎么自定义?
原有样式可以直接用<label>元素挡住啊:
<div class="check-box"><input id="id-7" type="checkbox"><label for="id-7"></label></div>
input[type="checkbox"] + label:before {
background:#d5d5d5;
content:"";
height: 15px;
width: 15px;
position: absolute;
top: 0;
left: 0;
}
然后就可以随意装扮了:
input[type="checkbox"] + label:before {
border: 1px solid #0000ff;
background-color: #FFFFFF;
}
input[type="checkbox"]:hover + label:before,
input[type="checkbox"] + label:hover:before {
border: 1px solid #0000ff;
background-color: #00aced;
}
注意:如果background用图片替代的话,背景图片要够大,这样才能覆盖住原来的样式.(感觉这样也是一个缺点了,看下面- -.)
更新一:考虑到设计的图片不一定够大到能够挡住原有的样式,我们可以:
input[type="checkbox"]
{
opacity:0;
}
这样更好啊,等我想到,我就懵逼了
更新二:其实还有更好的办法:
<label><input type="checkbox"/><span></span><label>
<pre name="code" class="css">input[type="checkbox"]
{
opacity:0;
}
input[type="checkbox"] + span
{
//example
}
input[type="checkbox"]:hover + span
{
//example
}
input[type="checkbox"]:checked + span
{
//example
}
input[type="checkbox"]:disabled + span
{
//example
}