在 Firefox 中自定义检查
custom check in firefox
我遇到了真正的问题,
它适用于大多数浏览器(仍在测试中),但是 Firefox 是一个真正的问题。
选中后,复选框应该是一个圆圈和一个绿色 tick/check。
但是在 Firefox 中我得到了方框和一个黑色勾号
.regular-checkbox {
display: inline-block;
border-radius: 50%;
width: 38px;
height: 38px;
border: 1px solid #ccc;
}
.regular-checkbox input {
opacity: 0;
position: absolute;
}
.regular-checkbox:active,
.regular-checkbox:checked:active {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 1px 3px rgba(0, 0, 0, 0);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 1px 3px rgba(0, 0, 0, 0);
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 1px 3px rgba(0, 0, 0, 0);
}
.regular-checkbox:checked {
background-color: #e9ecee;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 -15px 10px -12px rgba(0, 0, 0, 0), inset 15px 10px -12px rgba(255, 0, 0, 0);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 -15px 10px -12px rgba(0, 0, 0, 0), inset 15px 10px -12px rgba(255, 0, 0, 0);
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 -15px 10px -12px rgba(0, 0, 0, 0), inset 15px 10px -12px rgba(255, 0, 0, 0);
}
.regular-checkbox:checked:after {
content: '14';
font-size: 14px;
position: absolute;
top: 0;
left: 3px;
color: #19a73e;
}
.big-checkbox {
padding: 18px;
}
.big-checkbox:checked:after {
font-size: 37px;
top: -7px;
left: 10px;
}
<label for='product-45-45' class="active">
<input type='checkbox' style="float: left" class='regular-checkbox big-checkbox ' checked='checked' id='product-45-45' name='product_id_page-0[45-45]' value='45-45' data-first_price="11.99" data-second_price="" data-paysys="" />
<div class="accord-text">
<strong>title</strong>
</div>
</label>
此代码以相同的方式在每个浏览器上运行。
HEAVY CHECK MARK ✔
- 在 Firefox 中看起来不一样,所以我更改为 CHECK MARK ✓
。
最好的方法是使用像 FontAwesome 这样的图标字体。
HTML:
<label for="checkbox">
<div class="accord-text">
<strong>title</strong>
</div>
<div class="mycheckbox">
<input id="checkbox" class="regular-checkbox" type="checkbox" name="checkbox"/>
<span class="newcheckbox"></span>
</div>
</label>
CSS:
.mycheckbox {
display: inline-block;
position: relative;
width: 17px;
height: 17px;
border: 1px solid gray;
border-radius: 17px;
}
.mycheckbox > input[type="checkbox"] {
opacity: 0;
}
.mycheckbox > .newcheckbox:before {
content: '13';
opacity: 0;
position: absolute;
top: 3px;
left: 2px;
font-size: 15px;
color: #19a73e;
transition: ease 0.1s;
-webkit-transition: ease 0.1s;
-moz-transition: ease 0.1s;
-ms-transition: ease 0.1s;
-o-transition: ease 0.1s;
}
.mycheckbox > input[type="checkbox"]:checked ~ .newcheckbox:before {
opacity: 1;
top: 1px;
}
.accord-text {
display: inline-block;
}
下次您需要禁用您的复选框和"design"您自己的复选框。
每次都有效。
我遇到了真正的问题,
它适用于大多数浏览器(仍在测试中),但是 Firefox 是一个真正的问题。
选中后,复选框应该是一个圆圈和一个绿色 tick/check。
但是在 Firefox 中我得到了方框和一个黑色勾号
.regular-checkbox {
display: inline-block;
border-radius: 50%;
width: 38px;
height: 38px;
border: 1px solid #ccc;
}
.regular-checkbox input {
opacity: 0;
position: absolute;
}
.regular-checkbox:active,
.regular-checkbox:checked:active {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 1px 3px rgba(0, 0, 0, 0);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 1px 3px rgba(0, 0, 0, 0);
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 1px 3px rgba(0, 0, 0, 0);
}
.regular-checkbox:checked {
background-color: #e9ecee;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 -15px 10px -12px rgba(0, 0, 0, 0), inset 15px 10px -12px rgba(255, 0, 0, 0);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 -15px 10px -12px rgba(0, 0, 0, 0), inset 15px 10px -12px rgba(255, 0, 0, 0);
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0), inset 0 -15px 10px -12px rgba(0, 0, 0, 0), inset 15px 10px -12px rgba(255, 0, 0, 0);
}
.regular-checkbox:checked:after {
content: '14';
font-size: 14px;
position: absolute;
top: 0;
left: 3px;
color: #19a73e;
}
.big-checkbox {
padding: 18px;
}
.big-checkbox:checked:after {
font-size: 37px;
top: -7px;
left: 10px;
}
<label for='product-45-45' class="active">
<input type='checkbox' style="float: left" class='regular-checkbox big-checkbox ' checked='checked' id='product-45-45' name='product_id_page-0[45-45]' value='45-45' data-first_price="11.99" data-second_price="" data-paysys="" />
<div class="accord-text">
<strong>title</strong>
</div>
</label>
此代码以相同的方式在每个浏览器上运行。
HEAVY CHECK MARK ✔
- 在 Firefox 中看起来不一样,所以我更改为 CHECK MARK ✓
。
最好的方法是使用像 FontAwesome 这样的图标字体。
HTML:
<label for="checkbox">
<div class="accord-text">
<strong>title</strong>
</div>
<div class="mycheckbox">
<input id="checkbox" class="regular-checkbox" type="checkbox" name="checkbox"/>
<span class="newcheckbox"></span>
</div>
</label>
CSS:
.mycheckbox {
display: inline-block;
position: relative;
width: 17px;
height: 17px;
border: 1px solid gray;
border-radius: 17px;
}
.mycheckbox > input[type="checkbox"] {
opacity: 0;
}
.mycheckbox > .newcheckbox:before {
content: '13';
opacity: 0;
position: absolute;
top: 3px;
left: 2px;
font-size: 15px;
color: #19a73e;
transition: ease 0.1s;
-webkit-transition: ease 0.1s;
-moz-transition: ease 0.1s;
-ms-transition: ease 0.1s;
-o-transition: ease 0.1s;
}
.mycheckbox > input[type="checkbox"]:checked ~ .newcheckbox:before {
opacity: 1;
top: 1px;
}
.accord-text {
display: inline-block;
}
下次您需要禁用您的复选框和"design"您自己的复选框。 每次都有效。