CSS属性去除图片链接时的虚线框
CSS 之
outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。
outline 属性是一个简写属性,用于设置元素周围的轮廓线。
注释:轮廓线不会占据空间,也不一定是矩形。
这就可以了,就给点击链接加这个属性 a:active{outline:none}
可惜,IE下无效 再加一个 a:active {blr:expression(this.onFocus=this.blur());}
没错,就是这样了
<style>
a:active {outline:none;blr:expression(this.onFocus=this.blur());}
</style>
这样网页中的所有链接点击都没虚线框了(文字链接、图片链接==)
示例:
<style>
a:active {outline:none;blr:expression(this.onFocus=this.blur());}
img,a .img{border:0}
</style>
<a href="#"> <img src="http://bbs.blueidea.com/images/default/newtopic.gif"></a><br>
<a href="#"> <img src="http://www.baidu.com/img/baidu_logo.gif"></a><br>
<a href="#">发新帖</a>
局部控制
<a href="link1.htm" onfocus="this.blur()">link1</a>
<a href="link1.htm" onfocus="this.close()">link1</a>
<a href="link1.htm" hidefocus="true">link1</a>
<a href="link1.htm" hidefocus="hidefocus">link1</a>
全局控制
CSS实现
a{blr:expression(this.onFocus=this.close());} /* 只支持IE,过多使用效率低 */
a{blr:expression(this.onFocus=this.blur());} /* 只支持IE,过多使用效率低 */
a:focus { -moz-outline-style: none; } /* IE不支持 */
HTC实现 IE支持,页面载完才有效果
把下面这段代码存为.htc为扩展名的文件
<script language="javascript">
function hscfsy(){
this.blur();
}
</script>
调用 a {behavior:url(htc文件所在路径地址)}
JS遍历实现
{
for(var ii=0; ii<document.links.length; ii++)
document.links$[$ii$]$.onfocus=function(){this.blur()}
}
JS封装为函数
aTag=document.getElementsByTagName(tName);
for(i=0;i<aTag.length;i++)aTag$[$i$]$.hideFocus=true;
//for(i=0;i<aTag.length;i++)aTag$[$i$]$.onfocus=function(){this.blur();};
}
当前是添加一个hidefocus的属性,注释掉的句子是添加onfucus=this.blur();
然后调用fHideFocus("A"),即可把a的虚线框去掉
通过传递不同的参数,可以去掉更多的虚线框,比如"BUTTON"可以去掉button的
但要记住参数要用大写字母
A. map area内链接如何消除链接虚线?
这是一个观念上的错误,其实应该在所在map的图片上加以控制,而不是在area内,参考传统办法
B. 关于onFocus
<Img Src="Example.jpg" Border=0>
</a>
onFocus是设置鼠标焦点事件的东西,这个可以用,也可以不用,不过为了让更多的浏览器识别的话,建议采用Border=0 这个才是去除虚线框的关键所在(在网上看到有的人用onFocus="this.blur()"来消除虚线框,但在本地测试时,仅仅用这一句是不能消除的)