Type range можно ли опустить атрибуты – Спаренный range input с двумя ползунками. Есть ли варианты получше чем в теле вопроса?

Содержание

Ползунок в HTML (оформление и вывод значения)

Всем привет!
Сделать ползунок в HTML – не проблема, для многих сделать это – проще простого. А вот оформить и красиво вывести значение ползунка умеют не все.
Так вот, в сегодняшней статье я расскажу, как создать ползунок, как вывести результат и как оформить ползунок.

С чего же начнем? Начнем с того, что я покажу, каким тегом создается ползунок, и какие атрибуты у него есть.
Для создания ползунка в HTML существует тег «input»:

<input ENGINE="range">

В результате получится вот такое:

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

Атрибуты:

Пример:


<input type="range" min="0" max="10" list="rangeList1">
<datalist>
<option value="0" label="0">
<option value="5" label="5">
<option value="10" label="10">
</datalist>

Обратите внимание на имя «rangeList1». Посмотрите, где я его прописал в коде. Это имя может быть любым, но должно быть уникальным и писаться латинскими буквами. Имя в id должно соответствовать имени «list».

Name — присваивает имя ползунку.
Step — устанавливает интервал увеличения значения (перемещения) ползунка.
Значение по умолчанию: «1».
Value — указывает числовое значение ползунка, отправляемое на сервер или используемое сценариями.

Как вывести значение ползунка?

Все, конечно, круто, но какой смысл в ползунке, если он ничего не выводит.
Сейчас мы все исправим и выведем значение средствами JavaScript без какой-либо магии.

onchange="document.getElementById('rangeValue').innerHTML = this.value;"

Вот этот код нужно вставить в ползунок.
Заметьте, если в скобках вы указали «rangeValue», тогда при выводе результата нужно тоже указать это же имя, а иначе работать не будет:

<span>5</span>

Полный пример:


<input type="range" step="5" min="0" max="10" list="rangeList" onchange="document.getElementById('rangeValue').innerHTML = this.value;">
<datalist>
<option value="0" label="0">
<option value="5" label="5">
<option value="10" label="10">
</datalist>
<span>5</span>

А вот и результат:

[ посмотреть демонстрацию ]

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


<form onsubmit="return false" oninput="level.value = flevel.valueAsNumber">
<input name="flevel" type="range" min="20" max="10000" value="20" step="10">
<output for="flying" name="level">20</output>
</form>

Результат:

[ посмотреть демонстрацию ]

Как оформить ползунок?

Итак, мы имеем стандартный ползунок, и отображается он на каждом браузере по-разному:

Ползунок в HTML (оформление и вывод значения)

Приступим к изменению вида

В браузерах Chrome, Safari и Opera

Отменим стандартные стили Webkit/Chrome. Для этого зададим свойству «-webkit-appearance» значение «none»:


input[type=range]
{
-webkit-appearance: none
}

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


input[type=range]::-webkit-slider-runnable-track {
border-radius: 10px;
height: 10px;
border: 1px solid #000;
background-color: #ccc;
}

В результате это выглядит пока что вот так:

Ползунок в HTML (оформление и вывод значения)

Теперь изменим ползунок:


input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
background-color: #000;
border: 3px solid #0b6b00;
width: 20px;
height: 20px;
border-radius: 10px;
cursor: pointer;
margin-top: -5px;
}

В результате:

Ползунок в HTML (оформление и вывод значения)

В браузере Firefox

Псевдоэлемент «::-moz-range-track» повлияет на полосу ползунка, а «::-moz-range-track» повлияет на ручку ползунка.

Пробуем:


input[type=range]::-moz-range-track
{
border-radius: 10px;
height: 10px;
border: 1px solid #666;
background-color: #ccc;
}

input[type=range]::-moz-range-thumb
{
background-color: #000;
border: 3px solid #0b6b00;
width: 20px;
height: 20px;
border-radius: 20px;
cursor: pointer;
}

В браузере Internet Explorer

Дошла очередь до самого известного и самого корявого, как по мне, браузера Internet Explorer:


input[type="range"]::-ms-track {
border-radius: 10px;
height: 10px;
border: 1px solid #666;
background-color: #ccc;
}

input[type="range"]::-ms-thumb
{
background-color: #000;
border: 3px solid #0b6b00;
width: 20px;
height: 20px;
border-radius: 10px;
cursor: pointer;
}

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

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓


Последние новости категории:

Похожие статьи

Популярные статьи:

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

Метки: css, html, javascript, Вебмастеру, для сайта

Элемент input



Большинство элементов добавляется в форму с помощью элемента <input>. Назначение и внешний вид элемента <input> меняются в зависимости от значения атрибута type.

Значение атрибута type: text

Когда атрибуту tуре присваивается значение text, это значит, что будет создано однострочное поле ввода текста:

<input type="text">

Пример HTML:

Попробуй сам
<form action="action_form.php" method="POST">
  Имя пользователя:<br> 
  <input type="text" name="firstname"><br>   
  <input type="submit">  
</form>

Значение атрибута type: password

Чтобы создать поле для ввода пароля, необходимо задать значение password атрибуту type (password (англ.) — пароль):
<input type="password">

Пример HTML:

Попробуй сам
<form action="" method="POST">
  Имя пользователя:<br> 
  <input type="text" name="username" value="Ваше имя"><br>   
  Пароль:<br> 
  <input type="password" name="password"><br>
  <input type="submit">  
</form>

Значение атрибута type: radio

Элемент <input> типа radio создает переключатели, которые используют принцип логического «ИЛИ», позволяя выбрать только одно из нескольких значений: если вы выбираете одно положение, то все остальные становятся неактивными. Основной синтаксис элемента-переключателя:

<input type="radio" name="name" value="значение">

Пример: Использование переключателей

<form action="" method="POST">
  <p>Сколько Вам лет?</p>
  <ol>
    <li><input type="radio" name="age" value="18" checked>младше 18</li>
    <li><input type="radio" name="age" value="18-24">от 18 до 24</li>
    <li><input type="radio" name="age" value="25-34">от 25 до 35</li>
    <li><input type="radio" name="age" value="35-50">более 35</li>
  </ol>
</form>

Значение атрибута type: checkbox

Элемент <input> типа checkbox создает флажки, которые напоминают переключатели тем, что дают пользователю возможность выбирать из предложенных вами вариантов. Главным отличием от переключателей является то, что посетитель может выбрать сразу несколько вариантов, а сами флажки обозначаются квадратиками, а не кружочками:

<input type="checkbox" name="name" value="значение">

Пример: Использование флажков

<form action="" method="POST">
  <p>Какие музыкальные жанры Вы любите?</p>
  <ol>
    <li><input type="checkbox" name="musik" value="juze" checked>Джаз</li>
    <li><input type="checkbox" name="musik" value="bluse" checked>Блюз</li>
    <li><input type="checkbox" name="musik" value="rock">Рок</li>
    <li><input type="checkbox" name="musik" value="shanson">Шансон</li>
    <li><input type="checkbox" name="musik" value="kantry">Кантри</li>
  </ol>
</form>

Значение атрибута type: submit

Элемент <input> типа submit создает кнопку, при нажатии которой происходит отправка браузером серверному сценарию на обработку данных, введенных пользователем в форму:

<input type="submit" name="name" value="значение">

Пример: Использование submit и reset

<form action="action_form.php" method="POST">
 <p>Подпишись на рассылку новостей:</p> 
  <input type="text" name="email">
  <input type="submit" name="podpisatsya" value="Подписаться">
  <input name="reset" type="reset" value="Очистить">
</form>

Значение атрибута type: button

