Ответ 1
В CSS нет псевдо-класса :blur
.
динамические псевдоклассы, как и другие псевдоклассы, а на самом деле все остальные селектора представляют состояния; они не представляют события или переходы между состояниями в терминах дерева документов. Для этого: псевдо-класс :focus
представляет собой элемент, который находится в фокусе; он не представляет собой элемент, который только что получил фокус, и не существует псевдо-класса :blur
для представления элемента, который только что потерял фокус.
Аналогично, это относится к псевдоклассу :hover
. Хотя он представляет элемент, который имеет над ним указательное устройство, не существует псевдо-класса :mouseover
для только что указанного элемента или псевдо-класса :mouseout
для элемента, который только что был направлен от.
Если вам нужно применить стили к элементу, который не находится в фокусе, у вас есть два варианта:
-
Используйте
:not(:focus)
(с меньшей поддержкой браузера):input:not(:focus), button:not(:focus) { /* Styles for only form inputs and buttons that do not have focus */ }
-
Объявить правило, применимое к любому элементу независимо от его состояния фокусировки, и переопределить для элементов, имеющих фокус:
input, button { /* Styles for all form inputs and buttons */ } input:focus, button:focus { /* Styles for only form inputs and buttons that have focus */ }