我支持,对于:hover
,功率肯定是"否";。在CSS语言上,它将是
@media (hover: hover) {
.button {
outline: 1px solid yellow;
}
}
:focus
呢?我知道即使在触摸设备上输入文件也需要它,但按钮和链接呢?
:焦点当然适用于触摸或非触摸设备上的按钮和链接/锚点。
试试下面的例子。当您单击/点击按钮或链接时,样式会发生变化,直到您在其他地方单击/点击。
.button:focus,
.link:focus{
color: red;
}
<button class="button">
Click me
</button>
<br/>
<a href="#" class="link">Link</a>
更新
为了回答您在评论中的问题,:focus
与:hover
不同,它不一定与可访问性有关。这些伪类指示元素的状态。
:focus
-表示已接收焦点的元素(例如表单输入(。它通常在用户单击或轻击某个元素或使用键盘的Tab键选择该元素时触发:hover
-当用户使用定点设备与元素交互,但不一定要激活它时。它通常在用户用光标(鼠标指针(悬停在元素上时触发
还有:active
,它在某种程度上是相关的:
:active
-表示用户正在激活的元素(如按钮(。当使用鼠标时;激活";通常在用户按下主鼠标按钮时开始
因此,您可以根据这些不同的状态设置元素的样式。但如果你的设计不需要特定的州风格,你就不必这样做。
根据元素的不同,还有其他可用的伪类,如仅用于链接/锚点的:visited
和特定于复选框和单选按钮的:checked
。
请参阅:https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes
有意义:
- 您在触摸过程中会看到它一小段时间
- 如果您的页面停止操作,并且用户仍停留在按钮或链接上,他们将看到:焦点样式(如果已定义(
- 如果无论如何都应该为桌面定义它(有关可访问性(,请参阅https://www.w3.org/WAI/WCAG21/Understanding/on-focus.html你可能会在桌面和触摸设备之间共享风格