Как сделать чекбокс активным js

Добавил пользователь Владимир З.
Обновлено: 05.10.2024

Чекбокс — это компонент ввода на сайте, который обычно выглядит как пустой квадрат в невыбранном состоянии, а если его выбирают, то он меняет вид — в квадрате появляется галочка.

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

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

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

В этой статье мы разберем, как создать чекбоксы и как настроить стиль, разметку и цвета с помощью HTML и CSS.

Атрибуты чекбокса

Синтаксис чекбокса в HTML выглядит очень просто:

Он обычно содержит несколько атрибутов:

  • name — устанавливает имя чекбокса;
  • value — показывает, какое значение чекбокса будет отправлено на сервер;
  • checked — позволяет предварительно выделить вариант ответа.

Например, при регистрации на сайте вы спрашиваете, откуда пользователь узнал о вашей компании. В этом случае атрибут name каждого входного элемента может быть source . А value одного из чекбоксов будет, например, Instagram. В этом случае данные, отправленные на сервер, будут выглядеть следующим образом: source = instagram .

Как создать стильный чекбокс

По умолчанию

Если мы пользуемся только HTML и не настраиваем стили при помощи CSS, то стиль чекбокса по умолчанию выглядит вот так:


Стиль по умолчанию

HTML-код такого чекбокса выглядит довольно просто:

По сути, кроме указания вам не нужно ничего делать.

Чекбокс с галочкой

Но если вы хотите, чтобы этот вариант ответа был уже выбран при открытии сайта, то необходимо будет добавить атрибут checked . Нужно прописать это в HTML:

Тогда мы получим чекбокс с галочкой:


Чекбокс с галочкой

Обязательный чекбокс

Чтобы установить такой чекбокс, в строку ввода нужно добавить дополнительный атрибут:



Кастомный чекбокс

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

В чем суть трюка? Мы спрячем окошко для галочки и создадим вместо него поддельный чекбокс, который и будем настраивать с помощью CSS.

Скрываем чекбокс: способ первый

Чтобы скрыть чекбокс, нужно прописать одну строчку кода в разделе head . Когда вы работаете со стилями CSS, напишите:

И квадрат с галочкой исчезнет:

Квадрата с галочкой нет

Теперь наш чекбокс выглядит как простой текст, но на самом деле в структуре кода видно, что окно с галочкой просто не отображается у пользователя на экране:

Скрываем чекбокс: способ второй

Также можно воспользоваться вторым вариантом, чтобы спрятать чекбокс. Для этого нужно установить стиль элемента ввода, а затем спрятать его, установив opacity: 0 . Так текст не будет съезжать к левому краю и накладываться на наш чекбокс:

Вот что получится:


Текст больше не съезжает

Настройка стиля: закруглим края и добавим цвет

Теперь можно приступать к настройке своего собственного стиля чекбокса. Например, можно сделать окошко для галочки с закругленными краями, прописав:

Если вы хотите, чтобы чекбокс выделялся на фоне черного текста, то настройте собственную цветовую палитру. Можно менять как цвет обводки, так и фона внутри. Для этого впишите код желаемого цвета, например:

И установите стиль границ:

Так у нас получился серо-синий цвет чекбокса:


Добавляем фон

Чтобы настроить собственное отображение выбранного чекбокса, на галочки и фон нужно потратить чуть больше времени. Придется вручную прописать стиль, позицию и настройки отображения галочки. Мы создали собственный чекбокс, который выглядит так:


Чтобы сделать такой простой стиль, необходимо написать несколько строк кода:

Мы разобрали основные способы кастомизации чекбоксов, но это далеко не все, что можно сделать с HTML и CSS. Например, можно настроить разные виды чекбокса для состояний hover , active , focus и disabled .

Кроме того, можно даже создавать сложные чекбоксы с анимацией. Если вы хотите посмотреть, как выглядят анимированные чекбоксы, то загляните в статью Custom HTML and CSS Checkbox Examples You Can Use Too.

Чекбокс — это компонент ввода на сайте, который обычно выглядит как пустой квадрат в невыбранном состоянии, а если его выбирают, то он меняет вид — в квадрате появляется галочка.

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

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

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

В этой статье мы разберем, как создать чекбоксы и как настроить стиль, разметку и цвета с помощью HTML и CSS.

Атрибуты чекбокса

Синтаксис чекбокса в HTML выглядит очень просто:

Он обычно содержит несколько атрибутов:

  • name — устанавливает имя чекбокса;
  • value — показывает, какое значение чекбокса будет отправлено на сервер;
  • checked — позволяет предварительно выделить вариант ответа.

Например, при регистрации на сайте вы спрашиваете, откуда пользователь узнал о вашей компании. В этом случае атрибут name каждого входного элемента может быть source . А value одного из чекбоксов будет, например, Instagram. В этом случае данные, отправленные на сервер, будут выглядеть следующим образом: source = instagram .

Как создать стильный чекбокс

По умолчанию

Если мы пользуемся только HTML и не настраиваем стили при помощи CSS, то стиль чекбокса по умолчанию выглядит вот так:


Стиль по умолчанию

HTML-код такого чекбокса выглядит довольно просто:

По сути, кроме указания вам не нужно ничего делать.

Чекбокс с галочкой

Но если вы хотите, чтобы этот вариант ответа был уже выбран при открытии сайта, то необходимо будет добавить атрибут checked . Нужно прописать это в HTML:

