Думаю, что многим верстальщикам (и не только) приходилось верстать текстовые поля (), задавая им произвольные размеры. Но как сделать данный элемент резиновым и удовлетворить условиям:
Возможность установки любых горизонтальных и вертикальных отступов у текста;
Элемент должен занимать весь контейнер, в который он помещен;
Клик мышью в любое место текстового поля устанавливает в нем курсор.
Ответ достаточно прост и решается следующим методом:
Для начала, надо понять, что происходит с input-элементом при выставлении его ширины в 100% и добавления слева и справа отступов для текста.
Согласно стандартам CSS (а в данном случае их поддерживают все браузеры), результирующая ширина элемента input, при отсутствии границ (border
) и внешних отступов полей (margin
), будет равна:
width = width + padding-left + padding-right
Т.е. она будет больше на величину внутренних горизонтальных отступов, и получившийся при этом элемент будет выступать за отведенную для него область.
Чтобы итоговая ширина была равна 100%, можно использовать систему из двух контейнеров:
Каждый контейнер выполняет свою роль:
input-width
– этот контейнер задает результирующую ширину текстового поля;
width-setter
– этот контейнер задает ширину input-элемента за вычетом горизонтальных внутренних отступов.
Вот набор стилей, который разъяснит эту конструкцию:
Из стилей получается, что элемент input-width
задает ширину, которую должно было занимать текстовое поле. Элемент width-setter
задает ширину input-элемента меньше на горизонтальные внутренние отступы. Стоит заметить, что его внешние отступы поля (margin
) должны быть равны padding-left
и padding-right
для элемента input.
При таком описании input-элемент будет выступать из width-setter
на величину своих горизонтальных отступов (padding
), а в IE6 - растягивать всех «родителей» под собственные размеры (пример 1). Также в браузерах IE6-7 input-элемент имеет отступы, которые нельзя убрать, обнуляя свойство margin
. Чтобы изменить такое расположение, надо сдвинуть текстовое поле влево, на размер левого отступа (padding-left
). Можно это осуществить через position:relative, но при этом в IE6 останется растянутым под ширину текстового поля input контейнер width-setter
. Для устранения растяжения надо сделать так, чтобы элемент не мог влиять на размеры своего родителя, задав, например, ему position:absolute
.
Опишем по-новому исходный набор контейнеров:
В итоге, при применении таких стилей выполняются поставленные в начале задачи. Текстовое поле получилось с заданными отступами резиновым и кликабельным в любом его месте.
Чтобы задать конкретную ширину итоговому элементу, необходимо лишь прописать свойство width
для контейнера input-width
.
Примечание
. Приведенный метод реализации резинового текстового поля проверен на Doctype: HTML 4.01, XHTML 1.0 и HTML (HTML 5) - и имеет кроссбраузерность: IE6-8, Opera 9+, FF 2.0+, Safary 2.0+, Chrome. При отсутствии Doctype кроссбраузерная работоспособность метода не гарантирована.
С помощью свойства "Размер поля" у числовых полей в таблицах Access можно регулировать объем, занимаемый записями в базе данных. Размер можно менять и у текстовых полей, хотя эффект этого с точки зрения экономии пространства не так заметен.
Примечание:
Функции, описанные в этой статье, не относятся к веб-приложениям и веб-базам данных Access.
В этой статье
Результат изменения размера поля
Можно менять размер как пустого поля, так и поля, которое уже содержит данные. Результат изменения размера поля зависит от того, содержит ли оно данные.
Если поле не содержит данных
При изменении размера поля устанавливается предельный размер новых значений в этом поле. Для числовых полей размер точно определяет объем дискового пространства, используемого приложением Access для хранения каждого значения соответствующего поля. Для текстовых полей размер поля определяет максимальный объем дискового пространства, который Access может выделить для каждого значения этого поле.
Если поле содержит данные
При изменении размера поля Access обрезает все значения в поле, которые превышают заданный размер, а также ограничивает размер новых значений данных в поле, как описано выше.
Изменение размера числового поля
Совет:
Конструктор
.
В области Свойства поля
на вкладке Общие
Размер поля
. Можно выбрать одно из значений, перечисленных ниже.
Байт
- для целых чисел от 0 до 255. Для хранения требуется 1 байт.
Целое число
- для целых чисел от -32 768 до +32 767. Для хранения требуется 2 байта.
Длинное целое
- для целых чисел от -2 147 483 648 до +2 147 483 647. Для хранения требуется 4 байта.
Совет:
Тип данных "Длинное целое" следует использовать при создании внешнего ключа для связывания поля с полем первичного ключа другой таблицы, которое имеет тип данных "Счетчик".
Одинарное с плавающей точкой
- для чисел с плавающей точкой от -3,4 x 1038 до +3,4 x 1038, которые имеют до 7 значимых разрядов. Для хранения требуется 4 байта.
Двойное с плавающей точкой
- для чисел с плавающей точкой от -1,797 x 10308 до +1,797 x 10308, которые имеют до 15 значимых разрядов. Для хранения требуется 8 байтов.
Код репликации
- для идентификатора GUID, необходимого для репликации.
Примечание:
Репликация не поддерживается для файлов формата ACCDB.
Действительное число
- для числовых значений от -9,999... x 1027 до +9,999... x 1027. Для хранения требуется 12 байтов.
Изменение размера текстового поля
Совет:
Если поле, размер которого необходимо изменить, уже содержит данные, перед продолжением рекомендуется создать резервную копию базы.
В области навигации щелкните правой кнопкой мыши таблицу, содержащую поле, которое нужно изменить, и выберите команду Конструктор
.
В сетке конструктора таблицы выберите поле, размер которого необходимо изменить.
В области Свойства поля
на вкладке Общие
укажите новый размер поля в качестве значения свойства Размер поля
. Введите значение от 1 до 255. Это число определяет максимальное количество символов, содержащихся в каждом из значений. Для больших полей используйте тип данных Memo (в Access 2016 - "Длинный текст").
Примечание:
Для данных в текстовых полях (в Access 2016 - "Краткий текст") Access не резервирует больше места, чем необходимо для хранения фактических значений. Свойство Размер поля
определяет размер максимального значения поля.
Тег является одним из разносторонних элементов формы и позволяет создавать разные элементы интерфейса и обеспечить взаимодействие с пользователем. Главным образом предназначен для создания текстовых полей, различных кнопок, переключателей и флажков. Хотя элемент не требуется помещать внутрь контейнера
Определяет, как выравнивать поле с изображением относительно текста или других элементов формы.
Синтаксис
Аргументы
bottom
- Выравнивание нижней границы изображения по окружающему тексту
left
- Выравнивает изображение по левому краю окна
middle
- Выравнивание середины изображения по базовой линии текущей строки.
right
- Выравнивает изображение по правому краю окна.
top
- Верхняя граница изображения выравнивается по самому высокому элементу текущей строки.
Значение по умолчанию bottom. Браузеры также подддерживают аргументы absbottom
, absmiddle
, baseline
и texttop
, которые не включены в спецификацию HTML 4.01.
Параметр ALT
Параметр alt устанавливает альтернативный текст для поля с изображением. Такой текст позволяет получить текстовую информацию о рисунке при отключенной в браузере загрузке изображений. Поскольку загрузка изображений происходит после получения браузером информации о нем, то замещающий рисунок текст появляется раньше. А уже по мере загрузки текст будет сменяться изображением. Браузеры также отображают альтернативный текст в виде подсказки, появляющейся при наведении курсора мыши на изображение.
Синтаксис
Значением может быть любая подходящая текстовая строка. Ее обязательно надо брать в двойные или одинарные кавычки.
Параметр BORDER
Браузеры обрабатывают изображения, добавленные через тег , подобно рисункам, созданным с помощью тега . В том числе вокруг изображения можно добавить рамку, цвет которой совпадает с цветом текста.
Синтаксис
Допустимое значение - любое целое положительное число в пикселах. Значение по умолчанию 0.
Параметр CHECKED
Этот параметр определяет, помечен ли заранее такой элемент формы, как флажок или переключатель. В случае использования переключателей (radiobutton), может быть отмечен только один элемент группы, для флажков (checkbox) допустимо пометить хоть все элементы.
Синтаксис
Параметр DISABLED
Блокирует доступ и изменение поля формы. Оно в таком случае отображается серым и недоступным для активации пользователем. Кроме того, такое поле не может получить фокус путем нажатия на клавишу Tab, мышью или другим способом. Тем не менее, такое состояние поля можно менять с помощью скриптов.
Синтаксис
Параметр MAXLENGTH
Устанавливает максимальное число символов, которое может быть введено пользователем в текстовом поле. Когда это количество достигается при наборе, дальнейший ввод становится невозможным.
Синтаксис
Параметр NAME
Определяет уникальное имя элемента формы. Как правило, это имя используется при отправке данных на сервер или для доступа к введенным данным поля через скрипты.
Синтаксис
В качестве имени используется набор символов, включая числа и буквы. JavaScript чувствителен к регистру, поэтому при обращении к элементу по имени соблюдайте ту же форму написания, что и в параметре name.
Параметр READONLY
Когда к тегу добавляется параметр readonly, текстовое поле не может изменяться пользователем, в том числе вводиться новый текст или модифицироваться существующий. Кроме того, такое поле не может получить фокус путем нажатия на клавишу Tab, мышью или другим способом. Тем не менее, состояние и содержимое поля можно менять с помощью скриптов.
Синтаксис
Параметр SIZE
Ширина текстового поля, которое определяется числом символов моноширинного шрифта. Иными словами, ширина задается количеством близстоящих букв одинаковой ширины по горизонтали. Если размер шрифта изменяется с помощью стилей, ширина также соответственно меняется.
Синтаксис
Допустимое значение - любое целое положительное число.
Параметр SRC
Адрес графического файла, который будет отображаться на веб-странице в поле с изображением.
Синтаксис
В качестве значения принимается полный или относительный путь к файлу.
Параметр TYPE
Обязательный параметр type сообщает браузеру, к какому типу относится элемент формы.
Синтаксис
Аргументы
button
- Кнопка.
checkbox
- Флажки. Позволяют выбрать более одного варианта из предложенных.
file
- Поле для ввода имени файла, который пересылается на сервер.
hidden
- Скрытое поле. Оно никак не отображается на веб-странице.
image
- Поле с изображением. При нажатии на рисунок данные формы отправляются на сервер.
password
- Обычное текстовое поле, но отличается от него тем, что все символы показываются звездочками. Предназначено для того, чтобы никто не подглядел вводимый пароль.
radio
- Переключатели. Используются, когда следует выбрать один вариант из нескольких предложенных.
reset
- Кнопка для возвращение данных формы в первоначальное значение.
submit
- Кнопка для отправки данных формы на сервер.
text
- Текстовое поле. Предназначено для ввода символов с помощью клавиатуры.
Значение по умолчанию - text.
Параметр VALUE
Определяет значение элемента формы, которое будет отправлено на сервер или получено с помощью клиентских скриптов. На сервер отправляется пара «имя=значение», где имя задается параметром name тега , а значение — параметром value.
В зависимости от типа элемента параметр value выступает в следующей роли:
для кнопок (input type="button | reset | submit") устанавливает текстовую надпись на них;
для текстовых полей (input type="password | text") указывает предварительно введенную строку. Пользователь может стирать текст и вводить свои символы, но при использовании в форме кнопки Reset пользовательский текст очищается и восстанавливается введенный в параметре value;
для флажков и переключателей (input type="checkbox | radio") уникально определяет каждый элемент, с тем, чтобы клиентская или серверная программа могла однозначно определить, какой пункт выбрал пользователь.
HTML-формы
являются элементами управления, которые применяются для сбора информации от посетителей веб-сайта.
Веб-формы состоят из набора текстовых полей, кнопок, списков и других элементов управления, которые активизируются щелчком мыши. Технически формы передают данные от пользователя удаленному серверу.
Для получения и обработки данных форм используются языки веб-программирования, такие как PHP
, Perl
.
До появления HTML5 веб-формы представляли собой набор нескольких элементов , , завершающихся кнопкой . Для стилизации форм в разных браузерах приходилось прилагать немало усилий. Кроме того, формы требовали применения JavaScript для проверки введенных данных, а также были лишены специфических типов полей ввода для указания повседневной информации типа дат, адресов электронной почты и URL-адресов.
HTML5-формы
решили большинство этих распространенных проблем благодаря наличию новых атрибутов, предоставив возможность изменять внешний вид элементов форм за счет CSS3
.
Рис. 1. Улучшенные веб-формы с помощью HTML5
Создание HTML5-формы
1. Элемент
. Он не предусматривает ввод данных, так как является контейнером, удерживая вместе все элементы управления формы – поля
. Атрибуты этого элемента содержат информацию, общую для всех полей формы, поэтому в одну форму нужно включать поля, объединенные логически.
Таблица 1. Атрибуты тега
2. Группировка элементов формы
Элемент
предназначен для группировки элементов, связанных друг с другом, разделяя таким образом форму на логические фрагменты.
Каждой группе элементов можно присвоить название с помощью элемента