Я изучал функциональные возможности элементов формы по умолчанию и разные состояния между браузерами. Я нашел что-то довольно странное. Это было протестировано в разных браузерах, и результаты схожи. Скриншоты ниже - от Chrome v44.0.2403.155m (64-разрядная версия Windows).
Итак, проблема в фокусных состояниях кнопок. Ниже вы увидите форму по умолчанию без CSS-стиля. Я нажимаю на первый вход, а затем использую клавишу Tab для закладки элементов формы. В хроме вы получаете голубую схему, применяемую к каждому элементу, на который вы вставляете.
Обратите внимание, что когда я нажимаю на кнопку с помощью мыши, светло-голубого состояния "фокус" это происходит только при вводе на нее.
Я предположил, что это просто использование: focus, и если бы я стилизовал кнопку: фокус, то я смог бы воспроизвести это поведение по умолчанию. Вставьте на кнопку, чтобы выделить ее, нажмите на кнопку, которой нет. Посмотрите на эту стилизованную версию формы...
Когда я нажимаю на первый ввод и вкладку вниз, он делает то же самое, мой пользовательский контур отображается (это хорошо). Однако заметьте, когда я нажимаю на кнопку, она применяет к ней состояние: focus. Это не то же самое, что и поведение по умолчанию. В нестандартной версии щелчок не применяет состояние фокусировки.
Единственный CSS, который я использую на кнопке, - это...
input:focus, button:focus {
outline: 2px solid green;
}
Вот демо: http://jsfiddle.net/oy83s4up
Как я могу убедиться, что при нажатии кнопки нет контура, только когда он находится на вкладке?. Кроме того, по умолчанию, когда кнопка сфокусирована клавишей табуляции, даже когда она нажата, контур все еще остается, это также функциональность, которую я хочу реплицировать.
Примечание. Я не ищу работу JS, первая анимация - поведение по умолчанию в браузере. Конечно, он может копироваться только css? Если нет, то это ошибка.