Тогда мы получим чекбокс с галочкой:


Чекбокс с галочкой

Обязательный чекбокс

Чтобы установить такой чекбокс, в строку ввода нужно добавить дополнительный атрибут:



Кастомный чекбокс

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

В чем суть трюка? Мы спрячем окошко для галочки и создадим вместо него поддельный чекбокс, который и будем настраивать с помощью CSS.

Скрываем чекбокс: способ первый

Чтобы скрыть чекбокс, нужно прописать одну строчку кода в разделе head . Когда вы работаете со стилями CSS, напишите:

И квадрат с галочкой исчезнет:

Квадрата с галочкой нет

Теперь наш чекбокс выглядит как простой текст, но на самом деле в структуре кода видно, что окно с галочкой просто не отображается у пользователя на экране:

Скрываем чекбокс: способ второй

Также можно воспользоваться вторым вариантом, чтобы спрятать чекбокс. Для этого нужно установить стиль элемента ввода, а затем спрятать его, установив opacity: 0 . Так текст не будет съезжать к левому краю и накладываться на наш чекбокс:

Вот что получится:


Текст больше не съезжает

Настройка стиля: закруглим края и добавим цвет

Теперь можно приступать к настройке своего собственного стиля чекбокса. Например, можно сделать окошко для галочки с закругленными краями, прописав:

Если вы хотите, чтобы чекбокс выделялся на фоне черного текста, то настройте собственную цветовую палитру. Можно менять как цвет обводки, так и фона внутри. Для этого впишите код желаемого цвета, например:

И установите стиль границ:

Так у нас получился серо-синий цвет чекбокса:


Добавляем фон

Чтобы настроить собственное отображение выбранного чекбокса, на галочки и фон нужно потратить чуть больше времени. Придется вручную прописать стиль, позицию и настройки отображения галочки. Мы создали собственный чекбокс, который выглядит так:


Чтобы сделать такой простой стиль, необходимо написать несколько строк кода:

Мы разобрали основные способы кастомизации чекбоксов, но это далеко не все, что можно сделать с HTML и CSS. Например, можно настроить разные виды чекбокса для состояний hover , active , focus и disabled .

Кроме того, можно даже создавать сложные чекбоксы с анимацией. Если вы хотите посмотреть, как выглядят анимированные чекбоксы, то загляните в статью Custom HTML and CSS Checkbox Examples You Can Use Too.

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

Чекбоксы в стейтах React

Чекбоксы как и остальны input'ы требуют программной установки галочки при нажатии. То есть родной механизм браузера не будет работать, нужно писать JavaScript код, который срабатывает по событию onChange и устанавливает/снимает галочку.

При этом установка галочки делается атрибутом "chacked", который выставляется в положение "true" или "false". Приведём пример такого обработчика для установки галочки: При выполнении такого кода на странице появится один чекбокс (поле, куда можно поставить галочку). По умолчанию галочка будет стоять. Один клик снимет её, а повторный установит заново.

Попробуем сократить программный код примера с помощью стрелочной стрелочную функции и вывести значение с помощью тернарного оператора: Если необходимо сделано несколько операций для формирования надписи "галочка есть" рядом с чекбоксом, то логично будет вынести всё в отдельное условие и добавить переменную:

Радио кнопки в стейтах React

Работа с радиокнопками в React схожа с чекбоксами. Но если для каждого чекбокса в приложении используется отдельный стейт, то радиокнопки объединяются в группы. И для групп используется только один стейт. Остальное же взаимодействие происходит точно так же, как и с чекбоксами: нужно делать событие onChange для изменения состояния. Приведём пример кода: Для упрощения примера были использованы значение радио кнопок в виде цифр. При загрузке такого приложения появится три радио кнопки. Из них отмечена будет первая кнопка, у которой value="1". Если кликнуть на другие варианты, то выбор будет изменён.

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

Чекбоксы в стейтах React

Чекбоксы как и остальны input'ы требуют программной установки галочки при нажатии. То есть родной механизм браузера не будет работать, нужно писать JavaScript код, который срабатывает по событию onChange и устанавливает/снимает галочку.

При этом установка галочки делается атрибутом "chacked", который выставляется в положение "true" или "false". Приведём пример такого обработчика для установки галочки: При выполнении такого кода на странице появится один чекбокс (поле, куда можно поставить галочку). По умолчанию галочка будет стоять. Один клик снимет её, а повторный установит заново.

Попробуем сократить программный код примера с помощью стрелочной стрелочную функции и вывести значение с помощью тернарного оператора: Если необходимо сделано несколько операций для формирования надписи "галочка есть" рядом с чекбоксом, то логично будет вынести всё в отдельное условие и добавить переменную:

Радио кнопки в стейтах React

Работа с радиокнопками в React схожа с чекбоксами. Но если для каждого чекбокса в приложении используется отдельный стейт, то радиокнопки объединяются в группы. И для групп используется только один стейт. Остальное же взаимодействие происходит точно так же, как и с чекбоксами: нужно делать событие onChange для изменения состояния. Приведём пример кода: Для упрощения примера были использованы значение радио кнопок в виде цифр. При загрузке такого приложения появится три радио кнопки. Из них отмечена будет первая кнопка, у которой value="1". Если кликнуть на другие варианты, то выбор будет изменён.

Читайте также: