仅当用户通过键盘导航到元素时,我才尝试有选择地在输入字段上应用大纲。根据我的理解,执行此操作的方法是删除焦点上的轮廓,但应用焦点可见,如下所示:
input:focus {
outline: 2px solid transparent;
}
input:focus-visible {
outline: 2px solid;
}
<input type="text">
然而,据我所知,输入元素同样记录了单击和键盘选择。我想以某种方式覆盖这个。我正在使用 Chrome,但也使用 Safari 进行了测试。
在此先感谢您的帮助!
您所看到的行为符合预期(并且是理想的)。
您希望所有用户(无论是在移动设备、平板电脑还是使用鼠标或键盘的台式机上)在输入活动时都具有焦点指示器。
时间当focus-visible
与移动设备上的链接等内容相关。当您单击移动设备上的链接时,通常不希望显示焦点指示器。 (尽管是否应该显示还有争议)。
所以对于一个<input>
你应该只使用input:focus{}
并预留:focus-visible
对于链接(以及其他一些特定用例,例如<button>
导致焦点更改为另一个元素的元素)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)