去除触发链接时出现的虚线框

链接在被点击时会出现虚线框,即使松开了也仍然存在,在有的时候显得不美观。既然不好看,那就不要它。怎样去掉呢?

方法一 IE下可使用其私有的html属性:hideFoucs,在标签的结构中加入hidefocus=”true”属性。即:

<a href=”http://www.17css.com” hidefocus=”true” title=”17css-青色’s Blog”>17css-青色’s Blog</a>

而在 Firfox 浏览器中则相对比较容易,直接给标签 a 定义样式 outline:none; 就可以了,即:

.HideFocus { outline:none; }

方法二 也可以使用CSS expression来控制,但不推荐使用,毕竟expression在性能上有问题。

.HideFocus {
hide-focus:expression(this.hideFocus=true);  /* for ie 5+ */
outline:none;  /* for firefox 1.5 + */
}

除链接外,该CSS同样适用于input和button标签。

方法三 将以下代码保存为link.htc文件:

<public:attach event=”onfocus” onevent=”hscfsy()”/>
<script type=”text/javascript”>
function hscfsy(){ this.blur(); }
</script>

链接样式中加入:

a { behavior:url(link.htc); }

IE中已经没有问题,但是在FF中虚线框依然存在。再增加一条样式定义来解决此问题:

a:focus { outline:0; }

这样IE、FF中虚线都不存在了。

发表回复