Как отобразить флажок при выборе флажка? - PullRequest
1 голос
/ 07 марта 2019

У меня есть флажок, и я изменил стиль флажка по кругу. Теперь мне нужно, когда пользователь выбирает флажок, тогда я должен отобразить флажок.

Если я удаляю -webkit-appearance: none;, я получаю его, но мой css не работает.

Как я могу это сделать?

.checkbox_round {
  width: 18px;
  height: 18px;
  background-color: white;
  border-radius: 50%;
  vertical-align: middle;
  border: 1px solid #ddd;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
}

.checkbox_round:hover {
  border-color: #000;
}

.checkbox_round:checked {
  background-color: #f00;
}
<label><input type="checkbox" name="name1" value="1" class="checkbox_round"> check box1 </label>

<label><input type="checkbox" name="name2" value="2" class="checkbox_round"> check box1 </label>

<label><input type="checkbox" name="name3" value="3" class="checkbox_round"> check box1 </label>

Ответы [ 2 ]

1 голос
/ 07 марта 2019

Вы можете сделать галочку с помощью CSS или просто использовать галочку Unicode. Вы также можете просто добавить изображение, которое уже было предложено.

Вот два первых возможных способа:

.checkbox_round {
  width: 18px;
  height: 18px;
  background-color: white;
  border-radius: 50%;
  vertical-align: middle;
  border: 1px solid #ddd;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
}

.checkbox_round:hover {
  border-color: #000;
}

.checkbox_round {
  position: relative;
}

.checkbox_round:checked {
  background-color: #f00;
}

.checkbox_round:checked:before {
  content: "✓";
  left: 3px;
  top: -2px;
  position: absolute;
}

.checkbox2:checked:before {
  content: "";
  border: 1px solid black;
  border-width: 1px 1px 0 0;
  height: 5px;
  width: 13px;
  position: absolute;
  transform: rotate(135deg);
  left: 3px;
  top: 2px;
}
<label><input type="checkbox" name="name1" value="1" class="checkbox_round"> check box1 </label>

<label><input type="checkbox" name="name2" value="2" class="checkbox_round checkbox2"> check box1 </label>
1 голос
/ 07 марта 2019

Вы можете использовать фоновое изображение.Я предлагаю вам svg.

.checkbox_round {
  width: 18px;
  height: 18px;
  background-color: white;
  border-radius: 50%;
  vertical-align: middle;
  border: 1px solid #ddd;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
}

.checkbox_round:hover {
  border-color: #000;
}

.checkbox_round:checked {
  background-image: url(https://cdns.iconmonstr.com/wp-content/assets/preview/2012/240/iconmonstr-check-mark-1.png);
  background-size: 50%;
  background-position: center center;
  background-repeat: no-repeat;
}
<label><input type="checkbox" name="name1" value="1" class="checkbox_round"> check box1 </label>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...