【发布时间】:2016-12-19 23:09:31
【问题描述】:
大家好,我对自定义复选框有一点问题。在 Mozilla 中,一切正常,但在 Chrome 中,它的工作方式不同。正如您在下面看到的第 1 列中的复选框在选中时工作正常,但在其他列中,它只是在选中时提供背景。我为所有复选框提供了相同的 CSS。它在 Mozilla 中看起来不同,我的意思是它运行良好。
.listContent input[type=checkbox] {
opacity: 0;
float: left;
}
.listContent input[type=checkbox] + label {
margin: 0 0 0 8px;
position: relative;
cursor: pointer;
font-size: 16px;
}
.listContent input[type=checkbox] + label ~ label {
margin: 0 0 0 40px;
}
.listContent input[type=checkbox] + label::before {
content: ' ';
position: absolute;
left: -20px;
top: 2px;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
width: 14px;
height: 14px;
display: block;
background: white;
border: 1px solid #A9A9A9;
}
.listContent input[type=checkbox] + label::after {
content: ' ';
position: absolute;
left: -19px;
top: 3px;
width: 16px;
height: 16px;
display: block;
z-index: 1;
background: url('../../jpgs/checked.png') no-repeat center center;
transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
-webkit-transition: all .3s ease;
transform: scale(0);
-moz-transform: scale(0);
-ms-transform: scale(0);
-o-transform: scale(0);
-webkit-transform: scale(0);
transform: scale(0.7) !important;
opacity: 0;
}
.listContent input[type=checkbox]:checked + label::after {
transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
-webkit-transform: scale(1);
opacity: 1;
}
.listContent input[type=checkbox]:checked + label {
color: #64bd5f;
}
.listContent input[type=checkbox]:checked + label::before {
opacity: 1;
background: #64bd5f;
}
【问题讨论】:
标签: html css checkbox input custom-element