— HTML | MDN
HTML-элемент <button>
создаёт кликабельную кнопку, которая может быть использована в формах или в любом другом месте документа, который требует простой, стандартной кнопки. По умолчанию, кнопки HTML обычно представлены в стиле, аналогичном стилю хост-платформы, на которой работает user agent, но вы можете изменить внешний вид кнопки, используя CSS.
Категории контента | Общий поток, текстовый контент, интерактивный контент, listed, labelable, и submittable form-associated элемент, очевидный контент. |
---|---|
Разрешённый контент | Текстовый контент. |
Tag omission | Нет, открывающий и закрывающий теги обязательны. |
Разрешённый родительский контент | Любой элемент с поддержкой текстового контента. |
Разрешённые роли ARIA | checkbox , link , menuitem , menuitemcheckbox , menuitemradio , radio , switch , tab |
DOM interface | HTMLButtonElement |
Тип | Строчный |
Элемент поддерживает глобальные атрибуты.
autofocus
HTML5- Данный булевый атрибут позволяет указать, будет ли кнопка автоматически сфокусирована после загрузки страницы, до тех пор, пока пользователь не изменит фокус в ручную, например выбрав другой элемент. Только один связанный с формой элемент в документе может иметь данный атрибут.
autocomplete
Это API не было стандартизировано.- Использование данного атрибута на элементе
<button>
не описано в стандарте и используется только в Firefox браузере. По умолчанию, в отличие от прочих браузеров, Firefox сохраняет назначенное динамически отключённое состояние для элемента<button>
при последующих загрузках страницы. Установка для данного атрибута значенияoff
отключает подобное поведение. Смотрите баг 654072. disabled
Булевый атрибут, указывающий, что пользователь не может взаимодействовать с кнопкой. Если атрибут не установлен, то кнопка наследует его от элемента-контейнера, в котором она расположена, например от
<fieldset>
; если отсутствует элемент-контейнер, с установленным атрибутом disabled, то кнопка доступна для взаимодействия.Firefox по умолчанию, в отличие от прочих браузеров, сохраняет назначенное динамически отключённое состояние для элемента
<button>
, даже при обновлении страницы. Чтобы изменить поведение браузера в этом случае, используйте атрибут
.form
HTML5- Атрибут form позволяет указать элемент
<form>
, с которым связана кнопка. Данный атрибут должен хранить значение id элемента<form>
. Если данный атрибут не установлен, то элемент<button>
будет связан с родительским элементом<form>
, если последний существует. - Атрибут работает независимо от расположения элементов в документе, поэтому он позволяет связать элемент
<button>
с формой, даже в случае, если<button>
не является наследником элемента<form>
. formaction
HTML5- Ссылка на обработчик формы. Если атрибут определён — он переопределит атрибут
action
у формы-родителя. formenctype
HTML5- Если
button
имеет типsubmit
, то этот атрибут определяет тип контента, отправляемого на сервер. Возможные значения данного атрибута:application/x-www-form-urlencoded
: значение по умолчанию, если атрибут не указан.multipart/form-data
: следует использовать это значение, если форма содержит элемент<input>
со значением атрибутаtype
file
.text/plain
Если этот атрибут определён, он переопределяет атрибут
enctype
у формы-родителя. formmethod
HTML5- Если
button
имеет типsubmit
, то этот атрибут определяет метод HTTP-запроса для отправки данных на сервер. Возможные варианты:post
: данные формы включаются в тело сообщения и отправляются на сервер.get
: данные формы отправляются на сервер в виде ссылки, состоящей из URI атрибутаaction
и непосредственно данных, отделённых знаком ‘?’. Данные формы будут иметь вид ключ/значение и разделены амперсандом, например name=Name&id=35. Следует использовать этот метод только если нет побочных эффектов и данные формы содержат лишь ASCII-символы.
Если этот атрибут определён, он переопределяет атрибут
method
у формы-родителя. formnovalidate
HTML5- Булевый атрибут. Указывает, что данные формы не будут валидироваться при отправке.
- Если этот атрибут определён, он переопределяет атрибут
novalidate
у формы-родителя. formtarget
HTML5- Если
button
имеет типsubmit
, этот атрибут является именем или ключевым словом,указывающим, где отображать ответ, полученный после отправки формы. This is a name of, or keyword for, a browsing context (for example, tab, window, or inline frame). If this attribute is specified, it overrides the
target
attribute of the button’s form owner. The following keywords have special meanings:_self
: Load the response into the same browsing context as the current one. This value is the default if the attribute is not specified._blank
: Load the response into a new unnamed browsing context._parent
: Load the response into the parent browsing context of the current one. If there is no parent, this option behaves the same way as_self
._top
: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as
. _self
name
- The name of the button, which is submitted with the form data.
type
- The type of the button. Possible values are:
submit
: The button submits the form data to the server. This is the default if the attribute is not specified, or if the attribute is dynamically changed to an empty or invalid value.reset
: The button resets all the controls to their initial values.button
: The button has no default behavior. It can have client-side scripts associated with the element’s events, which are triggered when the events occur.- menu: The button opens a popup menu defined via its designated
<menu>
element.
value
- The initial value of the button.
<button name="button">Тык!</button>
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 1.0 | 1.0 (1.7 или ранее) | (Да) | (Да) | (Да) |
formaction attribute | 9. 0 | 4.0 (2.0) | 10 | ? | ? |
formenctype attribute | 9.0 | 4.0 (2.0) | 10 | 10.6 | ? |
formmethod attribute | 9.0 | 4.0 (2.0) | 10 | ? | ? |
autofocus attribute | 5.0 | 4.0 (2.0) | 10 | 9.6 | |
menu value for type attribute | Нет | Нет[1] | Нет | Нет | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Да) | 1.0 (1.0) | (Да) | (Да) | (Да) |
formaction attribute | ? | 4.0 (2.0) | ? | ? | ? |
formenctype attribute | ? | 4.0 (2.0) | ? | ? | ? |
formmethod attribute | ? | 4.0 (2.0) | ? | ? | ? |
menu value for type attribute | ? | ? | ? | ? | ? |
[1] Gecko does not implement this feature yet. See баг 1241353.
Clicking and focus
Whether clicking on a <button>
causes it to (by default) become focused varies by browser and OS. The results for <input>
of type="button"
and type="submit"
were the same.
Desktop Browsers | Windows 8. 1 | OS X 10.9 |
---|---|---|
Firefox 30.0 | Yes | No (even with a tabindex ) |
Chrome 35 | Yes | Yes |
Safari 7.0.5 | N/A | No (even with a tabindex ) |
Internet Explorer 11 | Yes | |
Presto (Opera 12) | Yes | Yes |
Mobile Browsers | iOS 7.1.2 | Android 4.4.4 |
---|---|---|
Safari Mobile | No (even with a tabindex ) | N/A |
Chrome 35 | No (even with a tabindex ) | Yes |
<button>
elements are much easier to style than <input>
elements. You can add inner HTML content (think <em>
, <strong>
or even <img>
), and make use of :after
and :before
pseudo-element to achieve complex rendering while <input>
only accepts a text value attribute.
IE7 has a bug where when submitting a form with <button type="submit" name="myButton" value="foo">Click me</button>
, the POST
data sent will result in myButton=Click me
instead of myButton=foo
.
IE6 has an even worse bug where submitting a form through a button will submit ALL buttons of the form, with the same bug as IE7.
This bug has been fixed in IE8.
Firefox will add, for accessibility purposes, a small dotted border on a focused button. This border is declared through CSS, in the browser stylesheet, but you can override it if necessary to add your own focused style using button
::-moz-focus-inner
(en-US) { }
Firefox will, unlike other browsers, by default, persist the dynamic disabled state of a <button>
across page loads. Setting the value of the autocomplete
attribute to off
disables this feature. See баг 654072.
Firefox <35 for Android sets a default background-image
gradient on all buttons (see баг 763671). This can be disabled using background-image: none
.
Other elements that are used for creating forms: <form>
, <datalist>
, <fieldset>
, <input>
,<keygen> (en-US), <label>
, <legend>
, <meter>
, <optgroup>
, <option>
, <output>
, <progress>
, <select>
, <textarea> (en-US).
Как по умолчанию кнопка «Отправить» на определен HTML-формы?
Если вы отправляете форму через formElement JavaScript (то есть.отправить()
или что-нибудь эквивалентное), то никто из кнопок считаются успешными и никто из их значения включаются в представленных данных. (Обратите внимание, что если вы отправить форму с помощью submitElement.нажмите кнопку()затем представить, что у тебя есть ссылка является активной; это не'т действительно подпадают в рамки вашего вопроса, Так вот кнопки "Отправить" является однозначной, но я думал, что я'd-это для тех людей, кто читал первую часть и интересно, как сделать кнопку Submit через JS удачная форма подачи. Конечно, форма'ы onsubmit обработчики все равно будут обстреливать эту дорогу, а они не'форма Т через
.представить (), так что’ы другой коленкор…)
Если форма отправлена, нажав Enter, пока в текстовой области, затем он’ов на самом деле вниз на агента пользователя, чтобы решить, что он хочет здесь. В характеристики Дон’т сказать ничего об отправке формы с помощью клавиши Enter, находясь в поле ввода текста (если вы вкладку на кнопку и активировать его с помощью пространства или что-то, то там’s нет проблемы, что конкретные кнопки-это однозначно). Все это говорит, что форма должна быть подана, когда кнопка «Отправить» активна, это’ы даже не требование, нажимая Enter, например, ввод текста будет отправить форму.
Я считаю, что Интернет Эксплорер нажимает кнопку Отправить, который появляется первым в источнике; у меня есть ощущение, что Firefox и Opera выбрать кнопку с самыми низкими свойство tabindex, возвращаясь к первой определено, если ничего другого не определено. Там’s также некоторых осложнений относительно того, что представляет иметь по умолчанию значение атрибута МСИО.
Вывод заключается в том, что существует определенный стандарт для того, что происходит здесь, и это’ы исключительно по прихоти браузера — насколько это возможно в то, что вы’повторно делать, Старайтесь не полагаться на какую-либо конкретное поведение. Если вы действительно должны знать, вы можете выяснить поведение различных версиях браузера, но когда я проверял некоторое время назад были некоторые довольно запутанные условия (которые, конечно, могут меняться с новыми версиями браузеров) и я’d не советую избегать его, если это возможно!
Кнопки. Компоненты · Bootstrap. Версия v4.0.0
Используйте стили кнопок Bootstrap для взаимодействия с формами, диалогами, т.п. Имеется поддержка некоторых контекстуальных вариаций, размеров, состояний и т.п.
Примеры
Bootstrap имеет некоторые предопределенные стили кнопок, каждый из которых имеет свою семантическую цель, и имеет дополнительные параметры для большего контроля и гибкости.
Главный Вторичный Успех Опасность Предупреждение Инфо Светлый Темный Линк
<button type="button">Главный</button>
<button type="button">Вторичный</button>
<button type="button">Успех</button>
<button type="button">Опасность</button>
<button type="button">Предупреждение</button>
<button type="button">Инфо</button>
<button type="button">Светлый</button>
<button type="button">Темный</button>
<button type="button">Линк</button>
Использование вспомогательных технологий
Использование цвета как дополнительного инструмента информативности доступно только в визуальной сфере, что ограничивает пользователей вспомогательных технологий, например, программ для чтения текста с экрана. Удостоверьтесь, что информация, обозначенная цветом, также доступна из самого контента (т.е. в тексте) или содержится в альтернативных средствах – таких как дополнительный скрытый в классе .sr-only
текст.
Классы .btn
созданы для использования с элементом <button>
. Однако их также можно использовать внутри <a>
или <input>
(хотя из-за этого некоторые браузеры могут рендерить это немного иначе).
При использовании классов .btn
в элементах <a>
, которые в данном случае используются не как линк, ведущий на новые страницы или как якорь, а как триггер внутристраничной функциональности (такой как сворачивание содержимого), необходимо задать этим <a>
атрибут role="button"
для правильного поведения в случае применения вспомогательных технологий таких как «экранная читалка».
<a href="#" role="button">Link</a>
<button type="submit">Button</button>
<input type="button" value="Input">
<input type="submit" value="Submit">
<input type="reset" value="Reset">
Контурные кнопки (без фона)
Нужна кнопка, но без «тяжелых» фоновых цветов? Замените дефолтные классы-модификаторы на классы .btn-outline-*
для удаления всех фоновых изображений и цветов в любой кнопке.
Главный Вторичный Успех Опасность Предупреждение Инфо Светлый Темный
<button type="button">Главный</button>
<button type="button">Вторичный</button>
<button type="button">Успех</button>
<button type="button">Опасность</button>
<button type="button">Предупреждение</button>
<button type="button">Инфо</button>
<button type="button">Светлый</button>
<button type="button">Темный</button>
Размеры
Нужно изменить размеры кнопки? Добавьте в нее классы . btn-lg
или .btn-sm
для получения дополнительных размеров.
Большая кнопка Большая кнопка
<button type="button">Большая кнопка</button>
<button type="button">Большая кнопка</button>
Маленькая кнопка Маленькая кнопка
<button type="button">Маленькая кнопка</button>
<button type="button">Маленькая кнопка</button>
Создайте кнопки блочного уровня – которые занимают полную ширину родительского элемента – добавлением класса .btn-block
.
Кнопка блочного уровня Кнопка блочного уровня
<button type="button">Кнопка блочного уровня</button>
<button type="button">Кнопка блочного уровня</button>
Активное состояние
Когда кнопки нажимают, появляется более темный фон, границы и внутренняя тень. В BS4 нет необходимости добавлять класс в <button>
, т.к. тут используется псевдо-класс. Однако вы можете вызвать «активное» поведение и соответствующий внешний вид, добавив класс .active
(и включив атрибут aria-pressed="true"
) , когда необходимо прямо объявить такое поведение.
<a href="#" role="button" aria-pressed="true">Главная ссылка</a>
<a href="#" role="button" aria-pressed="true">Ссылка</a>
«Отключенние» кнопки
Заставьте кнопки выглядеть «неактивными» добавлением булеанова атрибута disabled
к любому элементу <button>
.
Главная кнопка Кнопка
<button type="button" disabled>Главная кнопка</button>
<button type="button" disabled>Кнопка</button>
«Отключенные» кнопки, созданные из элемента <a>
, ведут себя немного иначе:
- Элемент
<a>
не поддерживает атрибутdisabled
, так что для соответствующих свойств вместо него надо добавлять класс. disabled
; - Некоторые future-friendly стили, которые поддерживаются не всеми юзер-агентами, (т.е. «возможно будут поддерживаться в будущем») включены в
<a>
для отключения всех событийpointer-events
на кнопках-якорях. В браузерах, которые поддерживают это свойство, вы вовсе не увидите деактивированный курсор. - Отключенные кнопки должны содержать атрибут
aria-disabled="true"
для указания вспомогательным технологиям состояния элемента.
<a href="#" role="button" aria-disabled="true">Главный линк</a>
<a href="#" role="button" aria-disabled="true">Линк</a>
Оговорка о некоторых аспектах функциональности ссылок
Класс .disabled
использует pointer-events: none
для попытки деактивации ссылочной функциональности <a>
, но это свойство CSS еще не полностью стандартизовано. В дополнение, даже в браузерах, поддерживающих свойство pointer-events: none
, при навигации с клавиатуры пользователи клавиатур для слабовидящих и иных вспомогательных технологий могут нечаянно пройти по данной ссылке. Так что для полной «безопасности» добавляйте в эти ссылки атрибут tabindex="-1"
(для предотвращения возможности «нахождения» их с клавиатуры) и используйте обычные скрипты JavaScript для деактивации их функциональности.
Плагины кнопок
Контролируйте состояния кнопок или создавайте группы кнопок для компонентов, таких как «тулбары».
Переключение состояний
Добавьте data-toggle="button"
для переключения на активное состояние кнопки. Если вы делаете это, вы должны вручную добавить в <button>
класс .active
и aria-pressed="true"
.
Одиночный переключатель
<button type="button" data-toggle="button" aria-pressed="false" autocomplete="off">
Одиночный переключатель
</button>
Переключатели («галочки») и «кнопки радио»
Стили классов . button
могут применяться к прочим элементам, таким как <label>
, для создания переключателей («галочек») или «кнопок радио». Добавьте data-toggle="buttons"
к классу .btn-group
, содержащему эти измененные кнопки, для включения «переключателей» в их соответствующих стилях.
Состояние выбора (т.е. когда ставится «галочка») обновляется лишь событием клика click
по кнопке. Если вы используете другой метод для обновления ввода – например <input type="reset">
или вручную применяя свойство ввода checked
– вам потребуется вручную применить класс .active
к <label>
.
Заметьте, что кнопки с предустановленным выбором требуют вручную добавить класс .active
к элементу ввода <label>
.
<div data-toggle="buttons">
<label>
<input type="checkbox" checked autocomplete="off"> Checked
</label>
</div>
<div data-toggle="buttons">
<label>
<input type="radio" name="options" autocomplete="off" checked> Active
</label>
<label>
<input type="radio" name="options" autocomplete="off"> Radio
</label>
<label>
<input type="radio" name="options" autocomplete="off"> Radio
</label>
</div>
Методы
Метод | Описание |
---|---|
$().button('toggle') |
Задействует состояние «нажатия». Дает кнопке вид активированной (нажатой) кнопки. |
$().button('dispose') |
Уничтожает кнопку элемента (в элементе). |
Как создавать адаптивные кнопки и блоки в CSS
Основатель компании Useful Web и преподаватель «Нетологии» Владимир Языков рассказал, как создавать кнопки и блоки страниц, содержимое которых может измениться.
Обучение в онлайн-университете: курс «Старт в программировании»
Если содержимое в блоке может измениться, вместо жестких размеров блока задавайте внутренние отступы. Расскажу, как сделать так, чтобы:
- правка дополнительного содержимого не затрагивала ранее написанные стили;
- при добавлении нового содержимого макет отображался корректно.
Кнопки
Создадим кнопку общего назначения:
.button {
/* геометрия элемента */
width: 150px;
height: 20px;
/* отступы между кнопками */
margin-bottom: 5px;
/* центрируем текст кнопки по вертикали */
display: flex;
justify-content: center;
/* центрируем текст кнопки по горизонтали */
text-align: center;
/* чтобы работала геометрия и отступы у тега <a> */
display: inline-block;
/* убираем обводку у тега <a> */
text-decoration: none;
background-color: red;
color: #fff;
}
Примеры использования:
<a href=»#»>Отправить резюме</a>
<a href=»/»>Очистить форму</a>
Код примера
В процессе развития проекта в элементах сайта может измениться содержимое. Это значит, что текст в кнопке «Отправить резюме» может смениться на «Отправьте нам ваше резюме», и получится вот так:
Код примера
Слово «резюме» не поместилось, хотя именно из-за него и появился дополнительный отступ.
Проблема
Жесткие размеры дают корректное отображение макета только здесь и сейчас.
Решение
Можно добавить более гибкую систему геометрии блочной модели, поставив значение min-width:
.button {
min-width: 150px;
/* при жесткой высоте будет увеличиваться ширина */
height: 20px;
/* … остальной код без изменения */
}
Код примера
Мы поправили отображение, но теперь текст слишком близко к границам кнопки, поэтому нужно поставить внутренние отступы. Не забудьте вычесть их из ширины блока при box-sizing:content-box, то есть стандартном поведении элементов.
.button {
/*
поскольку другое значение border-box не задавалось,
нужно подкорректировать размеры
*/
min-width: 140px;
/* при жесткой высоте будет увеличиваться ширина */
height: 20px;
padding: 0 10px;
/* … остальной код без изменения */
}
Код примера
Блоки страницы
При верстке посадочных страниц можно встретить блоки с большим количеством свободного пространства внутри. Пример:
Лучше всего оформить это в CSS так:
<div>
<h2>
Поздравляю, вы стали обладателем квартиры в Сызрани!
</h2>
</div>
.greeting {
/* задаём геометрию */
height: 200px;
padding: 20px;
/* центрируем содержимое по вертикали и горизонтали */
display: flex;
align-items: center;
justify-content: center;
/* учитываем последующее добавление элементов */
flex-direction: column;
background: blue;
}
.greeting__title {
color: #fff;
font-family: Arial;
font-size: 20px;
}
Вот что у нас получилось:
Код примера
Проблема
Возможно, позже в этот блок понадобится добавить описание. При большом количестве текста с нашими жесткими размерами все пойдет наперекосяк:
Такое происходит при переполнении контейнера .greeting. Некоторые начинающие специалисты могут просто поставить overflow:hidden, но это не решит проблему.
Решение
Ставим min-height и отступы на случай, если содержимого станет слишком много:
.greeting {
/* задаём геометрию */
min-height: 200px;
padding: 20px;
/* код без изменения */
}
Код примера
padding > min-*
А что, если задать размеры отступов, значительно превышающие в сумме минимальную ширину или высоту?
. greeting {
/* задаём геометрию */
min-height: 40px;
/* тут речь идет только о box-sizing:content-box */
padding: 80px;
/* код без изменения */
}
Начальное поведение у элементов в обоих случаях будет одинаковым, а вот поведение при превышении минимального значения контейнера — разным.
Код примера
Внешние отступы
А что там с margin’ами? Можно ли их подвязать на замену padding? Нет. Внешние отступы имеет смысл использовать, чтобы задать расстояния между несколькими логически законченными блоками. Не делайте так:
<div>
<div>
<h2>
Поздравляю, вы стали обладателем квартиры в Сызрани!
</h2>
</div>
</div>
И так тоже не делайте:
.greeting {
/* задаём геометрию */
min-height: 40px;
/* не задаём никакие отступы в родительском элементе */
/* код без изменения */
}
.greeting__container {
margin: 80px;
}
Резюме
- Для всего, что может измениться, задавайте минимальные и максимальные размеры.
- Добавляйте отступы для корректного отображения.
Уточните у дизайнера или клиента, какую часть свободного места можно отвести на отступы, оставив разницу на min-width/height.
Читать еще: «10 ошибок начинающего верстальщика и как их избежать»
Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.
Получаем данные от элементов формы с помощью PHP
В этом уроки мы с помощью функций PHP получим данные, которые будет вводить пользователь в форму.
Первое, что нам нужно — это создать форму:
<form action="app/check.php" method="post">
<p>Имя: <input name="name" type="text"></p>
<p>Фамилия: <input name="surname" type="text"></p>
<p>E-mail: <input name="email" type="text"></p>
<p>Сообщение: <br /><textarea name="message" cols="30" rows="5"></textarea></p>
<p><input type='submit' value='Отправить'></p>
</form>
Обратите внимание на строку action=»app/check. php» — это адрес обработчика формы, сюда будут отправляться данные формы, после нажатия кнопки Отправить. Также, на параметр name у полей формы, мы будем использовать эти имена при написании кода. Передавать данные будем методом — POST.
1. Давайте начнем. Создайте и откройте (через редактор) обработчик app/code.php — сначала, это просто пустая страница. Далее откройте тег PHP — <?php.
2. Нам нужно проверить, была ли отправлена форма, для этого мы будем использовать глобальную переменную $_SERVER
и проверять REQUEST_METHOD
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
// наш код
}
?>
3. Дальше, если форма отправлена, мы можем получить данные от поля «Имя», для этого, какой-нибуть переменной присваиваем полученное значение от этого поля, например:
<?php
$name = $_POST['name'];
?>
$_POST
— переменная, в которой сохраняются данные, если форма была отправлена методом POST.
$_POST['name']
— получаем данные от поля name.
4. Тоже самое делаем и для остальных наших полей:
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$message = $_POST['message'];
?>
5. Данные мы получили, теперь мы можем их вывести, для этого в страницу обработчика дописываем код:
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$message = $_POST['message'];
echo $name."<br />".$surname."<br />".$email."<br />".$message."<br />";
?>
Не рекомендуется просто так, без проверки, выводить введенные пользователем данные.
Пропускайте переменные хотя бы через функцию htmlspecialchars.
Вот так, можно получать данные введенные в элементы формы.
Посмотреть исходники
Красивые 3D-кнопки с помощью CSS3
Замечательная технология CSS3 позволяет в ряде случаев при оформлении сайта отказаться от использования изображений, которые заменяет чистый CSS-код. К примеру, подобным образом можно поступить с какими-либо кнопками, используемыми на сайте.
Есть один замечательный дизайнерский англоязычный блог PremiumPixels.com, автор которого бесплатно делится красивыми элементами интерфейса для сайтов. Мне очень нравится стиль этого дизайнера, он рисует обалденно. Я уже неоднократно использовал на своих блогах его полезняшки, и одной из этих полезняшек стал набор красивых 3D-кнопок.
С помощью CSS3 я “нарисовал” практически копии этих кнопок, кодом которых и поделюсь в данной статье.
HTML
HTML-код кнопки будет таким:
<button name="" type="submit">Отправить</button>
Можно было бы использовать и тег <input>
, но есть 2 причины, по которым в данном случае лучше будет задействовать тег <button>
:
- В Опере на input’е не работает свойство
text-shadow
; - В Опере у input-кнопки появляется черная обводка, если есть фокус в одном из полей формы, что делает кнопку некрасивой.
Примеры
На отдельной странице я подготовил все 10 вариантов 3D-кнопки. CSS-код понравившегося цвета кнопки вы можете скопировать из поля под соответствующей кнопкой.
Также пример такой кнопки вы можете наблюдать в форме добавления комментария на данном блоге.
Особенности
- Каждая кнопка имеет 3 состояния: по умолчанию, при наведении курсора мыши и при клике.
- Полноценно (т.е. так, как и задумывалось) кнопки отображаются в браузерах Opera, Firefox, Chrome, Safari. В Internet Explorer 9 отсутствуют закругления углов, внутренняя обводка и тень у текста (поскольку эти свойства он не поддерживает). Несмотря на это, в IE9 кнопки выглядят неплохо. В IE8 и версиях ниже также отсутствует объемность кнопки, но в них, по крайней мере, есть градиенты.
- Для создания градиентов я воспользовался удобным сервисом Ultimate CSS Gradient Generator.
- Если сравнивать место, занимаемое на сервере, между кнопкой, созданной в виде изображения, и кнопкой, созданной на чистом CSS-коде, то разница получается несущественная – плюс-минус 1 Кб. Однако при этом кнопка на CSS3 позволяет снизить количество запросов к серверу на 1, что, несомненно, является плюсом.
В итоге, несмотря на отсутствие поддержки в браузерах Internet Explorer ряда CSS-свойств, я считаю, что 3D-кнопки, оформленные подобным образом с помощью CSS3, можно смело использовать на своих сайтах, ведь на их юзабилити это никак не сказывается, а пользователи IE лишены лишь возможности наблюдать все прелести современных веб-технологий.
Не удается найти страницу | Autodesk Knowledge Network
(* {{l10n_strings.REQUIRED_FIELD}})
{{l10n_strings.CREATE_NEW_COLLECTION}}*
{{l10n_strings.ADD_COLLECTION_DESCRIPTION}}
{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.TAGS}} {{$item}} {{l10n_strings.PRODUCTS}} {{l10n_strings.DRAG_TEXT}}{{l10n_strings. DRAG_TEXT_HELP}}
{{l10n_strings.LANGUAGE}} {{$select.selected.display}}{{article.content_lang.display}}
{{l10n_strings.AUTHOR}}{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}
{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}— HTML: язык разметки гипертекста
элемента типа submit
отображаются как кнопки. Когда происходит событие click
(обычно из-за того, что пользователь нажал кнопку), пользовательский агент пытается отправить форму на сервер.
Атрибут элемента
содержит
DOMString
, который отображается как метка кнопки.В противном случае кнопки не имеют истинного значения.
Если вы не укажете , значение
, кнопка будет иметь метку по умолчанию, выбранную пользовательским агентом. Скорее всего, это будет что-то вроде «Отправить» или «Отправить запрос». Вот пример кнопки отправки с меткой по умолчанию в вашем браузере:
В дополнение к атрибутам, общим для всех элементов
, submit
кнопок ввода поддерживает следующие атрибуты:
Атрибут | Описание |
---|---|
форма операции | URL-адрес для отправки данных формы; переопределяет атрибут действия формы , если он есть |
formenctype | Строка, определяющая тип кодировки, используемый для данных формы |
метод формы | Метод HTTP ( получить или сообщение ) для использования при отправке формы. |
форма новалидата | Логическое значение, которое, если оно присутствует, означает, что поля формы не будут подвергаться проверке ограничений перед отправкой данных на сервер. |
formtarget | Контекст просмотра, в который загружается ответ, возвращаемый сервером после отправки формы |
formaction
formenctype
Строка, определяющая метод кодирования, используемый при отправке данных формы на сервер.Есть три допустимых значения:
-
приложение / x-www-form-urlencoded
- Это значение по умолчанию отправляет данные формы в виде строки после URL-кодирования текста с использованием такого алгоритма, как
encodeURI ()
. -
multipart / form-data
- Использует
FormData
API для управления данными, позволяя отправлять файлы на сервер. Вы должны использовать этот тип кодировки, если ваша форма включаетfile
( -
текст / простой
- Обычный текст; в основном полезен только для отладки, поэтому вы можете легко увидеть данные, которые нужно отправить.
Если указано, значение атрибута formenctype
переопределяет атрибут action
формы-владельца.
Этот атрибут также доступен для элементов
и
.
formmethod
Строка, указывающая метод HTTP для использования при отправке данных формы; это значение переопределяет любой атрибут method
, указанный в форме-владельце.Допустимые значения:
-
получить
- URL-адрес создается, начиная с URL-адреса, заданного атрибутом
formaction
илиaction
, добавляя знак вопроса («?»), А затем добавляя данные формы, закодированные, как описано вformenctype
илиформы. атрибут enctype
. Затем этот URL-адрес отправляется на сервер с помощью запроса HTTPget
. Этот метод хорошо работает для простых форм, содержащих только символы ASCII и не имеющих побочных эффектов.Это значение по умолчанию. -
пост
- Данные формы включаются в тело запроса, который отправляется на URL-адрес, указанный в атрибуте
formaction
илиaction
с использованием метода HTTPpost
. Этот метод поддерживает сложные данные и вложения файлов. -
диалог
- Этот метод используется, чтобы указать, что кнопка закрывает диалоговое окно, с которым связан ввод, и вообще не передает данные формы.
Этот атрибут также доступен для элементов
и
.
formnovalidate
Логический атрибут, который, если он присутствует, указывает, что форма не должна проверяться перед отправкой на сервер. Это отменяет значение атрибута novalidate
в форме владения элементом.
Этот атрибут также доступен для элементов
и
.
formtarget
Строка, указывающая имя или ключевое слово, указывающее, где отображать ответ, полученный после отправки формы. Строка должна быть именем контекста просмотра (то есть вкладки, окна или
. Указанное здесь значение переопределяет любую цель, заданную атрибутом target
в , который владеет этим входом
Помимо фактических имен вкладок, окон или встроенных фреймов, можно использовать несколько специальных ключевых слов:
-
_ себя
- Загружает ответ в тот же контекст просмотра, что и тот, который содержит форму.Это заменит текущий документ полученными данными. Это значение по умолчанию, используемое, если ничего не указано.
-
_ пустой
- Загружает ответ в новый безымянный контекст просмотра. Обычно это новая вкладка в том же окне, что и текущий документ, но она может отличаться в зависимости от конфигурации пользовательского агента.
-
_ родитель
- Загружает ответ в родительский контекст просмотра текущего. Если родительский контекст отсутствует, он ведет себя так же, как
_self
. -
_top
- Загружает ответ в контекст просмотра верхнего уровня; это контекст просмотра, который является самым верхним предком текущего контекста. Если текущий контекст является самым верхним контекстом, он ведет себя так же, как
_self
.
Этот атрибут также доступен для элементов
и
.
кнопки используются для отправки форм.Если вы хотите создать пользовательскую кнопку, а затем настроить ее поведение с помощью JavaScript, вам необходимо использовать
или, еще лучше, элемент
.
Если вы решите использовать элементы
для создания кнопок в вашей форме, имейте это в виду: если внутри есть только один
, эта кнопка будет рассматриваться как » отправить ». Таким образом, вы должны иметь привычку явно указывать, какая кнопка является кнопкой отправки.
Простая кнопка отправки
Начнем с создания формы с простой кнопкой отправки:
<форма>
Это выглядит так:
Попробуйте ввести текст в текстовое поле, а затем отправить форму.
После отправки пара имя / значение данных отправляется на сервер. В этом случае строка будет иметь вид text = usertext
, где «usertext» — это текст, введенный пользователем, закодированный для сохранения специальных символов. Куда и как будут отправлены данные, зависит от конфигурации ; см. «Отправка данных формы» для получения более подробной информации.
Добавление сочетания клавиш для отправки
Сочетания клавиш, также известные как клавиши доступа и эквиваленты клавиатуры, позволяют пользователю запускать кнопку с помощью клавиши или комбинации клавиш на клавиатуре.Чтобы добавить сочетание клавиш к кнопке отправки — так же, как и с любым
, для которого это имеет смысл — вы используете глобальный атрибут accesskey
.
В этом примере s указано как клавиша доступа (вам нужно будет нажать s плюс определенные клавиши-модификаторы для комбинации вашего браузера / ОС. Во избежание конфликтов с собственными сочетаниями клавиш пользовательского агента разные Клавиши-модификаторы используются для клавиш доступа, чем для других сочетаний клавиш на главном компьютере.См. ключ доступа
для получения дополнительной информации.
Вот предыдущий пример с добавленным ключом доступа s :
<форма>
Например, в Firefox для Mac нажатие Control — Option — S запускает кнопку Отправить, тогда как Chrome в Windows использует Alt + S .
Проблема с приведенным выше примером заключается в том, что пользователь не знает, что такое ключ доступа! Это особенно верно, поскольку модификаторы обычно нестандартны, чтобы избежать конфликтов. При создании сайта не забудьте предоставить эту информацию таким образом, чтобы она не мешала дизайну сайта (например, предоставив легкодоступную ссылку, указывающую на информацию о ключах доступа к сайту). Добавление всплывающей подсказки к кнопке (с использованием атрибута title
) также может помочь, хотя это не полное решение для целей доступности.
Отключение и включение кнопки отправки
Чтобы отключить кнопку отправки, укажите для нее глобальный атрибут disabled
, например:
Вы можете включать и отключать кнопки во время выполнения, задав для отключено
значение true
или false
; в JavaScript это выглядит как btn.disabled = true
или btn.disabled = false
.
Кнопки отправки не участвуют в проверке ограничений; у них нет реальной ценности, которую нужно ограничивать.
Выше мы включили простые примеры. О кнопках отправки больше нечего сказать. Есть причина, по которой этот вид управления иногда называют «простой кнопкой».
Таблицы BCD загружаются только в браузере
Вот почему вы всегда должны это объявлять »
В атрибутах HTML
Раскрытие: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальный сбор за некоторые услуги, которые мы рекомендуем на этой странице. Узнать больше- Атрибут
- Создание кнопки с помощью элемента HTML Button: вот как
- Что
имеет тип кнопки в HTML: вот почему вы всегда должны объявлять это
? - Задает тип кнопки.
Пример кода
Нажми меня без причины! Имя
Сбросить форму!
Отправить (отключено)
Типы кнопок
Есть три типа кнопок:
-
submit
— отправляет текущие данные формы.(Это значение по умолчанию.) -
reset
— Сбрасывает данные в текущей форме. -
кнопка
— Просто кнопка. Его эффекты должны контролироваться чем-то другим (то есть с помощью JavaScript).
Раньше кнопки в основном появлялись в контексте форм, где поведение по умолчанию submit
имело смысл. Сегодня кнопки часто встречаются во всевозможных контекстах приложений в браузере, поэтому с первого взгляда на разметку не всегда ясно.Поэтому рекомендуется, чтобы всегда явно объявлял тип
кнопки.
Разница между
и
Отображение
и
как кнопки и вызывают отправку данных формы на сервер.
Разница в том, что
может иметь содержимое, тогда как
не может (это нулевой элемент).Хотя текст кнопки
можно указать, вы не можете добавить разметку к тексту или вставить изображение. Таким образом,
имеет более широкий набор параметров отображения.
Есть некоторые проблемы с
в старых нестандартных браузерах (например, Internet Explorer 6), но подавляющее большинство пользователей сегодня с ними не сталкиваются.
Поддержка браузера для типа
HTML-теги / теги формы / кнопка отправки и кнопка сброса
Элемент INPUT определяет поле ввода.Когда вы указываете «отправить» (или «сбросить») для атрибута type этого элемента, создается кнопка отправки (или кнопка сброса).
Атрибут | Значение | Пояснение |
---|---|---|
type = «» | представить | тип поля ввода submit: создает кнопку отправки reset: создает кнопку сброса |
сброс | ||
name = «» | название кнопки | уникальное имя для кнопки |
значение = «» | текст кнопки | текст, отображаемый на кнопке |
- type = «submit»
- Создает кнопку отправки в форме.При нажатии этой кнопки данные формы отправляются на сервер.
- type = «reset»
- Создает на форме кнопку сброса. При нажатии этой кнопки ввод сбрасывается.
- name = «»
- Имя кнопки используется для идентификации нажатой кнопки отправки.
- значение = «»
- Значение — это текст, отображаемый на кнопке.
Стиль кнопки можно изменить с помощью CSS. Подробную информацию о CSS см. В «Связанном документе».
Пример
- Выход
Эту форму нельзя отправить из-за образца.
- Выход
Эту форму нельзя отправить из-за образца.
Теги формы- Связанный документ
Почему важно присвоить кнопке HTML тип
Спойлер
Кнопка без атрибута типа действует как type = "submit"
и будет пытаться отправить данные формы при нажатии. Четко выражайте свои намерения и будьте добры к будущим разработчикам, работающим с вашим кодом: укажите тип. Если указать кнопку
, отправить
или сбросить
, цель кода ясна и его легче поддерживать
Основные сведения о кнопках
Как создать элемент кнопки с помощью HTML? Я часто вижу, что они написаны так:
Войти в полноэкранный режимВыйти из полноэкранного режима Этот код является допустимым HTML и проходит службу проверки разметки W3C.Однако я считаю, что атрибут типа
всегда должен быть включен в кнопку. Если этот атрибут отсутствует, это может привести к потенциально сбивающему с толку поведению — и этого достаточно, чтобы иметь дело уже в веб-разработке!
Примечание : я использую тег
вместо тега ввода, например
при построении кнопок в HTML. Я рекомендую это, потому что тег кнопки и семантически правильный для этой цели, и его проще стилизовать, чем тег input
.
Значения атрибутов типа
HTML-теги используют пары ключ-значение или атрибуты для изменения своей функциональности. Например, обычно используемым атрибутом является атрибут класса, как в этом элементе div:
. Каждый элемент HTML имеет собственный набор допустимых атрибутов.
Кнопки позволяют использовать дополнительный атрибут, называемый «тип», который используется для определения назначения кнопки. Атрибут type может принимать три значения:
- отправить
- кнопка
- сброс
«представить»
Войти в полноэкранный режимВыйти из полноэкранного режима Эта кнопка отправляет данные формы.Кнопки отправки обычно находятся внутри формы, то есть в теге .
«кнопка»
Войти в полноэкранный режимВыйти из полноэкранного режимаЭта кнопка не имеет поведения по умолчанию. Необходимо использовать JavaScript, чтобы определить, что происходит при нажатии.
«сброс настроек»
Войти в полноэкранный режимВыйти из полноэкранного режимаКогда эта кнопка вложена в форму, при нажатии этой кнопки элементы управления формы сбрасываются до их начальных значений.
Нет типа
Войти в полноэкранный режимВыйти из полноэкранного режимаПосле прочтения предыдущих определений, как вы думаете, как будет вести себя кнопка без атрибута типа? Если атрибут type отсутствует, кнопка ведет себя как кнопка submit .
Это определенно не то, что я ожидал — я предполагал, что кнопка без определенного типа ничего не будет делать при нажатии.Это может вызвать проблемное поведение (например, ошибки!) В вашем коде, если вы, как и я, этого не ожидаете.
Типы кнопок в действии
На следующем гифке показана простая форма (исходный код Codepen ниже). Когда форма отправляется, цвет фона страницы изменяется с помощью JavaScript, прослушивая событие onsubmit
. Каждый из упомянутых ранее типов кнопок включен в форму и помечен, чтобы показать значение их типа. Обратите внимание, что происходит при нажатии на каждую из них:
Кнопка типа отправки изменяет цвет фона и отправляет форму, как и ожидалось.
Кнопка типа «кнопка» ничего не делает, как и ожидалось.
Кнопка сброса ничего не делает, так как в этом примере нет вводов формы для сброса. Это тоже ожидается.
Кнопка без явного значения типа отправляет форму и меняет цвет фона. Мы ожидаем этого после обсуждения выше, но это все еще не кажется интуитивно понятным по сравнению с другими типами кнопок.
Попробуйте поэкспериментировать с CodePen здесь:
Почему всегда следует объявлять атрибут типа?
1) Четкое определение того, что делает кнопка
Когда кнопка не имеет атрибута типа, ее использование неясно.При написании кода вам может быть очевидно, что кнопка отправляет форму. Но часть того, чтобы быть хорошим разработчиком программного обеспечения, — это писать код, который будет легко поддерживать и понимать другим. Добавив атрибут type, будущие разработчики или даже Future You могут быстро и легко определить назначение кнопки.
2) Избегайте ошибок
«Почему эта форма отправляется, когда я нажимаю эту несвязанную кнопку?» Следуйте этому совету, и вы и любой, кто работает с вашим кодом, больше никогда не столкнетесь с этой ошибкой:
Для любой кнопки, которая не отправляет или не сбрасывает данные формы, добавьте атрибут типа
button
.
Если бы каждый, кто писал HTML, понимал, что кнопки по умолчанию действуют как кнопки отправки, тогда в этом совете не было бы необходимости. К сожалению, не все это делают, поэтому пока что объявите тип кнопки 🙂
На основе wtfhtmlcss.
10 кнопок отправки CSS
Коллекция отобранных вручную бесплатных кнопок отправки HTML и CSS примеров кода. Обновление коллекции за октябрь 2018 г. 1 новый предмет.
- CSS-кнопки
- Эффекты наведения кнопки CSS
- CSS 3D-кнопки
- Кнопки с градиентом CSS
- Плоские кнопки CSS
- Кнопки закрытия CSS
- Кнопки загрузки CSS
- CSS Кнопки воспроизведения / паузы
- Эффекты нажатия кнопки CSS
- Библиотеки кнопок CSS
О коде
Кнопка отправки превращается в птиц
CSS-анимация кнопки отправки, которая при нажатии превращается в летающих птиц.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Адаптивный: нет
Зависимости: —
Сделано с
- HTML (мопс) / CSS (стилус)
О коде
Кнопка отправки со стрелкой
Просто кнопка со стрелкой при наведении курсора через CSS. Не совсем то, что нужно.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
Сделано с
- HTML / CSS (SCSS) / JavaScript
О коде
Отправить загрузчик
Кнопка «Отправить» с загрузчиком.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
Автор
- Нур Сауд
О коде
Анимированные кнопки отправки
Кнопки отправки с анимацией успешного состояния и анимации состояния ошибки.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
Автор
- Николас Дж. Энглер
Сделано с
- HTML (тонкий) / CSS (SCSS) / JavaScript
О коде
Кнопка отправки
Кнопка «Отправить» со статусом микрокопии.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
Автор
- Джошуа Уорд
Сделано с
- HTML / CSS (SCSS) / JavaScript
О коде
Анимация загрузки кнопки
Анимация загрузки кнопки ES6.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: font-awesome.css
Автор
- thelaazyguy
О коде
Кнопка отправки
Кнопка статуса отправки со смесью SVG, CSS и немного ES6.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
О коде
Взаимодействие с кнопками
Эксперимент для кнопки отправки.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
Автор
- Ирем Лопсум
О коде
Кнопка отправки
Кнопка отправки с переходом.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
Автор
- Рик Шеннинк
Сделано с
- HTML / CSS (SCSS) / JavaScript
О коде
Кнопка Organic
Эластичный , кнопка отправки , имеет подачу для загрузки анимации, после завершения перейдет в состояние готовности.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Зависимости: —
отдельных кнопок отправки формы, которые переходят на разные URL-адреса
Это всплыло на днях. Я забыл где, но я записал это в свой блокнот для идей для постов в блоге. Я записал это, потому что то, что я подслушивал, было слишком сложным.
Допустим, у вас есть такая форма:
Когда вы отправите эту форму, она перейдет по URL-адресу `/ submit`.Скажем, вам нужно еще одна кнопка отправки , которая отправляется на другой URL. Неважно почему. Для вещей всегда есть причина. Интернет — это большое место и все такое.
Я поискал в Интернете другие способы, которыми люди пытались справиться с этим.
Один из способов — отказаться от отправки по разным URL-адресам, но дать каждой кнопке отправки общее имя
, но другое значение
, а затем проверять это значение при обработке, чтобы делать разные вещи.
Вы можете прочитать это значение во время обработки и перенаправить, если хотите. Но это способ решения указанной проблемы.
Другой способ — использовать JavaScript для изменения действия при нажатии кнопки. Есть несколько способов сделать это, но все сводится к:
Которая, конечно, полагается на работу с JavaScript, что не представляет особой важности, но не настолько дружественно к прогрессивному усовершенствованию, как могло бы быть.
Правильный ответ (если можно так выразиться) заключается в том, что в HTML это уже предусмотрено. Возможно, это не так хорошо известно, как должно быть. Полагаю, отсюда и сообщение в блоге.
Все дело в атрибуте formaction
, который можно поместить непосредственно на кнопки отправки, который переопределяет действие
в самой форме.
Вот и все.Продолжать.
Кнопки отправки и сброса: MGA
О DoITHTML TutorialJavaScript TutorialXML TutorialPHP Tutorial
Глава 1 — Создание веб-страниц Глава 2 — Базовый макет документа Глава 3 — Базовый стиль документа Глава 4 — Форматирование текста Глава 5 — Графические изображения Глава 6 — Применение специальных стилей Глава 7 — Использование воспроизведения страниц Глава 8 МультимедиаГлава 10 — Создание формГлава 11 — Проектирование веб-сайтов HTML / CSS Приложение
Элементы управления формойСоздание формЭлементы управления текстовым полемУправление текстовой областьюКнопки радиоКнопкиЧекбоксы Выпадающие спискиКнопки отправки и сбросаДругие кнопкиГруппировка и меткиПодача формФормы и CSS
Все формы, отправляемые на серверную обработку, должны включать хотя бы одну кнопку «отправить».
для передачи информации формы на веб-страницу, указанную в атрибуте действия тег.Для этого можно использовать как стандартную кнопку, так и графическое изображение.
отправка формы.
Кнопка
Кнопка отправки формы может быть создана с помощью тега
.
и может появиться в любом месте формы. Внешний вид кнопки по умолчанию с ее «Отправить запрос».
этикетка показана ниже.
Рисунок 10-27. Внешний вид кнопки отправки формы по умолчанию.
Общий формат тега
для определения формы.
Кнопка отправки представлена на Рисунке 11-28.
id = « id »
name = « name »
value = « text »
>Рисунок 10-28. Общий формат для кнопки
.
Атрибут id
id может быть назначен кнопке отправки, если есть необходимость ее идентифицировать. для обработки скриптов браузера.В противном случае идентификатор не нужен.
Имя Атрибут
Кнопке отправки можно присвоить имя с атрибутом name . Имя требуется для определенных типов серверной обработки.
Значение Атрибут
Значение Атрибут обеспечивает два типа идентификации кнопки. С одной стороны, это значение связано с именем кнопки и указывает серверу. скрипт, по которой была нажата кнопка; с другой стороны, это значение используется как метка для кнопка.Если значение атрибута не закодировано, кнопка помечается как «Отправить запрос»; тем не мение, вы можете назначить любую текстовую строку, чтобы обеспечить удобную идентификацию кнопки как отправки кнопка.
Типичное кодирование и отображение кнопки отправки показаны ниже.
Рисунок 10-29. Типичный код и отображение для кнопки
.
Тег
ТегАльтернативой стандартной кнопке отправки является использование графического изображения для запуска формы. подчинение. Например, следующая кнопка «Пуск» работает идентично стандартной кнопку отправки.
type = "image"
name = "SubmitButton" src = "GoButton.gif"
alt = "Нажмите, чтобы отправить">
Рисунок 10-30. Графическая кнопка отправки.
Кнопка изображения создается с помощью тега
, общий формат которого
приведен на рисунке 10-31.
id = " id "
name = " name "
src = " url "
alt = " text "
>Рисунок 10-31. Общий формат для кнопки
.
Тег использует type = "image", чтобы идентифицировать это как элемент управления отправкой графической формы. Особый
Используемое изображение задается URL-адресом в атрибуте src. Другие атрибуты Тег
может быть закодирован, включая alt для альтернативного текстового описания
Изображение. Как и в случае со стандартными кнопками отправки, вам может потребоваться назначить имя или идентификатор для идентификации
кнопку для скриптов сервера или браузера.
Тег
ТегДля форм доступен еще один тип кнопок.Кнопка «сброса» может быть создана, чтобы разрешить пользователям удалить всю информацию из формы, разрешить ввод новой информации или очистить неверная информация. Его внешний вид по умолчанию показан ниже.
Рисунок 10-32. Внешний вид кнопки сброса формы по умолчанию.
Эта кнопка создается путем кодирования тега
. Вы можете назвать
или установите идентификатор кнопки и можно заменить метку «Сброс» по умолчанию, закодировав ее атрибут значения.В
действие кнопки - автоматический сброс формы, очистка всех областей ввода текста и
возврат переключателей, флажков и раскрывающихся списков к их виду по умолчанию.
В следующем примере показано использование кнопки сброса. Введите текст в текстовое поле; затем щелкните кнопку сброса. Информация в текстовом поле очищается.
Рисунок 10-33. Использование кнопки сброса формы.
Пуговицы для стилизации
Кнопки отправки и сброса могут использовать настройки таблицы стилей для изменения своего внешнего вида.Пример стиля показан следующими двумя кнопками.
Рисунок 10-34. Стилизованные кнопки отправки и сброса.
<стиль>
.submit {ширина: 150 пикселей; цвет фона: # 4682B4; цвет: #FFFFFF;
Семейство шрифтов: Times New Roman; font-size: 14pt}
.reset {width: 150px; цвет фона: # 4682B4; цвет: #FFFFFF;
Семейство шрифтов: Times New Roman; font-size: 14pt}
Листинг 10-18. Код для стилизации кнопок отправки и сброса формы.