博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
css去掉a标签点击后的虚线框
阅读量:6981 次
发布时间:2019-06-27

本文共 898 字,大约阅读时间需要 2 分钟。

outline是css3的一个属性,用的很少。

声明,这是个不能兼容的css属性,在ie6、ie7、遨游浏览器都不兼容。

outline控制的到底是什么呢?

当聚焦a标签的时候,在a标签的区域周围会有一个虚线的框,这个框不同于border的是,它是不占有任何宽度的。当你取消焦点的时候,这个虚线框就会自然消失。你可以通过遨游、火狐或者ie的几个版本看到。而safari、opera、goole浏览器等本身就不支持这个效果,所以看不到。

这个就是a标签被聚焦后出现了虚线框,也就是outline;

基本上这个是没有用的效果,大多数情况下我们会希望不要出现这种效果,于是给a标签设置outline:none;很遗憾的是,ie6、7和遨游浏览器里都不能实现,只有ff,ie8在加了outline:none后会取消聚焦的虚线框。所以我说这个Outline属性基本就是一个费属性。

怎么样才能取消这个虚线框呢?常用方法有三种:

1:在a标签里加入js控制,当a标签被聚焦时,强制取消焦点,这时候a标签自然不会有虚线框。

<a href="#" οnfοcus="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());}

转载地址:http://hzjpl.baihongyu.com/

你可能感兴趣的文章
快照对于云计算是鸡肋吗?
查看>>
PostgreSQL中如何对应SQL Server中的rowversion
查看>>
第5章选择结构程序设计
查看>>
linux 下网络流量监控
查看>>
[CentOS6] Page allcation failure
查看>>
Visual Studio 11 九大新特性:图文详解
查看>>
Linux Shell之六 流程控制--循环
查看>>
寻湖北荆州刘氏族谱
查看>>
Oracle数据库的DBID变更
查看>>
MagicLinux+MySQL5+PHP5+Apache2+phpMyAdmin
查看>>
服务器RAID磁盘坏道修复实战
查看>>
SOAP
查看>>
Sql Server 2005 基于通知的缓存失效
查看>>
理解Windows中的路由表和默认网关
查看>>
.NET多线程编程(13)——一个简单的C#多线程间同步的例子
查看>>
mysql数据导入中文乱码的解决办法
查看>>
Exception和Error分析(—)—UnsatisfiedLinkError
查看>>
VMM系列之使用VMM服务器构建Hyper-V主机(1)
查看>>
cdh4.6.0到cdh5.2.0 upgrade和rollback问题小结
查看>>
MalformedInputException处理
查看>>