拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 按钮和链接的`:focus`伪元素的样式对触摸设备有意义吗?

按钮和链接的`:focus`伪元素的样式对触摸设备有意义吗?

白鹭 - 2022-01-24 2004 0 0

我支持,因为:hover答案肯定是“不”。在 CSS 语言上,它将是

@media (hover: hover) {
  .button {
    outline: 1px solid yellow;
   }
}  

怎么样 :focus我知道即使在触摸设备上输入档案是否仍然需要它,但是按钮和链接呢?

uj5u.com热心网友回复:

: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

uj5u.com热心网友回复:

有意义的:

  1. 你在触摸程序中看到它一小会儿
  2. 如果您的页面停止操作并且用户停留在按钮或链接上,他们将看到 :focus 样式(如果已定义)
  3. 如果无论如何都应该为桌面定义它(为了可访问性),请参阅 https://www.w3.org/WAI/WCAG21/Understanding/on-focus.html并且您可能在桌面和触摸设备之间共享样式,
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *