- Стилизация форм
- Стилизация полей ввода
- Промежутки у полей ввода
- Поля ввода с рамкой
- Цветные поля ввода
- Поля ввода в фокусе
- Поле ввода с иконкой/изображением
- Анимированное поле ввода
- Стилизация области ввода
- Стилизация меню выбора
- Стилизация кнопок ввода
- Как изменить цвет текста и фона в текстовом поле?
- Решение
- Как изменить цвет текста и фона в текстовом поле?
- Решение
Стилизация форм
При помощи CSS можно качественно улучшить внешний вид HTML форм:
Стилизация полей ввода
Для определения ширины поля ввода можно использовать свойство width :
В приведенном выше примере стили будут применяться ко всем элементам . Если же вам нужно настроить стили для поля ввода определенного типа, то вы можете использовать селекторы атрибутов:
- input[type=text] — выберет только текстовые поля ввода
- input[type=password] — выберет только поля ввода паролей
- input[type=number] — выберет только цифровые поля ввода
- и так далее..
Промежутки у полей ввода
Чтобы добавить дополнительные промежутки внутри поля ввода, используйте свойство padding .
Когда в форме много полей ввода, идущих друг за другом, также может потребоваться использовать свойство margin , чтобы добавить дополнительные отступы снаружи поля ввода:
Обратите внимание, что мы установили для свойства box-sizing значение border-box . Это сделано для того, чтобы промежутки и рамки включались в ширину и высоту элементов.
Поля ввода с рамкой
Чтобы изменить цвет и размер рамки поля ввода, используйте свойство border . Для добавления закругленных углов, используйте свойство border-radius :
Если вы хотите, чтобы рамка была только снизу поля ввода, то используйте свойство border-bottom :
Цветные поля ввода
Чтобы добавить фоновый цвет для поля ввода, используйте свойство background-color . Чтобы изменить цвет текста в поле ввода, используйте свойство color :
Поля ввода в фокусе
По умолчанию, некоторые браузеры добавляют синюю внешнюю рамку вокруг поля ввода, когда оно получает фокус (пользователь кликает на него). Вы можете убрать такое поведение добавив для поля ввода свойство outline: none; .
Чтобы определить какой-нибудь свой стиль для поля ввода, находящегося в фокусе, используйте псевдокласс :focus :
Поле ввода с иконкой/изображением
Если вы хотите внутри поля ввода разместить иконку, то используйте свойство background-image . Позиционировать ее можно при помощи свойства background-position . Также, обратите внимание, что мы добавляем большой отступ слева, чтобы зарезервировать место для иконки:
Анимированное поле ввода
В следующем примере мы используем свойство transition , чтобы добавить анимацию на изменение ширины поля ввода, когда оно получает фокус:
input[type=text] < transition: width 0.4s ease-in-out; >input[type=text]:focus
Стилизация области ввода
Чтобы запретить изменять размер области текстового ввода (отключить «захват» в левом нижнем углу), используйте свойство resize :
Стилизация меню выбора
Стилизация кнопок ввода
input[type=button], input[type=submit], input[type=reset]
Чтобы ширина кнопки была во весь экран, используйте width: 100%; .
Как изменить цвет текста и фона в текстовом поле?
Установить цвет фона и текста для однострочного текстового поля формы.
Решение
Цвет фона элемента задается стилевым свойством background-color , а цвет текста с помощью color , эти свойства необходимо добавить к селектору INPUT . Поскольку тег является универсальным, то он создает не только текстовое поле, но и другие элементы форм и чтобы определить стиль для конкретного поля можно воспользоваться классами, как показано в примере 1.
Пример 1. Цвет текста и фона в текстовом поле
HTML5 CSS 2.1 IE Cr Op Sa Fx
Результат примера показан на рис. 1.
Рис. 1. Вид текстового поля после добавления к нему стилей
В данном примере добавляется новый класс с именем colortext , он добавляется к тегу с помощью конструкции class=»textfield» .
Аналогично можно определить стиль одновременно для всех текстовых полей, зная, что к тегу в этом случае всегда добавляется атрибут type . Используя запись INPUT[type=»text»] задаем стиль для всех элементов , но стиль применяется только в том случае, когда значение атрибута type равно text (пример 2).
Пример 2. Использование селекторов атрибутов
XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx
INPUT[type="text"]
Как изменить цвет текста и фона в текстовом поле?
Установить цвет фона и текста для однострочного текстового поля формы.
Решение
Цвет фона элемента задается стилевым свойством background-color , а цвет текста с помощью color , эти свойства необходимо добавить к селектору INPUT . Поскольку тег является универсальным, то он создает не только текстовое поле, но и другие элементы форм и чтобы определить стиль для конкретного поля можно воспользоваться классами, как показано в примере 1.
Пример 1. Цвет текста и фона в текстовом поле
HTML5 CSS 2.1 IE Cr Op Sa Fx
Результат примера показан на рис. 1.
Рис. 1. Вид текстового поля после добавления к нему стилей
В данном примере добавляется новый класс с именем colortext , он добавляется к тегу с помощью конструкции class=»textfield» .
Аналогично можно определить стиль одновременно для всех текстовых полей, зная, что к тегу в этом случае всегда добавляется атрибут type . Используя запись INPUT[type=»text»] задаем стиль для всех элементов , но стиль применяется только в том случае, когда значение атрибута type равно text (пример 2).
Пример 2. Использование селекторов атрибутов
XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx
INPUT[type="text"]