Введение
В этом практическом занятии мы изучим концепции программирования CSS, создав кастомную радиокнопку с анимацией при изменении состояния. Практическое занятие проведет вас по процессу использования flexbox для создания макета радиокнопок, сброса стилей на элементе <input> и использования элемента ::before для создания внутренней окружности радиокнопки. В конце практического занятия вы будете лучше понимать методы стилизации и анимации CSS.
Кастомная радиокнопка
В ВМ уже предоставлены index.html и style.css.
Чтобы создать стилизованную радиокнопку с анимацией при изменении состояния, следуйте шагам:
- Создайте
.radio-container, используя flexbox, чтобы создать соответствующий макет для радиокнопок. - Сбросьте стили на элементе
<input>и используйте его для создания контура и фона радиокнопки. - Используйте элемент
::before, чтобы создать внутреннюю окружность радиокнопки. - Создайте эффект анимации при изменении состояния, используя
transform: scale(1)и CSS-анимацию.
Вот пример HTML-отрывка:
<div class="radio-container">
<input class="radio-input" id="apples" type="radio" name="fruit" />
<label class="radio" for="apples">Apples</label>
<input class="radio-input" id="oranges" type="radio" name="fruit" />
<label class="radio" for="oranges">Oranges</label>
</div>
И вот соответствующий CSS:
.radio-container {
display: flex;
align-items: center;
}
.radio-container * {
box-sizing: border-box;
}
.radio-input {
appearance: none;
width: 16px;
height: 16px;
margin: 0;
border: 1px solid #cccfdb;
border-radius: 50%;
display: grid;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
}
.radio-input::before {
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
transform: scale(0);
transition: 0.3s transform ease-in-out;
box-shadow: inset 6px 6px #ffffff;
}
.radio-input:checked {
background: #0077ff;
border-color: #0077ff;
}
.radio-input:checked::before {
transform: scale(1);
}
.radio {
cursor: pointer;
padding: 6px 8px;
margin-right: 6px;
}
Пожалуйста, нажмите кнопку "Go Live" в нижнем правом углу, чтобы запустить веб-сервис на порту 8080. Затем можно обновить вкладку Web 8080, чтобы просмотреть веб-страницу.
Резюме
Поздравляем! Вы завершили практическое занятие по созданию кастомной радиокнопки. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.