⚡️ HTML и CSS с примерами кода
Тег <button>
(от англ. button — кнопка) создаёт на веб-странице кнопки и по своему действию напоминает результат, получаемый с помощью <input>
(с атрибутом type="button | reset | submit"
).
В отличие от этого элемента, <button>
предлагает расширенные возможности по созданию кнопок. Например, на подобной кнопке можно размещать любые элементы HTML, в том числе изображения. Используя стили можно определить вид кнопки путём изменения шрифта, цвета фона, размеров и других параметров.
- button
- datalist
- fieldset
- form
- input
- label
- legend
- meter
- optgroup
- option
- output
- progress
- select
- textarea
Синтаксис
<button>...</button>
Закрывающий тег обязателен.
Атрибуты
autofocus
- Устанавливает, что кнопка получает фокус после загрузки страницы.
disabled
- Блокирует доступ и изменение элемента.
form
- Связывает между собой форму и кнопку.
formaction
- Задаёт адрес, на который пересылаются данные формы при нажатии на кнопку.
formenctype
- Способ кодирования данных формы.
formmethod
- Указывает метод пересылки данных формы.
formnovalidate
- Отменяет проверку формы на корректность.
formtarget
- Открывает результат отправки формы в новом окне или фрейме.
name
- Определяет уникальное имя кнопки.
type
- Устанавливает тип кнопки: обычная; для отправки данных формы на сервер; для очистки формы.
value
- Значение кнопки, которое будет отправлено на сервер или прочитано с помощью скриптов.
Также для этого тега доступны универсальные атрибуты.
autofocus
Атрибут autofocus
устанавливает, что кнопка получает фокус после загрузки страницы. Такую кнопку можно нажать сразу без перевода на неё фокуса, например, с помощью клавиатуры.
Синтаксис
<button autofocus>...</button>
Значения
Нет.
Значение по умолчанию
По умолчанию это значение выключено.
disabled
Блокирует доступ к кнопке и её изменение. Она в таком случае отображается серым цветом и недоступна для активации пользователем. Кроме того, такая кнопка не может получить фокус путём нажатия на клавишу Tab
, мышью или другим способом. Тем не менее, такое состояние кнопки можно изменять через скрипты. Значение блокированной кнопки не передаётся на сервер.
Синтаксис
<button disabled>...</button>
Значения
Нет.
Значение по умолчанию
По умолчанию это значение выключено.
form
Связывает кнопку с формой по её идентификатору. Такая связь необходима в случае, когда кнопка не располагается внутри элемента <form>
, например, при создании её программно.
Синтаксис
<button form="<идентификатор>">...</button>
Значения
Идентификатор формы (значение атрибута id
элемента <form>
).
Значение по умолчанию
Нет.
formaction
Определяет адрес обработчика формы — это программа, которая получает данные формы и производит с ними желаемые действия. Атрибут formaction
по своему действию аналогичен атрибуту action
элемента <form>
. Если одновременно указать action
и formaction
, то при нажатии на кнопку атрибут action
игнорируется и данные пересылаются по адресу, указанному в formaction
.
Синтаксис
<button formaction="<адрес>">...</button>
Значения
Нет.
formenctype
Устанавливает способ кодирования данных формы при их отправке на сервер. Обычно явно указывается в случае, когда используется поле для отправки файла (input type="file"
). Этот атрибут по своему действию аналогичен атрибуту enctype
элемента <form>
.
Синтаксис
<button formenctype="application/x-www-form-urlencoded | multipart/form-data | text/plain" > ... </button>
Значения
application/x-www-form-urlencoded
- Вместо пробелов ставится
+
, символы вроде русских букв кодируются их шестнадцатеричными значениями (например,
вместо Петя). %D0%9F%D0%B5%D1%82%D1%8F multipart/form-data
- Данные не кодируются. Это значение применяется при отправке файлов.
text/plain
- Пробелы заменяются знаком
+
, буквы и другие символы не кодируются.
Значение по умолчанию
application/x-www-form-urlencoded
formmethod
Атрибут сообщает браузеру, каким методом следует передавать данные формы на сервер.
Синтаксис
<button formmethod="get | post">...</button>
Значения
Различают два метода — GET и POST.
GET
- Этот метод предназначен для передачи данных формы непосредственно в адресной строке в виде пар «
имя=значение
», которые добавляются к адресу страницы после вопросительного знака и разделяются между собой амперсандом (символ&
). Полный адрес к примеру будетhttp://site.ru/doc/?name=Vasya&password=pup
. Объём данных в методе ограничен 4 Кб. - Посылает на сервер данные в запросе браузера, объём пересылаемых данных ограничен лишь настройками сервера.
formnovalidate
Отменяет встроенную проверку данных введённых пользователем в форме на корректность при нажатии на кнопку. Такая проверка делается браузером автоматически при отправке формы на сервер для полей <input type="email">
, <input type="url">
, а также при наличии атрибута pattern
или required
у элемента <input>
.
Синтаксис
<button formnovalidate>...</button>
Значения
Нет.
Значение по умолчанию
По умолчанию этот атрибут выключен.
formtarget
Определяет имя фрейма, в которое будет загружаться результат, возвращаемый обработчиком формы, в виде HTML-документа.
Синтаксис
<button formtarget="<имя фрейма> | _blank | _self | _parent | _top" > ... </button>
Значения
В качестве значения используется имя фрейма, заданное атрибутом name элемента <iframe>
. Если установлено несуществующее имя, то будет открыта новая вкладка. В качестве зарезервированных значений можно указывать следующие.
_blank
- Загружает страницу в новую вкладку браузера.
_self
- Загружает страницу в текущую вкладку.
_parent
- Загружает страницу во фрейм-родитель; если фреймов нет, то это значение работает как
_self
. _top
- Отменяет все фреймы и загружает страницу в полном окне браузера; если фреймов нет, то это значение работает как
_self
.
name
Определяет уникальное имя кнопки. Как правило, это имя используется при отправке значения кнопки на сервер или для доступа к кнопке через скрипты.
Синтаксис
<button name="<имя>">...</button>
Значения
В качестве имени используется набор символов, включая числа и буквы. JavaScript чувствителен к регистру, поэтому при обращении к элементу по имени соблюдайте ту же форму написания, что и в атрибуте name
.
Значение по умолчанию
Нет.
type
Определяет тип кнопки, который устанавливает её поведение в форме. По внешнему виду кнопки разного типа никак не различаются, но у каждой такой кнопки свои функции.
Синтаксис
<button type="button | reset | submit">...</button>
Значения
button
- Обычная кнопка.
reset
- Кнопка для очистки введённых данных формы и возвращения значений в первоначальное состояние.
submit
- Кнопка для отправки данных формы на сервер.
menu
- Открывает меню, созданное с помощью элемента
<menu>
.
Значение по умолчанию
submit
value
Определяет значение кнопки, которое будет отправлено на сервер. На сервер отправляется пара «имя=значение
», где имя задаётся атрибутом name элемента <button>
, а значение — атрибутом value
. Значение может как совпадать с текстом на кнопке, так быть и самостоятельным. Также атрибут value
применяется для доступа к данным через скрипты.
Синтаксис
<button value="<текст>">...</button>
Значения
Любая текстовая строка.
Значение по умолчанию
Нет.
Спецификации
- WHATWG HTML Living Standard
- HTML5
- HTML 4.01 Specification
Описание и примеры
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>BUTTON</title> </head> <body> <p> <button>Кнопка с текстом</button> <button> <img src="image/umbrella.gif" alt="Зонтик" /> Кнопка с рисунком </button> </p> </body> </html>
Ссылки
- Тег
<button>
MDN (рус. )
— элемент кнопки — HTML
HTML-элемент <button>
создаёт кликабельную кнопку, которая может быть использована в формах или в любом другом месте документа, который требует простой, стандартной кнопки. По умолчанию, кнопки HTML обычно представлены в стиле, аналогичном стилю хост-платформы, на которой работает user agent, но вы можете изменить внешний вид кнопки, используя CSS.
Категории контента | Общий поток (en-US), текстовый контент (en-US), интерактивный контент (en-US), listed (en-US), labelable (en-US), и submittable (en-US) form-associated (en-US) элемент, очевидный контент. |
---|---|
Допустимое содержимое | Текстовый контент (en-US). |
Пропуск тегов | Нет, открывающий и закрывающий теги обязательны. |
Допустимые родители | Любой элемент с поддержкой текстового контента (en-US). |
Допустимые ARIA-роли | checkbox , link (en-US) , menuitem (en-US) , menuitemcheckbox (en-US) , menuitemradio (en-US) , radio (en-US) , switch (en-US) , tab (en-US) |
DOM-интерфейс | HTMLButtonElement |
Элемент поддерживает глобальные атрибуты (en-US).
autofocus
HTML5Данный булевый атрибут позволяет указать, будет ли кнопка автоматически сфокусирована после загрузки страницы, до тех пор, пока пользователь не изменит фокус в ручную, например выбрав другой элемент. Только один связанный с формой элемент в документе может иметь данный атрибут.
autocomplete
Non-standardИспользование данного атрибута на элементе
<button>
не описано в стандарте и используется только в Firefox браузере. По умолчанию, в отличие от прочих браузеров, Firefox сохраняет назначенное динамически отключённое состояние для элемента<button>
при последующих загрузках страницы. Установка для данного атрибута значенияoff
отключает подобное поведение. Смотрите баг 654072.disabled
Булевый атрибут, указывающий, что пользователь не может взаимодействовать с кнопкой. Если атрибут не установлен, то кнопка наследует его от элемента-контейнера, в котором она расположена, например от
<fieldset>
; если отсутствует элемент-контейнер, с установленным атрибутом disabled, то кнопка доступна для взаимодействия. Firefox по умолчанию, в отличие от прочих браузеров, сохраняет назначенное динамически отключённое состояние для элемента<button>
, даже при обновлении страницы. Чтобы изменить поведение браузера в этом случае, используйте атрибутautocomplete
.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 thetarget
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
Название кнопки, которая отправляется вместе с данными формы.
type
Устанавливает тип кнопки. Достпуные значения:
submit
: Кнопка отправляет данные формы на сервер. Это значение по умолчанию, если атрибут не указан или если атрибут динамически изменен на пустое или недопустимое значение.reset
: Кнопка сбрасывает все элементы управления к их начальным значениям. Удаляет данные, введенные в форму.button
: Кнопка не имеет поведения по умолчанию. При этом на странице могут быть скрипты, активируемые при возникновении определённых событий на кнопке.menu
: Кнопка открывает всплывающее меню, определяемое с помощью соответствующего<menu>
элемента.
value
Начальное значение кнопки.
<button name="button">Тык!</button>
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"
are the same.
Desktop Browsers | Windows 8.1 | OS X 10.X |
---|---|---|
Firefox | Yes — Firefox 30.0 | No (even with a tabindex ) Firefox 63 |
Chrome | Yes — Chrome 35 | Yes — Chrome 65 |
Safari | N/A | No (even with a tabindex ) Safari 12 (bug 22261) |
Internet Explorer | Yes — Internet Explorer 11 | N/A |
Presto | Yes — Opera 12 | Yes — Opera 12 |
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 |
Specification |
---|
HTML Standard # the-button-element |
BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
Want to get more involved?
Learn how to contribute.
This page was last modified on by MDN contributors.
25+ КНОПОК CSS — Сообщество разработчиков
50+ КНОПОК CSS
https://gscode.in/css-buttons/
ПОДРОБНЕЕ AIRTICLE
1: 20+ Шаблоны фона CSS Пример
2: 30+ 90 Удивительное меню CSS0 3 : 15+ Bootstrap navbar
4: 30+ Radio Button CSS style Examples
5: 50+ CSS шаблон сетки
CSS Button On Hover Slide Effect.
Креативные эффекты анимации кнопок | Только с использованием HTML и CSS
Креативная кнопка | hover over
Внесены изменения в мою первую ручку с эффектом наведения на кнопку. Добавлены анимации CSS для псевдоэлементов. Кнопка представляет собой миксин SASS.
4.
Если вам понравилась эта статья, ознакомьтесь с дополнительными примерами [gscode.in]
50+ КНОПОК CSS
https://gscode.in/css-buttons/
Эффект наведения с использованием псевдоэлементов
Нужен простой эффект наведения кнопки для вашего проекта? Вот мой список примеров.
Крутая коллекция простых эффектов наведения на кнопку с использованием только CSS. Профессионально и чисто. Не забудьте оставить несколько комментариев, вопросов или опасений. Хотите увидеть больше? или есть идеи? Дайте мне знать!
Удивительные эффекты при наведении на кнопку
Кнопка с тонким глянцевым/блестящим эффектом при наведении. Никаких изображений, только один элемент HTML и псевдоэлемент CSS. Вдохновленный http://codepen.io/indyplanets/pen/LejJd
Это десять кнопок с эффектами наведения CSS. В качестве эффектов используются переходы, текстовые тени, анимация и преобразования.
Кнопка с простым эффектом при наведении! Требуется один элемент
Игра с CSS-анимацией и эффектом наведения.
Коллекция CSS3-эффектов наведения для применения к ссылкам, кнопкам, логотипам, SVG, избранным изображениям и т. д. Легко применяйте к своим элементам, изменяйте или просто используйте для вдохновения. Доступно в CSS, SASS и LESS.
Теперь доступна версия 2.0 с более чем 100 эффектами .
Скачайте последнюю версию hover.css с GitHub. Эта версия CodePen останется на уровне v1.0 9.0003
Простые стили кнопок помогут вам начать веб-дизайн!
Создание базовых анимаций с тенями. Никаких дополнительных элементов или даже псевдоэлементов не требуется.
Посмотрите мою коллекцию пуговиц, чтобы узнать больше.
Некоторые эффекты наведения на кнопку с использованием псевдоэлементов и границ.
Несколько примеров ярких эффектов наведения. В настоящее время обновление этой ручки. Work in Progress
Если вам понравилась эта статья, посмотрите еще Пример [gscode. in]
p> Простая идея, которую оказалось очень трудно реализовать. В этом эксперименте не используются никакие 3D-элементы или преобразования, только 2D-элементы и немного умной математики, чтобы создать иллюзию 3D-монеты реальной толщины. Я доволен результатами, учитывая ограничения HTML и CSS.
Подбрасывание монеты также происходит случайным образом — если вы нажмете кнопку несколько раз, вы увидите.
Конфетти с использованием JS, SCSS и холста HTML5.
Пуговица на футболке с зеленым носком.
Не знаю почему, но в Chrome иногда срезается наконечник пушки, что не идеально.
Наслаждайтесь!
50+ КНОПОК CSS
https://gscode.in/css-buttons/
ПОДРОБНЕЕ AIRTICLE
1: 20+ фоновых шаблонов CSS Пример
2: 30+ удивительных примеров CSS-гамбургер-меню
3: 15+ навигационной панели Bootstrap
4: 30+ примеров стилей CSS для радиокнопок
5: 50+ шаблонов сетки CSS
Стилизация элемента кнопки с помощью CSS
Независимо от того, какую CMS вы используете (WordPress, Drupal, Joomla, Magento и т. д.), будет полезно изучить CSS, чтобы убедиться, что вы можете использовать свой брендинг на своем сайте. Кнопки на веб-сайтах немного сложнее стилизовать, но они действительно придают сайту завершенный и изысканный вид, когда вы настраиваете их в соответствии со своим внешним видом.
Тег
Вы можете вставлять текст и изображения в элемент
Продолжайте читать, чтобы узнать больше!
Разметка
Вы объявляете кнопку со следующей разметкой:
Обратите внимание, что указание атрибута type является обязательным.
Атрибуты HTML
Тег
Поддерживаются все глобальные атрибуты HTML и атрибуты событий.
Семантический HTML
Кнопки — это поля управления, с помощью которых можно инициировать действие на вашем сайте. Кнопка, содержащая ссылку, например CTA-кнопка, семантически вообще не является кнопкой. Несмотря на это, CTA-ссылки в основном представлены в виде кнопок практически всеми разработчиками.
Основные принципы дизайна кнопки
При оформлении кнопки необходимо учитывать несколько аспектов. Вот несколько советов, которые помогут вам адаптировать кнопку к вашему сайту.
Подберите кнопку под свой бренд
Всегда важно, чтобы стили кнопок соответствовали рекомендациям бренда, графическому стилю, предопределенной цветовой палитре сайта или логотипу.
Кроме того, важно также соответствовать контекстуальному стилю кнопки – вы должны задать себе такие вопросы, как:
- Где эта кнопка будет размещена? (область заголовка, область тела и т. д.)
- Какое действие запустит кнопка?
- Должна ли эта кнопка иметь ту же ширину и высоту, что и другие кнопки?
- Какой дисплей будет использоваться при просмотре содержимого?
Используйте достаточный контраст
Эффективно используйте все параметры размера, цвета, пробелов и типографики, чтобы создать визуальный вес, который поможет кнопке выделиться среди остальных элементов интерфейса.
Используйте закругленные кнопки и формы
Закругленные кнопки и кнопки особой геометрической формы придают приятный дизайн любому пользовательскому интерфейсу. Такие формы привлекают внимание посетителя и помогают создать нужную интерактивность.
Сопоставьте цвета фона, границ и теней
Практическое правило:
- Если кнопка темнее фона
- не использовать границу
- используйте рамку, соответствующую кнопке
- использовать мягкую тень или вообще не использовать тень
- Если кнопка светлее фона
- используйте рамку, соответствующую фону
- использовать тени
Использование значков
Значки дают пользователю дополнительное представление о кнопке. Символы Unicode внутри разметки кнопки, такие как стрелки, обеспечивают большую доступность (представление дизайна о том, как следует использовать элемент — в данном случае кнопку) .
Предоставление основного, вторичного и третичного стилей
Основные кнопки всегда должны иметь самый яркий цвет. Насыщенность цвета вторичных и третичных кнопок должна постепенно уменьшаться, чтобы отразить разницу. Это относится и к шрифту кнопки, и к ее размеру.
Design Feedback States
Различные состояния кнопок:
- по умолчанию
- наведение
- нажмите
- занят
- отключен
Стиль кнопок
Важно, чтобы каждая кнопка выглядела по-своему. Размер шрифта кнопок должен быть адаптирован к экранам мобильных устройств, так как большой палец человека больше и занимает больше места, чем указатель мыши, высота строки также должна быть увеличена. Имеет смысл увеличить ширину кнопки, чтобы она занимала хотя бы половину ширины области просмотра.
Цвет фона основной кнопки обычно должен соответствовать основному цвету вашего сайта или приложения. Рекомендуется использовать символы utf-8, поскольку они дают пользователю дополнительные подсказки о том, как использовать кнопку. Кроме того, вы можете использовать изображения внутри кнопок.
Основные свойства CSS
Существует 8 основных свойств для оформления кнопки:
- background-color
- граница
- цвет
- прокладка
- выравнивание текста
- украшение текста
- размер шрифта
- дисплей (по умолчанию встроенный блок)
Давайте проверим их все на примере!
HTML:
<дел>