Элемент <input> типа button создает произвольную кнопку. Для таких кнопок действие по умолчанию не определено, а браузеры пользователей должны использовать в качестве надписи на кнопке значение атрибута value. С атрибутами событий каждой такой кнопки (щелчок мышью на кнопке или дрyrое событие) могyт быть связаны прогpаммы обработки этих событий, которые могyт выполнять определенные действия. Эти проrpаммы обычно называют сценариями, и выполняются они непосредственно браузером пользователя, без передачи данных на Web-cepBep.

<input type="button" name="name" value="имя_кнопки">

Пример: Использование произвольной кнопки

HTML5 Новые значения type

В HTML5 появились новые типы полей форм, позволяющие более точно описать вводимые пользователем данные. Более старые версии браузеров, не поддерживающие HTML5, будут визуализировать такие элементы формы просто как однострочные поля ввода текста.

Значение атрибута type: date

Для запроса ввода даты вы можете использовать элемент <input> со значением date атрибута type. Таким образом, в браузерах, поддерживающих элементы формы спецификации HTML5, будет выведено поле для ввода даты.

<input type="date">

Значение атрибута type: week

При использовании типа поля ввода week соответствующий инструмент-указатель позволит пользователю выбрать одну неделю в году, после чего обеспечит ввод данных в формате, например, Неделя 25, 2017.

<input type="week" name="week">

Значение атрибута type: month

Для запроса ввода определенного месяца года вы можете использовать элемент <input> со значением month атрибута type. Интерфейс позволит пользователю выбрать один месяц, после чего обеспечит ввод данных в виде года и месяца.

<input type="month" name="month">

Значение атрибута type: time

Поле ввода, относящееся к типу time, допускает ввод значений в 24-часовом формате, например 17:30. В поддерживающих браузерах оно отображается как элемент управления в виде числового поля ввода со значением, изменяемым с помощью мыши, и допускает ввод только значений времени.

<input type="time" name="time">

Значение атрибута type: datetime

<input type=»datetime»> создает элемент ввода сочетания даты и времени, который содержит информацию о часовом поясе. При вводе данных в поле типа datetime генерируются значения даты и времени разделенные буквой T, а в конце строки помечается часовой пояс буквой Z в случае с UTC (Universal Coordinated Time — универсальное координированное время). Учитывая, что UTC является практически эквивалентом GMT (Greenwich Mean Time — среднее время по Гринвичу), стандартное московское время на 3 часа опережает GMT (UTC + 3:00).

<input type="datetime" name="datetime">

Значение атрибута type: datetime-local

Тип ввода данных datetime-local работает точно так же, как и datetime, однако не включает информацию о часовом поясе. Значение представляет собой дату и время в формате ISO без учета часового пояса (ГГГГ-ММ-ДДТчч:мм:сс).

<input type="datetime-local" name="datetime-local">

Значение атрибута type: number

Элемент <input> типа number создает поле, в которое пользователь может вводить только числовое значение. Для типа ввода number браузер предоставляет виджет счетчика, который представляет собой поле, справа от которого находятся две кнопки со стрелками — для увеличения и уменьшения числового значения. В поле счетчика по умолчанию разрешен прямой ввод с клавиатуры. Для указания минимальных и максимальных допустимых значений ввода предназначены атрибуты min и max, а также можно установить шаг приращения с помощью атрибута step.
Синтаксис создания поля для ввода чисел следующий:

<input type="number" name="num" min="1" max="12" value="1" step="1">

Значение атрибута type: range

Поле ввода типа range элемента <input> позволит создать такой элемент интерфейса, как ползунковый регулятор. Ползунок предназначен только для выбора числовых значений в некоем диапазоне, при этом для пользователя не все браузеры отображают текущее числовое значение. Основной синтаксис создания ползунка:

<input type="range" min="0" max="100" step="1" value="50">

Нижняя и верхняя границы диапазона min и max ограничивают значения, которые могут храниться в поле формы. Диапазон по умолчанию — от 0 до 100. Атрибут step позволяет разработчикам указывать шаг изменения чисел (по умолчанию 1). Текущее значение задается в атрибуте value. По умолчанию value = (max + min)/2. Вышеперечисленные атрибуты не являются обязательными и, если их опустить, то в таком случае они принимают значения по умолчанию.

Значение атрибута type: color

