Стилизация форм¶
Стилизовать формы с помощью CSS, обеспечивая при этом их удобство и читаемость для всех.
Помогите пользователям использовать вашу форму с помощью предпочитаемого браузера¶
Для того чтобы ваша форма была доступна как можно большему числу людей, используйте элементы, созданные для этой цели: <input>
, <textarea>
, <select>
и <button>
. Это базовые элементы для создания удобной формы.
Стили браузера по умолчанию выглядят не лучшим образом! Давайте изменим это.
Прогрессивное улучшение - это стратегия, обеспечивающая базовый уровень необходимого контента и функций для максимально возможного числа пользователей. Она обеспечивает наилучшие возможности для пользователей современных браузеров.
Вы начинаете с контента, используете семантический HTML, добавляете перспективный CSS и в качестве последнего шага добавляете надежный JavaScript. {% endAside %}
Убедитесь, что элементы управления формами читаемы для всех¶
Размер шрифта по умолчанию для элементов управления формами в большинстве браузеров слишком мал. Чтобы элементы управления формы были читаемы, измените размер шрифта с помощью CSS:
Увеличьте font-size
и line-height
для улучшения читабельности.
1 2 3 4 |
|
Для font-size
используются относительные единицы измерения, такие как em
(относительно базового размера родительского элемента) или rem
(относительно базового размера документа), чтобы размер соответствовал предпочтениям пользователя. Пользователи могут изменять базовый font-size
, и все элементы с относительным font-size
будут автоматически подстраиваться под него. Для line-height
используйте unitless value, например 1.5
, чтобы сохранить высоту строки относительно размера шрифта.
Подробнее о пиксели против относительных единиц в CSS.
Помогите пользователям ориентироваться в форме¶
В качестве следующего шага измените расположение формы и увеличьте расстояние между элементами формы, чтобы помочь пользователям понять, какие элементы находятся вместе.
CSS-свойство margin
увеличивает пространство между элементами, а свойство padding
- пространство вокруг содержимого элемента.
Для общей компоновки используйте Flexbox или Grid. Подробнее о CSS методах компоновки.
Убедитесь, что элементы управления формой выглядят как элементы управления формой¶
Чтобы людям было удобно заполнять форму, используйте хорошо понятные стили для элементов управления формы. Например, для элементов <input>
следует использовать сплошную границу.
Цвет границы <input>
, используемый по умолчанию, во многих браузерах слишком светлый. Из-за недостаточного контраста элемент может быть плохо различим, особенно на мобильных устройствах. Откройте эту демонстрацию в Chrome на Android, чтобы увидеть стили по умолчанию.
1 2 3 4 |
|
Помогите пользователям отправить вашу форму¶
Рассмотрите возможность использования background
для <button>
в соответствии со стилем сайта, а также переопределите или удалите стили border
, используемые по умолчанию.
В современных браузерах <button>
можно стилизовать, как и любой другой элемент, поэтому всегда следует использовать семантический <button>
или <input type="submit">
. Использование элемента, созданного для этой задачи, дает множество встроенных преимуществ в плане удобства использования и доступности, которые вы не получите при использовании типового элемента, такого как <div>
. О встроенных возможностях вы узнаете в других модулях.
Подробнее о изменении стиля по умолчанию для <button>
.
Помочь пользователям понять текущее состояние¶
Браузеры применяют стиль по умолчанию для :focus
. Вы можете переопределить стили для :focus
, чтобы подобрать цвет в соответствии с вашим брендом.
1 2 3 |
|
Удаляйте outline
в :focus
только в том случае, если вы также добавили другие соответствующие стили фокуса, чтобы обеспечить различимость стилей по умолчанию и фокуса.
Подробнее о разработке индикаторов фокуса.
Ресурсы¶
- Учим CSS
- Методы верстки CSS
- Проектирование индикаторов фокуса
- Изменение стиля по умолчанию для
<button>
.
Источник — Styling forms