В связи с тенденцией плоского дизайна я решил расширить предыдущий учебник « Как оформить флажок с помощью 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;
}
Взгляните на демо, чтобы увидеть, что это создаст.