Товаров: 0 (0р.)

Input размер поля: Как установить ширину текстового поля в пикселах?

Атрибут size тега | HTML справочник

HTML тег <input>

Значение и применение

Атрибут size (HTML тега <input>) определяет ширину для элемента (в символах). Только для элементов управления следующих типов: text, search, tel, url, email и password (остальные игнорируются). Значение по умолчанию 20 символов.


Обращаю Ваше внимание, что вы можете указать максимально допустимое количество символов в элементе с использованием атрибута maxlength.


Поддержка браузерами

Синтаксис:

<input size = "number"> 

Значения атрибута

ЗначениеОписание
numberЗадает ширину элемента <input> в символах (значение должно быть больше нуля). Значение по умолчанию 20.

Отличия HTML 4.01 от HTML 5

Нет.

Пример использования

<!DOCTYPE html>
<html>
	<head>
		<title>Использование атрибута size HTML тега <input></title>
	</head>
	<body>
		<form name = "myForm"> <!-- создаем форму --> 
			<input type = "text" size = "3" value = "3"><br> <!-- ширина элемента 3 символа -->
			<input type = "text" size = "5" value = "5"><br> <!-- ширина элемента 5 символов --> 
			<input type = "text" size = "10" value = "10"><br> <!-- ширина элемента 10 символов --> 
			<input type = "text" value = "20 (по умолчанию)"><br> <!-- ширина элемента 20 символов (по умолчанию) --> 
		</form>
	</body>
</html>

В данном примере мы создали форму (HTML тег <form>). Внутри формы мы поместили элементы управления <input> для ввода текстовой информации, для которых с помощью атрибута size мы указали различную ширину элементов (3

символа для первого, 5 символов для второго, 10 символов для третьего, для четвертого установлено значение по умолчанию 20 символов).

Результат нашего примера:

Пример использования атрибута size HTML тега <input>.HTML тег <input>

Тюнинг резинового текстового поля / Хабр

Думаю, что многим верстальщикам (и не только) приходилось верстать текстовые поля (), задавая им произвольные размеры. Но как сделать данный элемент резиновым и удовлетворить условиям:
  1. Возможность установки любых горизонтальных и вертикальных отступов у текста;
  2. Элемент должен занимать весь контейнер, в который он помещен;
  3. Клик мышью в любое место текстового поля устанавливает в нем курсор.

Ответ достаточно прост и решается следующим методом:


Для начала, надо понять, что происходит с input-элементом при выставлении его ширины в 100% и добавления слева и справа отступов для текста.
Согласно стандартам CSS (а в данном случае их поддерживают все браузеры), результирующая ширина элемента input, при отсутствии границ (border) и внешних отступов полей (margin), будет равна:

width = width + padding-left + padding-right

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

Чтобы итоговая ширина была равна 100%, можно использовать систему из двух контейнеров:

		<div>
			<div>
				<input type="text" value="" />
			<div>
		</div>
		

Каждый контейнер выполняет свою роль:
  1. input-width – этот контейнер задает результирующую ширину текстового поля;
  2. width-setter – этот контейнер задает ширину input-элемента за вычетом горизонтальных внутренних отступов.

Вот набор стилей, который разъяснит эту конструкцию:
	.input-width {
		height:23px;
		border:1px solid #999;
		background:#fff;
	}
	.width-setter {
		height:23px;
		margin:0 9px;
	}
	.width-setter input {
		width:100%;
		height:14px;
		padding:4px 9px 5px;
		margin:0;
		font-family:Tahoma, Geneva, sans-serif;
		font-size:12px;
		line-height:14px;
		color:#000;
		border:0 none;
		background:#9C6;
	}
		

Пример 1

Из стилей получается, что элемент 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.
Опишем по-новому исходный набор контейнеров:

	.input-width {
		height:23px;
		border:1px solid #999;
		background:#fff;
	}
	.width-setter {
		height:23px;
		margin:0 9px;
		position:relative;
	}
	.width-setter input {
		width:100%;
		height:14px;
		padding:4px 9px 5px;
		margin:0;
		font-family:Tahoma, Geneva, sans-serif;
		font-size:12px;
		line-height:14px;
		color:#000;
		border:0 none;
		background:#9C6;
		position:absolute;
		left:-9px;
		top:0;
	}

Пример 2

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

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 кроссбраузерная работоспособность метода не гарантирована.

Атрибут height тега | HTML справочник

HTML тег <input>

Значение и применение

Атрибут height (HTML тега <input>) задает высоту элемента.

Атрибут используется только с элементами управления, которые определяют графическую кнопку «отправить форму» (<input type = «image»>).


Обращаю Ваше внимание, что рекомендуется всегда указывать высоту (height) и ширину (width) для изображений, в этом случае браузер резервирует пространство, необходимое для этих изображений при их загрузке. Если размеры изображения не заданы, то вы можете столкнуться с тем, что при загрузке страницы макет страницы будет меняться.


Поддержка браузерами

Синтаксис:

/* значение указывается цифрой (нет необходимости добавлять px) */
<input height = "pixels">  

Например:
<input height = "50">  

Значения атрибута

ЗначениеОписание
pixelsЗадает высоту элемента в пикселях.

Отличия HTML 4.01 от HTML 5

Атрибут height считается новым в HTML 5.

Пример использования

<!DOCTYPE html> <html> <head> <title>Пример использования атрибута height HTML тега <input></title> </head> <body> <form> Login: <input type = "text" name = "login"><br><br> <input type = "image" src = "../../images/right2.png" alt = "submit" width = "40" height = "40"> </form> </body> </html>

В данном примере мы создали элемент управления, который определяют графическую кнопку «отправить форму» (<input type = «image»>). В атрибуте src элемента мы указали относительный путь к файлу с изображением, в атрибуте alt указали альтернативный текст, для того случая если изображение по каким-то причинам не будет загружено. Размеры изображения в пикселях мы задали с использованием атрибутов width (ширина) и height (высота).

Результат нашего примера:

Пример использования атрибута height HTML тега <input> (высота элемента).HTML тег <input>

Динамическая ширина текстового поля ввода (HTML)

Как я могу иметь текстовое поле, которое наследует ширину его контейнера?

например, у меня есть div, внутри которого есть текстовое поле.

<div> <input type='text' name='txtUsername'> </div>

что я хотел сделать, так это изменить размер браузера, текстовое поле должно соответствовать ширине родительского div.

С кодом выше текстовое поле всегда переполняется контейнером, когда я изменяю размер браузера на меньшую ширину.

3 ответов


вы должны использовать box-sizing:border-box вместе с width:100%. Таким образом input будет соответствовать 100% ширины контейнера, но не будет переполнять его из-за добавленного inputс подкладкой:

#content input
{
    width:100%;
    box-sizing:border-box;
    -moz-box-sizing:border-box;
}

демо: http://jsfiddle.net/745Mt/1/

подробнее о box-sizing CSS свойство с примерами:http://css-tricks.com/box-sizing/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *