去掉a标签超链接的虚线框的方法

秋天是秋高气爽、秋风瑟瑟的季节。农民伯伯在辛勤地收谷,秋天的大树落下了好多树叶像翩翩起舞的蝴蝶。夕阳的金辉把绿色的林海染成金黄一片。
a{ blr:expression(this.onFocus=this.blur()); /* IE Opera */ outline:none; /* FF Opera */ } a:focus{ -moz-outline-style: none; /* FF */ }

全 局控制  CSS实现
a{blr:expression(this.onFocus=this.close());} /* 只支持IE,过多使用效率低 */  
a{blr:expression(this.onFocus=this.blur());} /* 只支持IE,过多使用效率低 */  
a:focus { -moz-outline-style: none; } /* IE不支持 */

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

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


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

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

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

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

复制代码
代码如下:

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

还有一种不推荐的办法。就是让链接得到焦点的时候失去焦点。
<a rel="nofollow noopener noreferrer" href="#" onfocus="this.blur();">链接</a>这种办法很管用,但过于暴力,最好不要用了。
可以在每一个<a><img>中加入onFosuc = this.blur(); ,但如果我们需要批量解决整站点的超链接虚线框,一个一个加这样的代码,不是要晕了。
可以使用三种方法解决:
第一,使用DW中的插件:scrubber.mxp,代点是可以对于整页内的超链接进行处理,但无法对整站点消除虚线框,有局限性。
第二,使用样式表,这样,就可以对整站进行处理了。
样式代码:
a {blr:expression_r(this.onFocus=this.blur())}
如果是图片区域,可以加:
area {blr:expression_r(this.onFocus=this.blur())}
一切都搞定了。
第三,也可以利用htc文件加入a.style.behavior属性.如:
复制代码
代码如下:

<style>
a,img
{
behavior:url(js文件地址);
}
</style>

在js文件中写入下面语句
复制代码
代码如下:

<attach event="onFocus" handler="onFocus" />
<SCRIPT language="javascript">
function onFocus()
{
this.blur();
}
</SCRIPT>

---------------------
没有什么救世主推荐:
第二种方法
使用样式表,这样,就可以对整站进行处理了。
样式代码:
a {blr:expression_r(this.onFocus=this.blur())}
如果是图片区域,可以加:
area {blr:expression_r(this.onFocus=this.blur())}
一切都搞定了。

到此这篇关于去掉a标签超链接的虚线框的方法就介绍到这了。无论是美女的歌声,还是鬓狗的狂吠,无论是鳄鱼的眼泪,还是恶狼的嚎叫,都不会使我动摇。更多相关去掉a标签超链接的虚线框的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

标签: 超链接