outline:none || hidefocus="true" || onfocus="this.blur();"
2014-02-13 14:54
106 查看
hideFocus即隐藏聚焦,具有使对象聚焦失效的功能,其功能相当于: onFocus="this.blur()" 它的值是一个布尔值,如hideFocus=true。也可省略赋值直接写hideFocus。 你给的代码如果没有hideFocus,那么鼠标点击该超链接,则外面出现一个虚线框,即为聚焦。而使用了hideFocus则不会有虚线框。 在IE下,需要在标签 a 的结构中加入 hidefocus="true" 属性。即: <a href="#" hidefocus="true" title="xx">xx</a> 而在FF等浏览器中则相对比较容易,直接给标签 a 定义样式 outline:none; 就可以了,即: a { outline:none; } 顺便查了一下outline的用法:
outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。
注释:轮廓线不会占据空间,也不一定是矩形。
outline 简写属性在一个声明中设置所有的轮廓属性。
可以按顺序设置如下属性:
outline-color
outline-style
outline-width
如果不设置其中的某个值,也不会出问题,比如 outline:solid #ff0000; 也是允许的。
在前端制作的过程中会发现,一些文字/图片链接,或者一些input控件,在点击时会在周围出现虚线边框,一般会在火狐和IE浏览器下出现虚线框,谷歌下不会有。
这些虚线边框是作为对视觉设计的一种辅助,在不使用鼠标,而用键盘Tab键进行页面浏览时,会标示出当前所在的链接或控件的位置,便于浏览。这对那些视觉有障碍的人士来说更是必不可少的。
但是有些时候我们却不想使用它们,因为浏览器对虚线框的解析有差异,并且不规则,所以在视觉设计上反而成为了某种缺陷。所以这种时候,我们想要禁用这些虚线边框,使浏览者的视觉享受能够完美无瑕。
纯CSS去掉超链接或按钮点击时出现的虚线边框
<style type="text/css">
a,input,button{ outline:none; }
::-moz-focus-inner{border:0px;}
</style>
</head>
<body>
<a href="http://www.admin10000.com" target="_blank"><img src="http://www.admin10000.com/skin/logo.jpg" border="0"></a>
<a href="http://www.admin10000.com" target="_blank">admin10000.com</a>
<input type="button" value="admin10000.com"/>
<button>admin10000.com</button>
</body>
从以上代码可以看出,可以通过设置CSS属性outline解决。
FF存在bug,其中input,button标签通过私有属性::-moz-focus-inner特别处理
以上方法在IE6、IE7下无效。可使用 onfocus 属性解决,如下:
<a href="http://www.admin10000.com" target="_blank" onfocus="this.blur()">admin10000.com</a>
使用jquery方法只需一句,非常简单,支持所有浏览器
$("a,input,button").focus(function(){this.blur()})
综上所述:
兼容所有浏览器方法:
<style type="text/css">
a,input,button{ outline:none; }
::-moz-focus-inner{border:0px;}
</style>
<a href="#" hidefocus="true" title="xx">xx</a>
相关文章推荐
- onfocus="this.blur()" 文本框不可点击输入
- onFocus="this.blur()",
- AS("ul").attr('hidefocus','true'); 在IE7中无效
- 链接去掉虚线框的牛B方法onfocus="this.blur()"
- onfocus="this.select();"的使用
- onFocus="this.blur()"的解释
- onfocus="this.value=''"
- 【Error】Syntax error on token "Invalid Character", delete this token
- jquery设置背景图片:$(this).css("background-image","url(on.jpg)");就可以了
- MaintainScrollPositionOnPostback="true"
- 自定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,"掏粪男孩Gif"顺便再提提onWindowFocusChanged)
- form name="form" method="post" onSubmit="return CheckForm(this)
- Syntax error on token "else", delete this token
- 解决Tomcat jspc的异常 Syntax error on token "<", ? expected after this token
- 修复VirtualBox "This kernel requires the following features not present on the CPU: pae Unable to boot
- 链接、单选按钮虚线框与focus:this.blur()与outline
- 【Error】Syntax error on token "Invalid Character", delete this token
- JS function document.onclick(){}报错Syntax error on token "function", delete this token
- 设置android:clearTaskOnLaunch="true"属性对Activity行为的影响
- 使用了<input type="submit" value="Submit" onclick="this.disabled=true" />不能提交