#html #css #cross-browser
#HTML #css #кросс-браузерный
Вопрос:
У меня возникли реальные проблемы с этим,
он работает в большинстве браузеров (все еще тестируется), однако Firefox является реальной проблемой.
Флажок должен быть в виде круга и зеленой галочки / флажка внутри после проверки.
Однако в 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: '2714';
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>
Комментарии:
1. я думаю, вам не хватает HTML-части
2. Упс, спасибо добавлено
3. извините, заснул прошлой ночью 1
4. это так, я могу заставить его работать. Спасибо
Ответ №1:
Этот код работал в каждом браузере одинаково.
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: '2713';
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;
}
В следующий раз вам нужно отключить свой флажок и «создать» свой собственный.
Его работа каждый раз.