outline属性有什么作用
原文链接 a{outline:none} do not do it
当用户使用tab键进行链接切换时,该属性会在当前选中的链接(获得焦点)使用该属性,一般来说是虚线框
的长方形。这对于没有使用鼠标输入的用户而言尤其有用,它可以作为视觉反馈来告知用户当前的输入。所以说
如果设置outline属性为none,则对这些人来说将会是很差的用户体验。
给链接元素设置获得焦点属性是非常有必要的,对任何使用键盘来操作用户界面的模式,焦点指示器需可见。
为什么有些开发者喜欢删除该属性
主要是由于涉及的虚荣心,或者是完全忘记了上述提到的这一点。
开发者常用的css reset往往将outline属性删除,Eric Meyers的css reset也是如此。但是Eric也说了,开发者
需要额外定义焦点样式。
/* remember to define focus styles! */
:focus {
outline:;
}
我们要记住注释的部分,一定要重新定义“焦点样式”。
如果要删除该属性,需要设置替换属性
尽量不要删除outline属性,但是也有一些其他方法来设置键盘获取焦点链接样式:
- 设置背景颜色。如:#test1 a:focus { background: #FFFF00; }
- 设置字体样式。 如: #test2 a:focus { color: #FF6600; }
- 设置outline属性。 如:#test3 a:focus { outline: #FF0000 dotted medium; }
- 设置高亮属性。 如:#test4 a:focus { color: #FFFFFF; background: #FF0000; }