Поле ввода type=»color» генерирует палитры цветов обеспечивая пользователям возможность выбирать значения цветов в шестнадцатеричном формате RGB (#RRGGBB). Синтаксис создания поля для задания цвета:

<input type="color" value="цвет" name="имя">

Атрибут value предназначен для задания исходного цвета (#RRGGBB) и не является обязательным. Атрибут name применяется для идентификации получаемого значения.

Значение атрибута type: email

Поле типа email представляет из себя однострочное текстовое поле и предназначено для ввода либо отдельного адреса, либо списка адресов электронной почты. Браузеры, поддерживающие язык HTML5, проверят, соответствует ли введенный посетителем адрес электронной почты принятому стандарту для данного типа адресов. Синтаксис создания поля следующий:

<input type="email">

Элемент <input type=»email»> может включать атрибуты свойственные типу text, а также добавлен атрибут multiple, который позволяет вводить сразу список из допустимых электронных адресов, разделенных запятыми.

Значение атрибута type: url

Элемент <input> типа url адаптирован для ввода URL-адресов, например адреса какой-либо страницы во всемирной паутине. Строка <input type=»url»> заставляет браузер проверять, правильно ли пользователь ввел URL-адрес. При использовании поля ввода type="url" на устройствах с сенсорными экранами, внешний вид встроенной виртуальной клавиатуры будет оптимизирован для отображения символов, наиболее часто встречающихся в URL-дpecax.
Атрибуты для элемента <input> типа url совпадают с текстовым полем (<input type=»text»>). Некоторые браузеры добавляют специфическую информацию в предупреждающие сообщения, выводимые на экран, при попытке отправить форму с некорректными значениями URL-адреса. Далее приведен пример кода, включающего атрибут placeholder (с англ. — заполнитель), значение которого в виде подсказки будет по умолчанию отображаться, пока поле ввода URL-адреса не получит фокус:

Значение атрибута type: search

Поле ввода type="search" работает таким же образом, как и стандартное текстовое поле ввода, разница между типами ввода данных search и text чисто стилистическая. Некоторые браузеры немного по-разному выполняют визуализацию на основе одного и того же кода.
Синтаксис поля ввода поискового запроса:

<input type="email">

Используемые атрибуты совпадают с текстовым полем text:

Значение атрибута type: tel

Элемент <input> типа tel применяется для того, чтобы сообщить браузеру, что в соответствующем поле формы пользователь должен ввести телефонный номер. Несмотря на то, что телефонный номер представляет из себя числовой формат вводимых данных, в браузерах поле типа tel ведет себя как обычное текстовое поле ввода. Однако, применение типа поля ввода tel приводит к появлению на экранах мобильных устройств специальной клавиатуры, предназначенной для облегчения ввода информации. Синтаксис поля ввода номера телефона:

<input type="tel">

Значения атрибута type тега <input>

ЗначениеОписание
buttonСоздает кнопку с произвольным действием, действие по умолчанию не определено:
checkboxСоздает флажки, которые напоминают переключатели тем, что дают пользователю возможность выбирать из предложенных вариантов:
Я знаю HTML
colorГенерирует палитры цветов обеспечивая пользователям возможность выбирать значения цветов в шестнадцатеричном формате RGB:
dateПозволяет вводить дату в формате дд.мм.гггг.:
День рождения:
datetime-localПозволяет вводить дату и время, разделенные прописной английской буквой Т по шаблону дд.мм.гггг чч:мм:
Дата встречи — день и время:
emailБраузеры, поддерживающие язык HTML5, проверят, соответствует ли введенный посетителем адрес электронной почты принятому стандарту для данного типа адресов:
E-mail:
fileПозволяет загружать файлы с компьютера пользователя:
Выберите файл:
hiddenСоздает скрытый элемент, не отображаемый пользователю. Информация, хранящаяся в скрытом поле, всегда пересылается на сервер и не может быть изменена ни пользователем, ни браузером.
imageСоздает элемент в виде графического изображения, действующий аналогично кнопке Submit:
monthПозволяет пользователю вводить год и номер месяца по шаблону гггг-мм:
numberСоздает поле, в которое пользователь может вводить только числовое значение. Для типа ввода number браузер предоставляет виджет счетчика, который представляет собой поле, справа от которого находятся две кнопки со стрелками — для увеличения и уменьшения числового значения. Для указания минимальных и максимальных допустимых значений ввода предназначены атрибуты min и max, а также можно установить шаг приращения с помощью атрибута step:
Укажите число (от 1 до 10):
passwordТекстовое поле для ввода пароля, в котором все вводимые символы заменяются звездочкой либо другим, установленным браузером значком:
Введите пароль:
radioСоздает элемент-переключатель в виде небольшого кружка (иногда их называют радио-кнопками):
Радио-кнопки:
rangeСоздает такой элемент интерфейса, как ползунковый регулятор. Ползунок предназначен только для выбора числовых значений в некоем диапазоне, при этом для пользователя не все браузеры отображают текущее числовое значение:
resetСоздает кнопку, которая очищает поля формы от введенных пользователем данных:
searchСоздает поле поиска, по умолчанию поле ввода имеет прямоугольную форму:
Поиск:
submitСоздает стандартную кнопку, активизируемую щелчком мыши. Кнопка собирает информацию с формы и отправляет ее на сервер обработчику:
textСоздает однострочное поле ввода текста:
timeДопускает ввод значений в 24-часовом формате, например 17:30. Браузеры отображают его как элемент управления в виде числового поля ввода со значением, изменяемым с помощью мыши, и допускают ввод только значений времени:
Выберите время:
urlЗаставляет браузер проверять, правильно ли пользователь ввел URL-адрес. Некоторые браузеры добавляют специфическую информацию в предупреждающие сообщения, выводимые на экран, при попытке отправить форму с некорректными значениями URL-адреса:
Главная страница:
weekПозволяет пользователю выбрать одну неделю в году, после чего обеспечит ввод данных в формате нн-гггг:
Выберите неделю:

Задачи







Please enable JavaScript to view the comments powered by Disqus.

HTML5 input type range — ползунок и его оформление

Среди многих новых элементов формы, которые ввел HTML5, диапазон является, возможно, самым странным, но также и самым вообще полезным. Ранее требуя большого кодирования JavaScript или больших усилий и создания многих вариантов разметки и скриптов, для создания ползунков а, сейчас можно создать ползунок который будет отображаться во всех современных браузерах. Для полноценной работы клиент пользователя должен поддерживать html5 разметку.

Ползунок особенно полезен для форм, в которых существуют три условия:

Широкий диапазон чисел одинаково доступных пользователю.
Есть известный верхний и более низкий предел диапазона.
Пользователь, должен, будет «перетаскивать» при этом регулируя диапазон заданых чисел.

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

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

<label for=weight>Громкость</label>
<input type=range id=weight min=10 value=10 max=2000 step=100>

Альтернативы – прекрасный выбор вместо того, чтобы заменить ввод чисел, и никакой дополнительной разметки или javasript просто перетянуть ползунок и увидеть результат.

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

Установка, Доступность И Признаки

На базовом уровне у входа ползунка должно быть по крайней мере три признака: min(самое низкое принятое число), max (самое высокое) и value ( начальное значение). Поля формы должны были связать элементы лейбла, означая, что у диапазона должен также быть признак id в большинстве случаев. Давайте использовать пример регулировки громкости:

Для примера рассмотрим создание поля формы input type range для регулировки громкости.

<label for=fader>Уровень громкости</label>
<input type=range min=0 max=5 value=3 id=fader>
Примечание, у ползунка есть несколько характерных особенностей:

Кнопка ползунка «хватается», поскольку она перемещается. По умолчанию эти пункты моментального изменения соответствуют местоположению целых чисел в диапазоне. Когда выставлено, кнопка может быть перемещена с/вниз клавишами курсора, точно так же как ввод числа. (Не все браузеры поддерживают это все же). Степень ползунка не изменяется согласно значения max; вместо этого, это регулируется, изменяя ширину элемента в CSS. Относительно положение выбраного числа будет подставлено в value на это изменение.

Поведение установленной кнопки ползунка может быть особенно запутывающим, когда минимум и максимум относительно близки. Как пример, хочу предоставить ползунок микшера объема между 0 и 1:

<input type=range min=0 max=1 value=1 id=fader>

Кнопка теперь может выбирать значение без промежуточных положений. Решение состоит в том, чтобы ввести больше степени детализации при использовании значения атрибута шага: «step»

<input type=range min=0 max=1 value=1 id=fader step=".05">
Примечание, что точно так же как ввод числа, шаг может использоваться, чтобы позволить только определенные целые числа в диапазоне: можно принять только четные числа между min и max, устанавливая step=2, например. Также отметьте, что использование коротких путей HTML5 ограничивается в этом случае: следует использовать кавычки вокруг чисел как 0.5 для примера, чтобы все работало правильно. Ценность в выставлении шага заставляет ползунок выбрать число с плавающей запятой, и является самым прекрасным уровнем контроля. Но мы то не имеем возможности видеть, а какое именно мы значение выбрали. Давайте прибегним к маленькой хитрости и добавим немного javascript, и посмотрим диапазон чисел который мы выбираем перетаскивая ползунок вверх или вниз.

Рассмотрим пример

<label for=fader>Volume</label>

<input type=range min=0 max=100 value=50 id=fader step=1 onchange="outputUpdate(value)">

<output for=fader id=volume>50</output>

<script>

function outputUpdate(vol) {

  document.querySelector('#volume').value = vol;

}

</script>
Примечание: браузер firefox — не поддерживает автоматичесский подхват значений поля range, а именно число которое подставилось в value значение формы, до того пока вы не бросите ползунок. Это конечно недостаток браузера.

Вертикальное расположение ползунка

Присвоение вертикального положения ползунку будет иногда иметь смысл: большинство пользователей думает об расположении как и «вертикально», например, а не от стороны к стороне. Разумное расположение состоит в том, что использование, преобразования CSS вращали бы элемент правильно, но это не будет работать как ожидалось. Для валидации и адаптации поля формы range используем css позиционирование для таких браузеров:

В Firefox это — slider-vertical;

В Webkit это — CSS: — -webkit-appearance:

И для IE, есть довольно отличное решение: writing-mode: bt-lr;

Объединение всех трех произвело бы следующее:

input.vertical { -webkit-appearance: slider-vertical;  writing-mode: bt-lr; }
<input type=range min=0 max=100 value=50 class=vertical orient=vertical>

Результат Вы видите в правой части параграфа

Моделирование Ползунка

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

input[type=range], ::-moz-range-track, ::-ms-track {
-webkit-appearance: none;
background-color: #3f91e5;
width: 250px;
height:20px;
}

В этом пункте может быть настроена кнопка ползунка:

::-webkit-slider-thumb, ::-moz-range-thumb, ::-ms-thumb {{
  -webkit-appearance: none;
  background-color: #666;
  width: 10px;
 height: 20px;
 }

При правельном использовании ползунков и применения к ним стилей можно добиться валидного отображения их в разных браузерах

Возможности HTML5 учитывает особенно умную особенность:подключение элемента к datalist с числовыми значениями через выбор из списка создаст ряд вариантов вдоль бара ползунка с положением каждого нажатия, определенного выбором в datalist.

Например, изменение нашего аудио контроля:

<label for=fader>Volume</label>
<input type=range min=0 max=100 value=50 id=fader step=20 list=volsettings>
<datalist id=volsettings>
<option>0</option>
<option>20</option>
<option>40</option>
<option>60</option>
<option>80</option>
<option>100</option>
</datalist>

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

Кроссбраузерное оформление для HMTL5 элемента input с типом range

Кроссбраузерное оформление для HMTL5 элемента input с типом range

От автора: Ползунок выбора диапазона (range) является одним из новых типов у элемента input, представленных в спецификации HTML5. Данный тип позволяет осуществить выбор какого-то числового значения в указанном диапазоне. Браузерами предусмотрено отображение данного типа в виде слайдера с ползунком. Это очень интуитивный элемент пользовательского интерфейса, который очень часто встречается в приложениях. Мы можем передвигать ползунок вправо или влево, чтобы выбрать нужное значение в рамках заданного диапазона.

скачать исходники

скачать исходники

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

Рекомендую также прочитать статью: Создание и оформление HTML5 индикатора выполнения (progress bar)

скачать исходники

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Для браузеров Chrome, Safari и Opera

Браузеры Safari и Opera работают на «движке» Webkit. И хотя разработчики браузера Chrome приняли решение перейти на собственный «движок» Blink, на данный момент у данных браузеров много общего.

Webkit предоставляет легкий способ стилизовать любой тип элемента input, включая range. Для начала мы можем выбрать нужный элемент input с помощью селектора атрибутов и отключить стили, заданные по умолчанию в Webkit/Chrome, указав значение none для свойства -webkit-appearance.

input[type=range] { -webkit-appearance: none }

input[type=range] {

-webkit-appearance: none

}

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

.input[type=range] { -webkit-appearance: none; width: 100%; border-radius: 8px; height: 7px; border: 1px solid #bdc3c7; background-color: #fff; }

.input[type=range] {

-webkit-appearance: none;

width: 100%;

border-radius: 8px;

height: 7px;

border: 1px solid #bdc3c7;

background-color: #fff;

}

На следующем примере видно, что только ползунок (handlebar) остался незатронутым в результате указания стилей.

скачать исходники

Чтобы и к нему тоже можно было применять стили, нам необходимо использовать псевдо-элемент ::-webkit-slider-thumb, имеющийся только у Webkit, и точно также удалить исходные стили с помощью свойства -webkit-appearance. Вот так:

input[type=’range’]::-webkit-slider-thumb { -webkit-appearance: none; background-color: #ecf0f1; border: 1px solid #bdc3c7; width: 20px; height: 20px; border-radius: 10px; cursor: pointer; }

input[type=’range’]::-webkit-slider-thumb {

-webkit-appearance: none;

background-color: #ecf0f1;

border: 1px solid #bdc3c7;

width: 20px;

height: 20px;

border-radius: 10px;

cursor: pointer;

}

Таким способом мы можем стилизовать элемент input с типом range для браузеров на «движке» Webkit. Стили, которые мы прописали, должны работать для браузеров Chrome и Safari, а также для последней версии Opera. Однако, они не окажут никакого эффекта в браузерах Firefox и Internet Explorer, т.к. у них другие «движки». Но мы знаем, что нужно делать, чтобы исправить эту ситуацию.

Для браузера Firefox

Попытка прописать стили прямо для селектора input[type=’range’] окажется неудачной в случае с Firefox. Вместо этого нам необходимо использовать псевдо-элементы ::-moz-range-track и ::-moz-range-thumb, характерные только для Firefox.

скачать исходники

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее

Псевдо-элемент ::-moz-range-track позволит изменить полосу диапазона, а псевдо-элемент ::-moz-range-thumb — ползунок.

.firefox input[type=range]::-moz-range-track { border-radius: 8px; height: 7px; border: 1px solid #bdc3c7; background-color: #fff; } .firefox input[type=range]::-moz-range-thumb { background: #ecf0f1; border: 1px solid #bdc3c7; width: 20px; height: 20px; border-radius: 10px; cursor: pointer; }

.firefox input[type=range]::-moz-range-track {

border-radius: 8px;

height: 7px;

border: 1px solid #bdc3c7;

background-color: #fff;

}

.firefox input[type=range]::-moz-range-thumb {

background: #ecf0f1;

border: 1px solid #bdc3c7;

width: 20px;

height: 20px;

border-radius: 10px;

cursor: pointer;

}

Мы использовали точно такие же стили. Посмотрите, что получилось в Firefox. Результат должен быть очень похож на то, что мы увидели в браузерах на «движке» Webkit.

скачать исходники

Для браузера Internet Explorer

Internet Explorer отображает элемент input с типом range далеко не так, как все остальные браузеры. Чтобы было легче понять, я нарисовал диаграмму, показывающую из каких частей формируется элемент input данного типа.

скачать исходники

(Прим. пер.: lower fill – нижняя заливка, tick – отметка, handle bar – ползунок, upper fill – верхняя заливка)

IE также отображает всплывающую подсказку (tooltip), отображающую устанавливаемое значение во время перемещения ползунка.

скачать исходники

Каждую из этих частей элемента input мы можем оформить с помощью псевдо-элементов ::-ms-fill-lower, ::-ms-fill-upper, ::-ms-thumb, ::-ms-ticks и ::-ms-tooltip, имеющихся только в IE. Здесь мы будем использовать те же стили, как и для браузера Firefox и браузеров на «движке» Webkit.

input[type=»range»]::-ms-fill-lower, input[type=»range»]::-ms-fill-upper { background: transparent; } input[type=»range»]::-ms-track { border-radius: 8px; height: 7px; border: 1px solid #bdc3c7; background-color: #fff; } input[type=»range»]::-ms-thumb { background-color: #ecf0f1; border: 1px solid #bdc3c7; width: 20px; height: 20px; border-radius: 10px; cursor: pointer; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

input[type=»range»]::-ms-fill-lower,  

input[type=»range»]::-ms-fill-upper {  

    background: transparent;  

}  

input[type=»range»]::-ms-track {  

    border-radius: 8px;  

    height: 7px;  

    border: 1px solid #bdc3c7;  

    background-color: #fff;  

}  

input[type=»range»]::-ms-thumb {  

    background-color: #ecf0f1;  

    border: 1px solid #bdc3c7;  

    width: 20px;  

    height: 20px;  

    border-radius: 10px;  

    cursor: pointer;  

}

Но в результате получится не то, что мы ожидали увидеть. Отметки будут видны, а вот верх и низ ползунка – нет.

Мы легко можем убрать отметки, добавив для элемента input параметр step=»any». Однако, сделать ползунок полностью видимым не представляется возможным. Это, как если бы для элемента input было задано свойство overflow со значением hidden, но это нельзя было бы исправить, изменив значение свойства overflow на visible. Я до сих пор пытаюсь выяснить, почему так происходит. Если вам удалось решить эту проблему, поделитесь, пожалуйста, своим решением в комментариях.

скачать исходники

В заключение

В заключение хотелось бы сказать, что элемент input с типом range — это довольно хорошо изменяемый элемент. К сожалению, каждый браузер стремится отобразить его по-своему, поэтому нам приходится писать больше кода, чтобы это исправить. Я надеюсь, что в будущем появится стандарт, который сгладит данные различия. Я также даю ссылку на демо-пример ползунка выбора диапазона, созданного в данной статье, и ссылку на исходники.

Автор: Thoriq Firdaus

Источник: http://www.hongkiat.com/

Редакция: Команда webformyself.

скачать исходники

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Узнать подробнее скачать исходники

PSD to HTML

Верстка сайта на HTML5 и CSS3 с нуля

Смотреть

Ползунок html+css

Здравствуйте уважаемые начинающие веб-мастера. Ещё один Оригинальный эффект CSS.

Сейчас будем делать красивый ползунок для сайта. Простой-то ползунок сделать просто. Достаточно ввести в html код тег input с атрибутом type=»range», как любой браузер поймёт, что на экране нужно вывести ползунок.

Вот пожалуйста, вставляем в любом месте

<input type="range">

И получаем там же

Невзрачненько. Чтоб сделать этот бегунок красивым, можно применить css, но не всё так просто. Дело в том, что каждый браузер отображает бегунок по своему.

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

Скажу только, что для того чтоб наш бегунок получился красивым во всех браузерах, мы будем использовать вендорные (браузерные) префиксы.

Далее я Вам дам несколько вариантов кода с объясняющими комментариями, и Вы методом научного тыка и матерного слова (самый результативный метод), сможете поработать в Notepad ++ над внешним видом бегунка.

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

Итак, код красивого бегунка:

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Документ без названия</title>
<style>
/* Контейнер */

input[type=range] {
-webkit-appearance: none;
margin: 50px;
width: 20%;
}

input[type=range]:focus {
outline: none;
}

/* Полоса в Хроме */

input[type=range]::-webkit-slider-runnable-track {
height: 8px;
cursor: pointer;
animate: 0.2s;
border: 1px solid #575656;
background: #AD020D;
}

/* Бегунок в Хроме */

input[type=range]::-webkit-slider-thumb {
box-shadow: 1px 1px 1px #000;
border: 1px solid #000;
height: 35px;
width: 15px;
border-radius: 40%/60%;
background: #ffffff;
cursor: pointer;
-webkit-appearance: none;
margin-top: -14px;
}

/* Полоса в Мозиле */

input[type=range]::-moz-range-track {
height: 8px;
cursor: pointer;
animate: 0.2s;
box-shadow: 1px 1px 1px #000;
background: #AD020D;
border: 1px solid #575656;
}

/* Бегунок в Мозиле */

input[type=range]::-moz-range-thumb {
box-shadow: 1px 1px 1px #000;
border: 1px solid #000000;
height: 36px;
width: 16px;
border-radius: 40%/60%;
background: #ffffff;
cursor: pointer;
}
</style>
</head>
<body>
<input type="range" value="0" max="100"/>
</body>
</html>

А вот и он сам, работает, можно подвигать:

Ещё один пример, в котором линия, по которой двигается бегунок, является индикатором.

Код:

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Документ без названия</title>
<style>
/* контейнер */

input[type=range] {
-webkit-appearance: none;
appearance: none;
width: 260px;
height: 20px;
padding: 0;
box-shadow: inset 0 0 0 2px #2D7CFA;
background: #AD020D;
overflow: hidden;
}

/* Линия-ндикатор для Firefox */

input[type=range]::-moz-range-track {
background: none;
border: none;
}

/* ползунок в Firefox */

input[type=range]::-moz-range-thumb {
-moz-appearance: none;
width: 20px;
height: 20px;
border-radius: 70%/30%;
border: 2px solid #818181;
box-shadow:
-13px 0 #4A0101, -26px 0 #4A0101, -39px 0 #4A0101,
-52px 0 #4A0101, -65px 0 #4A0101, -78px 0 #4A0101,
-91px 0 #4A0101, -104px 0 #4A0101, -117px 0 #4A0101,
-130px 0 #4A0101, -143px 0 #4A0101, -156px 0 #4A0101,
-169px 0 #4A0101, -182px 0 #4A0101, -195px 0 #4A0101,
-208px 0 #4A0101, -221px 0 #4A0101, -234px 0 #4A0101,
-247px 0 #4A0101, -260px 0 #4A0101;
}

/* ползунок в Хроме */

input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
width:20px;
height:20px;
border-radius: 70%/30%;
border: 2px solid #818181;
background: #fff;
box-shadow:
-13px 0 #4A0101, -26px 0 #4A0101, -39px 0 #4A0101,
-52px 0 #4A0101, -65px 0 #4A0101, -78px 0 #4A0101,
-91px 0 #4A0101, -104px 0 #4A0101, -117px 0 #4A0101,
-130px 0 #4A0101, -143px 0 #4A0101, -156px 0 #4A0101,
-169px 0 #4A0101, -182px 0 #4A0101, -195px 0 #4A0101,
-208px 0 #4A0101, -221px 0 #4A0101, -234px 0 #4A0101,
-247px 0 #4A0101, -260px 0 #4A0101;
}
</style>
</head>
<body>
<input type="range" value="0" max="100"/>
</body>
</html>

Результат, так же рабочий:

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

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

Желаю творческих успехов.

Короткий отдых
Перемена

Мужчина упал с десятого этажа, и не разбился. Так целиком и похоронили.

Страница из блоков < < < В раздел > > > Вращающийся куб-баннер CSS

Рекомендую: Бесплатные HTML шаблоны на русском от TemplateMonster

улучшенные возможности, новые типы полей и атрибуты

HTML-формы являются элементами управления, которые применяются для сбора информации от посетителей веб-сайта.

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

Для получения и обработки данных форм используются языки веб-программирования, такие как PHP, Perl.

До появления HTML5 веб-формы представляли собой набор нескольких элементов <input type="text">, <input type="password">, завершающихся кнопкой <input type="submit">. Для стилизации форм в разных браузерах приходилось прилагать немало усилий. Кроме того, формы требовали применения JavaScript для проверки введенных данных, а также были лишены специфических типов полей ввода для указания повседневной информации типа дат, адресов электронной почты и URL-адресов.

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

html5_formРис. 1. Улучшенные веб-формы с помощью HTML5

Создание HTML5-формы

1. Элемент <form>

Основу любой формы составляет элемент <form>...</form>. Он не предусматривает ввод данных, так как является контейнером, удерживая вместе все элементы управления формы – поля. Атрибуты этого элемента содержат информацию, общую для всех полей формы, поэтому в одну форму нужно включать поля, объединенные логически.

Таблица 1. Атрибуты тега <form>
АтрибутЗначение / описание
accept-charsetЗначение атрибута представляет собой разделенный пробелами список кодировок символов, которые будут использоваться для отправки формы, например, <form accept-charset="ISO-8859-1">.
actionОбязательный атрибут, который указывает url обработчика формы на сервере, которому передаются данные. Представляет из себя файл (например, action.php), в котором описано, что нужно делать с данными формы. Если значение атрибута не будет указано, то после перезагрузки страницы элементы формы примут значения по умолчанию.
В случае, если вся работа будет выполняться на стороне клиента сценариями JavaScript, то для атрибута action можно указать значение #.
Также можно сделать так, чтобы заполненная посетителем форма приходила вам на почту. Для этого нужно внести следующую запись:
<form action="mailto:адрес вашей электронной почты" enctype="text/plain"></form>
autocompleteОтвечает за запоминание введенных в текстовое поле значений и автоподстановку их при последующем вводе:
on — означает, что поле не защищено, и его значение можно сохранять и извлекать,
off — отключает автозаполнение для полей форм.
enctypeИспользуется для указания MIME-типа данных, отправляемых вместе с формой, например, enctype="multipart/form-data". Указывается только в случае method="post".
application/x-www-form-urlencoded — тип содержимого по умолчанию, указывает на то, что передаваемые данные представляют список URL-кодированных переменных формы. Символы пробела (ASCII 32) будут закодированы как +, а специальный символ, например, такой как ! будет закодирован шестнадцатиричной форме как %21.
multipart/form-data — используется для отправки форм, содержащих файлы, не-ASCII данные и бинарные данные, состоит из нескольких частей, каждая из которых представляет содержимое отдельного элемента формы.
text/plain — указывает на то, что передается обычный (не html) текст.
methodЗадает способ передачи данных формы.
Метод get передает данные на сервер через адресную строку браузера. При формировании запроса к серверу все переменные и их значения формируют последовательность вида www.anysite.ru/form.php?var1=1&var2=2. Имена и значения переменных присоединяются к адресу сервера после знака ? и разделяются между собой знаком &. Все специальные символы и буквы, отличные от латинских, кодируются в формате %nn, пробел заменяется на +. Этот метод нужно использовать, если вы не передаете больших объемов информации. Если вместе с формой предполагается отправка какого-либо файла, этот метод не подойдет.
Метод post применяется для пересылки данных больших объемов, а также конфиденциальной информации и паролей. Данные, отправляемые с помощью этого метода, не видны в заголовке URL, так как они содержатся в теле сообщения.
<form action="action.php" enctype="multipart/form-data" method="post"></form>
nameЗадает имя формы, которое будет использоваться для доступа к элементам формы через сценарии, например, name="opros".
novalidateОтключает проверку в кнопке для отправки формы. Атрибут используется без указания значения
targetУказывает окно, в которое будет направлена информация:
_blank — новое окно
_self — тот же фрейм
_parent — родительский фрейм (если он существует, если нет — то в текущий)
_top — окно верхнего уровня по отношению к данному фрейму. Если вызов происходит не из дочернего фрейма, то в тот же фрейм.

2. Группировка элементов формы

Элемент <fieldset>...</fieldset> предназначен для группировки элементов, связанных друг с другом, разделяя таким образом форму на логические фрагменты.

Каждой группе элементов можно присвоить название с помощью элемента <legend>, который идет сразу за тегом <fieldset>. Название группы проявляется слева в верхней границе <fieldset>. Например, если в элементе <fieldset> хранится контактная информация:

<form>
  <fieldset>
    <legend>Контактная информация</legend>
    <p><label for="name">Имя <em>*</em></label><input type="text"></p>
    <p><label for="email">E-mail</label><input type="email"></p>
  </fieldset>
<p><input type="submit" value="Отправить"></p>
</form>
fieldsetРис. 2. Группировка элементов формы с помощью <fieldset>
Таблица 2. Атрибуты тега <fieldset>
АтрибутЗначение / описание
disabledЕсли атрибут присутствует, то группа связанных элементов формы, находящихся внутри контейнера <fieldset>, отключены для заполнения и редактирования. Используется для ограничения доступа к некоторым полям формы, содержащих ранее введенные данные. Атрибут используется без указания значения — <fieldset disabled>.
formЗначение атрибута должно быть равно атрибуту id элемента <form> в этом же документе. Указывает на одну или несколько форм, к которым принадлежит данная группа элементов. На данный момент атрибут не поддерживается ни одним браузером.
nameОпределяет имя, которое будет использоваться для ссылки на элементы в JavaScript, или для ссылки на данные формы после заполнения и отправки формы. Является аналогом атрибута id.

3. Создание полей формы

Элемент <input> создает большинство полей формы. Атрибуты элемента отличаются в зависимости от типа поля, для создания которого используется этот элемент.

С помощью css-стилей можно изменить размер шрифта, тип шрифта, цвет и другие свойства текста, а также добавить границы, цвет фона и фоновое изображение. Ширина поля задается свойством width.

Таблица 3. Атрибуты тега <input>
АтрибутЗначение / описание
acceptОпределяет тип файла, разрешенных для отправки на сервер. Указывается только для <input type="file">. Возможные значения:
file_extension — разрешает загрузку файлов с указанным расширением, например, accept=".gif", accept=".pdf", accept=".doc"
audio/* — разрешает загрузку аудиофайлов
video/* — разрешает загрузку видеофайлов
image/* — разрешает загрузку изображений
media_type — указывает на медиа-тип загружаемых файлов.
altОпределяет альтернативный текст для изображений, указывается только для <input type="image">.
autocompleteОтвечает за запоминание введенных в текстовое поле значений и автоподстановку их при последующем вводе:
on — означает, что поле не защищено, и его значение можно сохранять и извлекать,
off — отключает автозаполнение для полей форм.
autofocusПозволяет сделать так, чтобы в загружаемой форме то или иное поле ввода уже имело фокус (было выбрано), являясь готовым к вводу значения.
checkedАтрибут проверяет, установлен ли флажок по умолчанию при загрузке страницы для полей типа type="checkbox" и type="radio".
disabledОтключает возможность редактирования и копирования содержимого поля.
formЗначение атрибута должно быть равно атрибуту id элемента <form> в этом же документе. Определяет одну или несколько форм, которым принадлежит данное поле формы.
formactionЗадает url файла, который будет обрабатывать введенные в поля данные при отправке формы. Задается только для полей типа type="submit" и type="image". Атрибут переопределяет значение атрибута action самой формы.
formenctypeОпределяет, как будут кодироваться данные полей формы при отправке на сервер. Переопределяет значение атрибута enctype формы. Задается только для полей типа type="submit" и type="image". Варианты:
application/­x-www-form-urlencoded — значение по умолчанию. Все символы кодируются перед отправкой (пробелы заменяются на символ +, специальные символы преобразуются в значения ASCII HEX)
multipart/form-data — символы не кодируются
text/plain — пробелы заменяются на символ +, а специальные символы не кодируются.
formmethodАтрибут определяет метод, который браузер будет использовать для отправки данных формы на сервер. Задается только для полей типа type="submit" и type="image". Переопределяет значение атрибута method формы. Варианты:
get — значение по умолчанию. Данные из формы (пара имя/значение) добавляются в url-адрес и отправляются на сервер: URL?имя=значение&имя=значение
post — данные формы отправляются в виде http-запроса.
formnovalidateОпределяет, что данные полей формы не должны проверяться при отправке формы. Переопределяет значение атрибута novalidate формы. Можно использовать без указания значения атрибута.
formtargetОпределяет, где выводить ответ, полученный после отправки формы. Задается только для полей типа type="submit" и type="image". Переопределяет значение атрибута target формы.
_blank — загружает ответ в новое окно/вкладку
_self — загружает ответ в то же окно (значение по умолчанию)
_parent – загружает ответ в родительский фрейм
_top – загружает ответ во весь экран
framename – загружает ответ во фрейм с указанным именем.
heightЗначение атрибута содержит количество пикселей без указания единицы измерения. Устанавливает высоту поля формы типа type="image", например, <input type="image" src="img_submit.gif">. Рекомендуется одновременно устанавливать как высоту, так и ширину поля.
listЯвляется ссылкой на элемент <datalist>, содержит его id.Позволяет предоставить пользователю несколько вариантов на выбор, когда он начинает вводить значение в соответствующем поле.
maxПозволяет ограничить допустимый ввод числовых данных максимальным значением, значение атрибута может содержать целое или дробное число. Рекомендуется использовать этот атрибут вместе с атрибутом min. Работает со следующими типами полей: number, range, date, datetime, datetime-local, month, time и week.
maxlengthАтрибут задает максимальное количество символов, вводимых в поле. Значение по умолчанию 524288 символов.
minПозволяет ограничить допустимый ввод числовых данных минимальным значением.
multipleПозволяет пользователю ввести несколько значений атрибутов, разделяя их запятой. Применяется в отношении файлов и адресов электронной почты. Указывается без значения атрибута.
nameОпределяет имя, которое будет использоваться для доступа к элементу <form>, к примеру, в таблицах стилей css. Является аналогом атрибута id.
patternПозволяет определять с помощью регулярного выражения синтаксис данных, ввод которых должен быть разрешен в определенном поле. Например, pattern="[a-z]{3}-[0-9]{3}" — квадратные скобки устанавливают диапазон допустимых символов, в данном случае — любые строчные буквы, число в фигурных скобках указывает, что нужны три строчные буквы, после которых следует тире, далее — три цифры в диапазоне от 0 до 9.
placeholderСодержит текст, который отображается в поле ввода до заполнения (чаще всего это подсказка).
readonlyНе позволяет пользователю изменять значения элементов формы, выделение и копирование текста при этом доступно. Указывается без значения атрибута.
requiredВыводит сообщение о том, что данное поле является обязательным для заполнения. Если пользователь попытается отправить форму, не введя в это поле требуемое значение, то на экране отобразится предупреждающее сообщение. Указывается без значения атрибута.
sizeЗадает видимую ширину поля в символах. Значение по умолчанию — 20. Работает со следующими типами полей: text, search, tel, url, email и password.
srcЗадает url изображения, используемого в качестве кнопки отправки данных формы. Указывается только для поля <input type="image">.
stepИспользуется для элементов, предполагающих ввод числовых значений, указывает величину увеличения или уменьшения значений в процессе регулировки диапазона (шаг).
typebutton — создает кнопку.
checkbox — превращает поле ввода во флажок, который можно установить или очистить, например,
У меня есть автомобиль
color — генерирует палитры цветов в поддерживающих браузерах, давая пользователям возможность выбирать значения цветов в шестнадцатеричном формате.
date — позволяет вводить дату в формате дд.мм.гггг.
День рождения:
datetime-local — позволяет вводить дату и время, разделенные прописной английской буквой Т по шаблону дд.мм.гггг чч:мм.
День рождения — день и время:
email — браузеры, поддерживающие данный атрибут, будут ожидать, что пользователь введет данные, соответствующие синтаксису адресов электронной почты.
E-mail:
file — позволяет загружать файлы с компьютера пользователя.
Выберите файл:
hidden — скрывает элемент управления, который не отображается браузером и не дает пользователю изменять значения по умолчанию.
image — создает кнопку, позволяя вместо текста на кнопке вставить изображение.
month — позволяет пользователю вводить год и номер месяца по шаблону гггг-мм.
number — предназначено для ввода целочисленных значений. Его атрибуты min, max и step задают верхний, нижний пределы и шаг между значениями соответственно. Эти атрибуты предполагаются у всех элементов, имеющих численные показатели. Их значения по умолчанию зависят от типа элемента.
Укажите количество (от 1 до 5):
password — создает текстовые поля в форме, при этом вводимые пользователем символы заменяются на звездочки, маркеры, либо другие, установленные браузером значки.
Введите пароль:
radio — создает переключатель — элемент управления в виде небольшого кружка, который можно включить или выключить.
Вегетарианец:
range — позволит создать такой элемент интерфейса, как ползунок, min / max — позволят установить диапазон выбора
reset — создает кнопку, которая очищает поля формы от введенных пользователем данных.
search — обозначает поле поиска, по умолчанию поле ввода имеет прямоугольную форму.
Поиск:
submit — создает стандартную кнопку, активизируемую щелчком мыши. Кнопка собирает информацию с формы и отправляет ее для обработки.
text — создает текстовые поля в форме, выводя однострочное текстовое поле для ввода текста.
time — позволяет вводить время в 24-часовом формате по шаблону чч:мм. В поддерживающих браузерах оно отображается как элемент управления в виде числового поля ввода со значением, изменяемым с помощью мыши, и допускает ввод только значений времени.
Укажите время:
url — поле предназначено для указания URL-адресов.
Главная страница:
week — соответствующий инструмент-указатель позволяет пользователю выбрать одну неделю в году, после чего обеспечит ввод данных в формате нн-гггг. В зависимости от года число недель может быть 52 или 53.
Укажите неделю:
valueОпределяет текст, отображаемый на кнопке, в поле или связанный текст. Не указывается для полей типа file.
widthЗначение атрибута содержит количество пикселей. Позволяет задать ширину полей формы.

4. Текстовые поля ввода

Элемент <textarea>...</textarea> используется вместо элемента <input type="text">, когда нужно создать большие текстовые поля. Текст, отображаемый как исходное значение, помещается внутрь тега. Размеры поля устанавливаются при помощи атрибутов cols – размеры по горизонтали, rows – размеры по вертикали. Высоту поля можно задать свойством height. Все размеры считаются исходя из размера одного символа моноширинного шрифта.

Таблица 4. Атрибуты тега <textarea>
АтрибутЗначение / описание
autofocusУстанавливает фокус на нужном начальном текстовом поле автоматически.
colsУстанавливает ширину через количество символов. Если пользователь вводит больше текста, появляется полоса прокрутки.
disabledОтключает возможность редактирования и копирования содержимого поля.
formЗначение атрибута должно быть равно значению атрибута id элемента <form> в этом же документе. Определяет одну или несколько форм, которым принадлежит данное текстовое поле.
maxlengthЗначение атрибута задает максимальное число символов для ввода в поле.
nameЗадает имя текстового поля.
placeholderОпределяет короткую текстовую подсказку, которая описывает ожидаемое вводимое значение.
readonlyОтключает возможность редактирования содержимого поля.
requiredВыводит сообщение о том, что данное поле является обязательным для заполнения.
rowsУказывает число, которое означает, сколько строк должно отображаться в текстовой области.
wrapОпределяет, должен ли текст сохранять переносы строк при отправке формы. Значение hard сохраняет перенос, а значение soft не сохраняет. Если используется значение hard, то должно указываться значение атрибута cols.

5. Раскрывающийся список

Списки дают возможность расположить большое количество пунктов компактно. Раскрывающиеся списки создаются при помощи элемента <select>...</select>. Они позволяют выбрать одно или несколько значений из предложенного множества. По умолчанию в поле списка отображается его первый элемент.

Для добавления в список пунктов используются элементы <option>...</option>, которые располагаются внутри <select>.

Для систематизации списков применяется элемент <optgroup>...</optgroup>, который создает заголовки в списках.

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

Таблица 5. Атрибуты тега <select>
АтрибутЗначение / описание
autofocusУстанавливает автоматический фокус на элементе при загрузке страницы.
disabledОтключает раскрывающийся список.
formОпределяет форму, которой принадлежит данный список. В качестве значения атрибута указывается идентификатор формы.
multipleДает возможность выбора одного или нескольких пунктов, для этого при выборе нужно нажать и удерживать нажатой клавишу Ctrl.
nameОпределяет имя для выпадающего списка. Значение атрибута содержит название, отражающее тематику списка.
requiredВыводит сообщение о том, что пользователь должен выбрать значение из раскрывающегося списка перед отправкой формы.
sizeЗадает количество одновременно видимых на экране элементов списка. Если количество элементов списка превышает установленное количество, появляется полоса прокрутки. Значение атрибута задается целым положительным числом.
Таблица 6. Атрибуты тега <option>
АтрибутЗначение / описание
disabledДелает недоступным для выбора элемент списка.
labelЗадает укороченную версию для элемента, которая будет отражаться в выпадающем списке. Значение атрибута содержит текст, описывающий соответствующий пункт выпадающего списка.
selectedОтображает выбранный элемент списка по умолчанию при загрузке страницы браузером.
valueУказывает значение, которое будет отправлено на сервер при отправке формы.
Таблица 7. Атрибуты тега <optgroup>
АтрибутЗначение / описание
disabledОтключает данную группу элементов списка для выбора.
labelЗадает заголовок для группы элементов выпадающего списка. Значение атрибута содержит текст, недоступный для выбора, который будет располагаться над соответствующими пунктами списка. Текст выделяется в браузере жирным начертанием.

6. Надписи к полям формы

Надписи к элементам формы создаются с помощью элемента <label>...</label>. Существует два способа группировки надписи и поля. Если поле находится внутри элемента <label>, то атрибут for указывать не нужно.

<!-- с указанием атрибута for -->
<label for="comments">Когда вы последний раз летали на самолете?</label>
<textarea></textarea>

<!-- без атрибута for -->
<p><label>Кошка<input type="checkbox"></label></p>
Таблица 8. Атрибуты тега <label>
АтрибутЗначение / описание
forОпределяет, к какому полю формы привязан данный элемент. Можно создавать поясняющие надписи к следующим элементам формы: <input>, <textarea>, <select>. Значение атрибута содержит идентификатор поля формы.

7. Кнопки

Элемент <button>...</button> создает кликабельные кнопки. В отличие от кнопок, созданных <input> (<input type="submit"></input>, <input type="image">, <input type="reset">, <input type="button">), внутрь элемента <button> можно поместить контент — текст или изображение.

Для корректного отображения элемента <button> разными браузерами нужно указывать атрибут type, например, <button type="submit"></button>.

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

Таблица 9. Атрибуты тега <button>
АтрибутЗначение / описание
autofocusУстанавливает фокус на кнопке при загрузке страницы.
disabledОтключает кнопку, делая ее некликабельной.
formУказывает на одну или несколько форм, которым принадлежит данная кнопка. Значение атрибута — идентификатор соответствующей формы.
formactionЗначение атрибута содержит url-адрес обработчика данных формы, отправляемых при нажатии на кнопку. Только для кнопки типа type="submit". Переопределяет значение атрибута action, указанного для элемента <form>.
formenctypeЗадает тип кодировки данных формы перед отправкой на сервер при нажатии на кнопки типа type="submit". Переопределяет значение атрибута enctype, указанного для элемента <form>. Возможные значения:
application/x-www-form-urlencoded — значение по умолчанию. Все символы перед отправкой будут закодированы.
multipart/form-data — символы не кодируются. Используется в случае, когда с помощью формы загружаются файлы.
text/plain — символы не кодируются, а пробелы заменяются на символ +.
formmethodАтрибут определяет метод, который браузер будет использовать для отправки формы. Переопределяет значение атрибута method, указанного для элемента <form>. Указывается только для кнопок типа type="submit". Возможные значения:
get — данные из формы (пара имя/значение) добавляются в url-адрес и отправляются на сервер. Данный способ имеет ограничения по размеру отправляемых данных и не подходит для отправки паролей и конфиденциальной информации.
post — данные из формы добавляются в виде http-запроса. Метод является более надежным и безопасным, чем get и не имеет ограничений по размеру.
formnovalidateАтрибут задает, что данные формы не должны проверяться при отправке. Указывается только для кнопок типа type="submit".
formtargetАтрибут задает, в каком окне выводить результат после отправки формы. Указывается только для кнопок типа type="submit". Переопределяет значение атрибута target, указанного для элемента <form>.
_blank — загружает ответ в новое окно/вкладку
_self — загружает ответ в то же окно (значение по умолчанию)
_parent — загружает ответ в родительский фрейм
_top — загружает ответ во весь экран
framename — загружает ответ во фрейм с указанным именем.
nameЗадает имя кнопки, значение атрибута — текст. Используется для ссылки на данные формы, после того как форма была отправлена, или для ссылки на данную кнопку (кнопки) в JavaScript.
typeОпределяет тип кнопки. Возможные значения:
button — кликабельная кнопка
reset — кнопка сброса, возвращает первоначальное значение
submit — кнопка для отправки данных формы.
valueЗадает значение по умолчанию, отправляемое при нажатии на кнопку.

8. Флажки и переключатели в формах

Флажки в формах задаются с помощью конструкции <input type="checkbox">, а переключатель — при помощи <input type="radio">.

Флажков, в отличие от переключателей, в одной форме может быть установлено несколько. Если для флажков указан атрибут checked, то при загрузке станицы на соответствующих полях формы флажки уже будут установлены.

Элемент <label> применяется при реализации выбора с помощью переключателей и флажков. Можно выбрать нужный пункт, просто щелкая кнопкой мыши на тексте, связанном с ним. Для этого нужно поместить <input> внутрь элемента <label>.

Атрибут type | htmlbook.ru

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
3.0+1.0+4.0+1.0+1.0+1.0+1.0+

Спецификация

HTML:3.24.015.0XHTML:1.01.1

Описание

Сообщает браузеру, к какому типу относится элемент формы.

Синтаксис

HTML
<input type="button|checkbox|file|hidden|image|password|radio|reset|submit|text">
XHTML
<input type="button|checkbox|file|hidden|image|password|radio|reset|submit|text" />

Обязательный атрибут

Да

Значения

В табл. 1 перечислены возможные значения атрибута type и получаемый вид поля формы.

В HTML5 добавлены новые значения, представленные в табл. 2.

Табл. 2. Значения type в HTML5
ТипОписание
colorВиджет для выбора цвета.
dateПоле для выбора календарной даты.
datetimeУказание даты и времени.
datetime-localУказание местной даты и времени.
emailДля адресов электронной почты.
numberВвод чисел.
rangeПолзунок для выбора чисел в указанном диапазоне.
searchПоле для поиска.
telДля телефонных номеров.
timeДля времени.
urlДля веб-адресов.
monthВыбор месяца.
weekВыбор недели.

Поддержка этих значений браузерами показана в табл. 3.

Табл. 3. Поддержка браузерами значений HTML5
ЗначениеInternet ExplorerChromeOperaSafariFirefoxAndroidiOS
color21.0+11.01+
date5.0+10.62+5.0+5.0+
datetime5.0+10.62+5.0+5.0+
datetime-local5.0+10.62+5.0+5.0+
email10.05.0+10.62+5.0+4.0+2.3+3.1+
month5.0+10.62+5.0+5.0+
number10.06.0+10.62+5.0+2.3+4.0+
range10.05.0+10.62+5.0+23.0+5.0+
search10.05.0+11.01+5.0+4.0+4.0+
tel10.05.0+11.01+5.0+4.0+3.1+
time5.0+10.62+5.0+5.0+
url10.05.0+10.62+5.0+4.0+2.3+3.1+
week5.0+10.62+5.0+5.0+

Значение по умолчанию

text

Пример 1

HTML5IECrOpSaFx

<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег input, атрибут type</title>
 </head>
 <body>  
 
  <form action="input10.php">
   <p><input type="radio" name="drink" value="rad1"> Пиво<Br>
   <input type="radio" name="drink" value="rad2"> Чай<Br>
   <input type="radio" name="drink" value="rad3"> Кофе</p>
   <p><input type="image" src="images/imgbutton.gif"></p>
  </form>

 </body>
</html>

Пример 2

HTML5IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Тег input, атрибут type</title>
 </head>
 <body>   
  <form>
  <p>Введите число от 1 до 10</p>
  <p><input type="range" min="1" max="10"></p>
  </form>
 </body>
</html>

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

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