如何使用CSS删除IE8中活动超链接周围的虚线边框

gla*_*666 45 css internet-explorer-8

活动超链接文本以虚线边框突出显示.当在这样的超链接上使用效果(fadeIn/fadeOut)时,它会产生奇怪的效果.如何禁用/删除虚线边框?

Luc*_*nes 59

试试这个CSS:

a:active, a:selected, a:visited { 
    border: none;
    outline: none;
}
Run Code Online (Sandbox Code Playgroud)

请注意,这必须a:hover遵循任何规则.感谢PEra在评论中建议使用a:selected选择器.

注意

上面并没有在IE 9.工作卸下:选择导致它在IE9工作.

  • a:选中似乎在IE9中不起作用.从上面的代码段中删除该选择器对我来说是个窍门. (3认同)
  • 忽略,我发现FF忽略了这个css :( (2认同)

Kor*_*nel 33

典型和安全的方法是:

a:active, a:focus {
   outline:  none; /* non-IE */
   ie-dummy: expression(this.hideFocus=true); /* IE6-7 */
}
Run Code Online (Sandbox Code Playgroud)

由于expresssion()已经在IE8中被删除,您可能需要一个脚本:

if (document.documentElement.attachEvent)
    document.documentElement.attachEvent('onmousedown',function(){
         event.srcElement.hideFocus=true
    });
Run Code Online (Sandbox Code Playgroud)

如果您要删除默认焦点轮廓,则必须为其定义自己的独特样式:focus,否则键盘用户将很难使用您的站点.


Sam*_*son 15

小心.虚线边框是键盘浏览的重要部分.它会突出显示要点击的链接.

a:active { outline: none; }
Run Code Online (Sandbox Code Playgroud)

作者Nathan Smith 在他的博客上对此进行了更全面的讨论以及各种相关问题.

  • 可能想说键盘浏览而不是标签式浏览. (2认同)

Fra*_*ett 12

a:active, a:focus {
    outline:none;
}
Run Code Online (Sandbox Code Playgroud)


小智 9

试试这个CSS:

对于Mozilla:

|:-moz-any-link:focus { outline: none; }

|:focus { outline: none; }

button, input[type="reset"], input[type="button"], input[type="submit"] { outline: none; }

button::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner { padding: 0px 2px 0px 2px; border: 1px dotted transparent; }
Run Code Online (Sandbox Code Playgroud)

对于IE8:

a:active, a:focus { 
    border:none;
    outline:none;
}
Run Code Online (Sandbox Code Playgroud)