【转】css去掉a标签点击后的虚线框
outline是css3的一个属性,用的很少。
声明,这是个不能兼容的css属性,在ie6、ie7、遨游浏览器都不兼容。
outline控制的到底是什么呢?
当 聚焦a标签的时候,在a标签的区域周围会有一个虚线的框,这个框不同于border的是,它是不占有任何宽度的。当你取消焦点的时候,这个虚线框就会自然 消失。你可以通过遨游、火狐或者ie的几个版本看到。而safari、opera、goole浏览器等本身就不支持这个效果,所以看不到。下面是 outline的样子示例,也是我正在做的一个页面上截取出来的。
这个就是a标签被聚焦后出现了虚线框,也就是outline;
基 本上这个是没有用的效果,大多数情况下我们会希望不要出现这种效果,于是给a标签设置outline:none;很遗憾的是,ie6、7和遨游浏览器里都 不能实现,只有ff,ie8在加了outline:none后会取消聚焦的虚线框。所以我说这个Outline属性基本就是一个费属性。
怎么样才能取消这个虚线框呢?常用方法有三种:
1:在a标签里加入js控制,当a标签被聚焦时,强制取消焦点,这时候a标签自然不会有虚线框。
<a href="#" onfocus="this.blur();">测试</a>
这里设置聚焦时触发blur();强制取消焦点。自然是屡试不爽。
2:在a标签里嵌套其他标签,比如span 或者var等等,把内容放在被嵌套的标签里。这时候点击这个链接,聚焦的是a的子标签,自然不会聚焦在a标签上,所以也能避免这个问题。
3:不适用a标签做链接,采用其他标签,使用js做出hover的效果,在css里加入cursour:pointer;设置鼠标以上时变小手。给用户是链接的错觉。使用js做点击时的页面跳转等。最大的缺点是对se友好性比前两种差很多。
这三种方法的共同点是比较麻烦,相比较而言,推荐第一种,第二第三也视不同的情况而定。也是会用到的。
我认为outline的这个效果时浏览器迟早要取消掉的,所以关于这个属性的知识也相当的鸡肋。
最近打算写点标签默认属性的有效利用方面的东西,不过越想写越觉得写的东西会很多,每每都是写点就删掉了。想从整个知识体系中抽离出一部分来单独讲,是很难的事,就像是一张网,你只讲其中一根线的话,很难让人理解知道你在讲的网,而这个网又太大了。
有空闲的时候,我会好好规划下该怎么写这些。
或者还可以在css中加入body a{outline:none;blr:expression(this.onFocus=this.blur());}
上一篇: Debian9 安装Mysql的过程
下一篇: linux打包的几种方式
推荐阅读
-
CSS去掉A标签(链接)虚线框的方法
-
css去掉button点击后的蓝框
-
【转】css去掉a标签点击后的虚线框
-
如何处理点击后的这个虚线框_html/css_WEB-ITnose
-
如何使用JS或css去掉a标签点击时、点击中、点击后的颜色_html/css_WEB-ITnose
-
点击Chrome浏览器里的输入框后,会出现一个黄色的矩形框,怎么去掉这个?_html/css_WEB-ITnose
-
CSS去掉A标签(链接)虚线框的方法
-
a标签点击跳转页面后怎么给当前点击的a标签用jquery添加一个样式_html/css_WEB-ITnose
-
a标签点击跳转页面后怎么给当前点击的a标签用jquery添加一个样式_html/css_WEB-ITnose
-
a标签链接点击后不见了,但放上去hover还是显示的_html/css_WEB-ITnose