当前位置: 代码迷 >> Web前端 >> 除了超链接的虚线框
  详细解决方案

除了超链接的虚线框

热度:90   发布时间:2013-09-30 09:50:49.0
去掉超链接的虚线框

当一个链接得到焦点时,默认会有个虚线框。如图:

链接虚线框

在 Firefox 里可以用 -moz-outline:none; 或者 outline:none; 来将其去掉。所以我们可以这样写:
a:focus {
????outline:none;
????-moz-outline:none;
}

顺便提一下,如果你用过 Safari 和 Chrome 可能会发现,当输入框得到焦点时边框会出现阴影效果。

safari和chrome的默认输入框

如果想去掉阴影效果也可以用 outline 属性。
input,textarea {
????outline:none;
}

言归正传,刚刚说的是 Firefox ,现在说说 IE。首先比较遗憾,还没有找到通过 CSS 去掉 IE 链接虚线框比较好的解决办法。所以只能用一个替代的办法,就是 a 标签的 hidefocus 属性(这个属性是 IE 独有的)。
<a href="#" hidefocus="true">链接</a>

注意:JS 脚本对应的属性名是:hideFocus。对应的 JS 代码应该是:
xxx.hideFocus = 'true';

还有一种不推荐的办法。就是让链接得到焦点的时候失去焦点。
<a href="#" onfocus="this.blur();">链接</a> 这种办法很管用,但过于暴力,最好不要用了。

1 楼 飞雪无情 2010-04-15  
嗯。。很实用的东西。。。
2 楼 angel243fly 2010-04-17  
谢谢风之谷,正需要呢,哈哈
3 楼 JackAndroid 2010-04-18  
刚在学CSS,受教
4 楼 nbbcdf520 2010-04-20  
不错啊!!!
5 楼 changjiang.lee 2010-09-16  
<a href="#" onfocus="this.blur();">链接</a> 这种办法为什么过于暴力呢?能否详细说说?
  相关解决方案