• Страница 1 из 1
  • 1
Как делаются флажки при помощи CSS3
Kosten
Вторник, 12 Ноября 2019, 20:06 | Сообщение 1
Оффлайн
Администраторы
Сообщений:44490
Награды: 70
Это пример веб-формы с флажками, разработанными с использованием CSS, HTML и JavaScript. JavaScript был использован, чтобы убедиться, что только два флажка из трех выбраны одновременно. Ящики имеют тип «флажок» и называются «Социальный», «Рабочий» и «Спящий».

Тип шрифта импортируется из Google с URL-адресом, а метка устанавливается со стилями семейства шрифтов как «Montserrat», sans-serif, размер шрифта как 1.2rem, курсор как указатель для отображения курсора руки, отображается как нет, чтобы скрыть элементы, и поле как 1em.

В непроверенном событии стили будут такими, как display: inline-block, border-radius: 20px, вертикальное выравнивание: среднее, переход: .25s .09s, положение: относительное, фон: #deeff7 и box-shadow: 1px 2px 4px 0 rgba (# 000, .4). После отмеченного события стили изменятся и преобразуются: translateX (25px) и цвет фона # 1094fb и цвет шрифта # 29316b.



HTML

Код
<fieldset>
<label>
  <input class="cb cb1" type="checkbox" name="social" onclick="cbChange(this)" checked/>
  <i></i>
  <span>Social life</span>
</label>
  <label>
  <input class="cb cb2" type="checkbox" name="work" onclick="cbChange(this)"/>
  <i></i>
  <span>Work</span>
</label>
  <label>
  <input class="cb cb3" type="checkbox" name="sleep" onclick="cbChange(this)" checked/>
  <i></i>
  <span>Sleep</span>
</label>
</fieldset>

CSS

Код
@import url('https://fonts.googleapis.com/css?family=Montserrat');
*, *:before, *:after {
  box-sizing: border-box;
}
html {
  font-size: 18px;
}
fieldset {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
label {
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
  cursor: pointer;
  display: block;
  margin: 1em;
}
label > input {
  display: none;
}
label span {
  color: #6a759b;
}
label i {
  display: inline-block;
  width: 64px;
  height: 40px;
  border-radius: 20px;
  vertical-align: middle;
  transition: 0.25s 0.09s;
  position: relative;
  background: #deeff7;
}
label i:after {
  content: " ";
  display: block;
  width: 30px;
  height: 30px;
  top: 5px;
  left: 5px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, .4);
  transition: 0.15s;
}
label > input:checked + i {
  background: #1094fb;
}
label > input:checked + i + span {
  color: #29316b;
}
label > input:checked + i:after {
  transform: translateX(25px);
}

JS

Код
function cbChange(obj) {
  var cbs = document.getElementsByClassName("cb");
  for (var i = 0; i < cbs.length; i++) {
    cbs[i].checked = true;
  }
  obj.checked = false;
}


Демонстрация
Прикрепления: 6079974.png (13.9 Kb) · checkboxes.zip (3.6 Kb)
Страна: (RU)
  • Страница 1 из 1
  • 1
Поиск: