去掉链接获取焦点后的虚线框
以下总结了去掉虚线框的几种常用方法:
去除虚线框的方法 | 优劣 | 兼容性 | 是否中断tab |
---|---|---|---|
<a href=”#” onfocus=”this.blur()”>this blur</a> | 链接聚焦触发时失去焦点,js和html耦合在一起 | 没有兼容性问题 | 是 |
a:focus {outline:none}或 a{outline:none} |
outline由css2.1引入,去除虚线框视觉上的问题正是css的职责 | ie6/ie7不支持,ie8+/ff /safari/opera[2]支持 | 否 |
<a href=”#” hidefocus=”true” >hidefocus</a> | 该属性是ie的私有属性[3] | ie5+支持 | 否 |
a { noFocusLine: expression(this.onFocus = this.blur())} | 可批量处理,但expression的性能问题不能忽视 | expression ie6/7支持,ie8+、非ie不支持 | 是 |
综合以上,去除链接虚线框的推荐方法是:ie下用hidefocus属性,ff/chorme/opera/safari下用outline:none。即:
<a href=”#” hidefocus=”true” >链接</a>
a:focus {
outline:none;
}