第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > outline:none || hidefocus=true || onfocus=this.blur();

outline:none || hidefocus=true || onfocus=this.blur();

时间:2021-05-17 15:41:04

相关推荐

outline:none || hidefocus=true || onfocus=this.blur();

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-coloroutline-styleoutline-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="" target="_blank"><img src="/skin/logo.jpg" border="0"></a>

<a href="" target="_blank"></a>

<input type="button" value=""/>

<button></button>

</body>

从以上代码可以看出,可以通过设置CSS属性outline解决。

FF存在bug,其中input,button标签通过私有属性::-moz-focus-inner特别处理

以上方法在IE6、IE7下无效。可使用 onfocus 属性解决,如下:

<a href="" target="_blank" οnfοcus="this.blur()"></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>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。