<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Стилизация radio на CSS

Стилизация radio на CSS

Давайте немного освежим в памяти, для чего нужны radio кнопки на сайтах. Radio кнопка – это переключатель, который используют в формах, когда пользователю надо сделать выбор, между несколькими вариантами. Например, выбрать между марками автомобилей, для последующей аренды.

Дизайнеры рисуют в макетах радиокнопки, как им нравиться и совсем не обязательно круглой формы. Нам же, верстальщикам, надо думать, каким образом стилизовать всю эту красоту.

HTML код

Атрибут for у тега label устанавливает связь с input через id, в том случае если, input не вложен в label. Значения у for и id, должны быть одинаковыми. В нашем примере, у первой связки – honda, а у второй renault. Когда пользователь должен выбрать только один вариант, следует прописать обоим инпутам, атрибут name с одинаковым значением (car). Атрибут type указывает, что инпут надо отобразить, как radio кнопку (круглым).

Обернем первую связку input+label в div с классом radio, то же самое сделаем для второй связки. Присвоим так же классы input и label, для их дальнейшей стилизации.

<div class="radio">
    <input class="radio_input" name="car" type="radio" id="honda">
    <label class="radio_label" for="honda">Honda</label>
</div>
<div class="radio">
    <input class="radio_input" name="car" type="radio" id="renault">
    <label class="radio_label" for="renault">Renault</label>
</div>

По умолчанию, браузер отобразит любой элемент формы. На картинке ниже, вы можете увидеть наши radio, без CSS стилей.

Стилизация radio на CSS.

Скажем спасибо браузеру и погрузимся в CSS код для стилизации radio кнопок.

CSS-код

Вложенные теги input+label, позиционируем относительно родителя – div с классом radio.

.radio {
    position: relative;
    margin-bottom: 1rem;
}

Спрячем дефолтные маленькие кружочки, свойство appearance обязательно прописываем с вендорными префиксами.

.radio_input {
    -webkit-appearance: none;/* Chrome */
    -moz-appearance: none;/* Firefox */
    appearance: none;/* убираем стандартные кружочки */
    position: absolute;
}

Стилизуем текст внутри тега label.

.radio_label {
    padding-left: 25px;/* отступ слева */
    font-size: 1rem;
    color: #444;
    cursor: pointer; /* курсор рука */
}

Создадим два состояния radio кнопок, с помощью псевдоэлементов before+after. Стилизуем before, как пустой белый кружок, after – кружок с цветным фоном, изображающий отмеченное состояние. На деле, круг с меньшим диаметром after, будет находиться внутри круга с большим диаметром before.

Стилизуем псевдоэлемент before

.radio_label:before {
    content: "";
    display: block; /* не в строку */
    width: 16px; /* ширина блока */
    height: 16px;/* высота блока */
    border: 1px solid #ccc;/* рамка */
    background-color: #fff; /* цвет фона */
    border-radius: 50%;/* получаем круг */
    position: absolute;/* расположен точно в родителе */
    top: 0; /* расстояние от верха родителя */
    left: 0;/* расстояние слева от родителя */
    z-index: 1; /* на нижнем слое */
    transition: border .1s linear;/* плавный переход для border */
}

Стилизуем псевдоэлемент after

.radio_label:after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background-color: #49d120;
    border-radius: 50%;
    opacity: 0; /* полностью прозрачный */
    position: absolute;
    top: 3px;
    left: 3px;
    z-index: 2;/* на верхнем слое */
    transition: opacity .1s linear; /* плавный переход для opacity */
}

Нам, нужно менять вид кружка, только при отмеченном состоянии (checked). Когда пользователь кликает в поле input, рамка у before меняет свой цвет.

.radio_input:checked + .radio_label:before {
    border-color: #319612;
}

А у after, прозрачный фон, становится непрозрачным, кружок окрашивается в зеленый цвет.

.radio_input:checked + .radio_label:after {
    opacity: 1;
}

Таким образом, в неотмеченном состоянии, поле input – белое. А в отмеченном состоянии – зелёное. Мы получили стилизованные radio кнопки на чистом CSS.

Демонстрация примера

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.