#html #css
#HTML #css
Вопрос:
У меня есть флажок, который должен выглядеть как показано ниже,
Если он не выбран, он должен быть таким, как показано ниже,
У меня есть следующий css со мной
input[type="checkbox"]:checked label::after {
content: '';
position: absolute;
width: 11px;
height: 6px;
background: rgba(0,0,0,0);
top: 10px;
left: 24px;
border: 1px solid white;
border-top: none;
border-right: none;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}
input[type="checkbox"] {
line-height: 2.1ex;
}
input[type="radio"],
input[type="checkbox"] {
position: absolute;
left: -999em;
}
input[type="checkbox"] label {
position: relative;
overflow: hidden;
cursor: pointer;
}
input[type="checkbox"] label::before {
content: "";
display: inline-block;
vertical-align: -25%;
height: 20px;
width: 20px;
background-color: #1BAAD3;
border-radius: 4px;
margin-right: 8px;
}
Когда я снимаю флажок, это то, что я вижу
Я использую angular-js для обработки события выбора / отмены выбора
HTML
<div class="form-check">
<input type="checkbox" ng-if="testKits" ng-model="testKits" class="form-check-input" id="testKits">
<label class="form-check-label form-label-text source-sans-pro" for="testKits">{{'Testkits' | translate}}</label>
</div>
Комментарии:
1. Можете ли вы также поделиться html?
2. может быть, вам следует перейти
background-color: #1BAAD3;
на новый стиль для:checked
состояния. т. е.input[type="checkbox"]:checked label::before { background-color: #1BAAD3; }
и удалить его из старого стиля3. @Hanif Я обновил сообщение
4. @zgood это сработало, добавьте это в ответ, я также добавил границу внутри
input[type="checkbox"]:not(:checked) label::before { border:1px solid #E1E5EA; }
Ответ №1:
Пожалуйста, смотрите фрагмент ниже, он может сработать для вас:
input[type="checkbox"]:checked label::after {
content: '';
position: absolute;
width: 11px;
height: 6px;
background: rgba(0,0,0,0);
top: 0px;
left: 6px;
border: 1px solid white;
border-top: none;
border-right: none;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}
input[type="checkbox"] {
line-height: 2.1ex;
}
input[type="radio"],
input[type="checkbox"] {
position: absolute;
left: -999em;
}
input[type="checkbox"] label {
position: relative;
overflow: hidden;
cursor: pointer;
}
input[type="checkbox"] label::before {
content: "";
display: inline-block;
vertical-align: -25%;
height: 20px;
width: 20px;
background-color: #fff;
border-radius: 4px;
margin-right: 8px;
border: 2px solid #ddd;
}
input[type="checkbox"]:checked label::before {
background-color: #1BAAD3;
border: 2px solid #1BAAD3;
}
<div class="form-check">
<input type="checkbox" class="form-check-input" id="testKits">
<label class="form-check-label form-label-text source-sans-pro" for="testKits">abc</label>
</div>