В связи с тенденцией плоского дизайна я решил расширить предыдущий учебник « Как оформить флажок с помощью CSS» двумя дополнительными фрагментами кода с флажками стиля с плоским дизайном.
Первый флажок будет иметь округленный фон с кнопкой на заднем плане; когда вы нажимаете кнопку, она перемещается вправо от фона и меняет цвет.
Как оформить флажок с помощью CSS Demo
Сначала мы начнем с HTML-кода для флажка. Это будет внутри div, вместе с меткой и другим div. Это все, что вам нужно, а все остальное делается с помощью CSS.
<section> <!-- Rounded Checkbox --> <h3>Rounded Checkbox</h3> <div class="flatRoundedCheckbox"> <input type="checkbox" value="1" id="flatOneRoundedCheckbox" name="" /> <label for="flatOneRoundedCheckbox"></label> <div></div> </div> </section>
Когда мы придем к стилю чекбокса, нам нужно настроить закругленную табличку для кнопки, которую нужно разместить. Сначала мы стилизуем внешний div и задаем ему ширину и высоту вместе с позицией: относительной. Мы используем относительное положение, чтобы можно было безошибочно позиционировать кнопку внутри цветного планшета.
.flatRoundedCheckbox { width: 120px; height: 40px; margin: 20px 50px; position: relative; } .flatRoundedCheckbox div { width: 100%; height:100%; background: #d3d3d3; border-radius: 50px; position: relative; top:-30px; }
Кнопка, которую пользователь нажмет, станет меткой. Этот ярлык будет просто круглым кругом, и, поскольку он будет перемещаться при нажатии, нам нужно добавить переход к ярлыку. Затем мы можем расположить эту кнопку во внешнем div. Используя абсолютную позицию, мы размещаем ее именно там, где мы хотим, внутри скругленной таблетки.
.flatRoundedCheckbox label { display: block; width: 30px; height: 30px; border-radius: 50px; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; -ms-transition: all .5s ease; transition: all .5s ease; cursor: pointer; position: absolute; top: 5px; z-index: 1; left: 8px; background: #FFF; }
Теперь мы можем стилизовать то, что будет, когда флажок установлен. Для этого мы можем использовать : selected селектор. Затем следующие флажки будут применены, когда флажок установлен. Затем мы используем общий смежный селектор ~, чтобы найти div и изменить цвет фона. В то же время мы хотим переместить кнопку справа от поля. Мы снова используем селектор: checked и просто меняем левую позицию метки.
.flatRoundedCheckbox input[type=checkbox]:checked ~ div { background: #4fbe79; } .flatRoundedCheckbox input[type=checkbox]:checked ~ label { left: 85px; }
HTML-код следующего флажка точно такой же, как и в первом примере: внутри есть внешний div с флажком, меткой и другим div. Этот флажок будет работать аналогично первому; когда вы нажимаете на кнопку, она скользит вправо от поля и меняет цвет фона.
<section> <!-- Flat Checkbox --> <h3>Flat Checkbox</h3> <div class="flatCheckbox"> <input type="checkbox" value="1" id="flatOneCheckbox" name="" /> <label for="flatOneCheckbox"></label> <div></div> </div> </section>
Чтобы стилизовать это, мы начнем с установки размера внешнего div и убедитесь, что мы включили положение относительно этого div, чтобы мы могли точно расположить кнопку внутри поля. Затем мы стилизуем внутренний div таким же размером, как внешний div; Здесь мы можем установить цвет фона.
.flatCheckbox { width: 120px; height: 50px; margin: 20px 30px; position: relative; } .flatCheckbox div { width: 100%; height:100%; background: #2fca6c; position: relative; top:-30px; }
Метка будет использоваться в качестве кнопки для флажка. Это будет двигаться справа от поля, поэтому добавьте свойство перехода к метке.
.flatCheckbox label { display: block; width: 40px; height: 40px; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; -ms-transition: all .5s ease; transition: all .5s ease; cursor: pointer; position: absolute; top: 5px; z-index: 1; left: 8px; background: #fffffd; }
Внутри кнопки есть три линии для отображения текстуры на кнопке. Это делается с помощью псевдо-селектора: before , который позволит вам создать новый элемент со свойством content, позволяющим добавлять текст к кнопке.
.flatCheckbox label:before { color: #ccc; content:'|||'; font-size: 15px; letter-spacing: 1px; position: absolute; left: 7px; top:11px; }
Когда флажок установлен, мы можем изменить стиль флажка с помощью селектора: флажок . Когда это проверено, мы можем изменить фон окна и переместить кнопку справа от поля.
.flatCheckbox input[type=checkbox]:checked ~ div { background: #e9513a; } .flatCheckbox input[type=checkbox]:checked ~ label { left: 75px; }
Взгляните на демо, чтобы увидеть, что это создаст.