【问题标题】:IE7 outline:0 not workingIE7 大纲:0 不工作
【发布时间】:2012-07-06 20:10:01
【问题描述】:

我了解大纲用于辅助功能,但另一种方法是:

a {
   outline: 0;
}

在 IE7 中工作的东西

也许使用 Jquery?

【问题讨论】:

  • IE7 甚至不支持outline。你在问什么?
  • @thirtydot:大概他在寻求一种可行的替代方案。
  • @BoltClock:他的例子有outline: 0,所以在IE7中他想摆脱一些甚至不存在的东西?我不明白。
  • @thirtydot:当你点击一个链接时,IE7 确实会画出轮廓,但你无法使用outline 来控制它。至少,这是我在使用它的几个小时后能记住的……
  • @BoltClock:所以问题仍然存在,有没有办法让大纲消失?

标签: jquery html css internet-explorer internet-explorer-7


【解决方案1】:

现在习惯了focus

a:hover, a:active, a:focus{
outline:0;
}

更多信息http://css-tricks.com/removing-the-dotted-outline/


更新ie解决方案是

a:focus, *:focus {
    noFocusLine: expression(this.onFocus=this.blur());
}

更多信息http://www.cssjunction.com/css/remove-dotted-border-in-ie7/

【讨论】:

  • 感谢您的发帖... :)
【解决方案2】:

对于 jquery,你可以尝试这样的事情

$('a').focus(function() {
  $(this).blur();
});

它本质上与仅 IE 7 的解决方案相同,它说当锚点聚焦时,将其模糊。我在 Mac VM IE 7 上试过这个,它可以工作

http://jsfiddle.net/QnMLR/2/

顶部有轮廓,底部没有轮廓

【讨论】:

  • 这可行,但会打乱标签顺序,因为它会反弹回上一个项目。
  • 忘记用 jquery 的 .ready 函数包围它,然后它就起作用了。 $(函数 () { ... });
【解决方案3】:

这也可以使用 jquery 并且不会弄乱 tab 顺序:

$(function ()
{
    $("a").each(function() {
        $(this).attr("hideFocus", "true").css("outline", "none");
    });
});

【讨论】:

  • 这应该是最好的答案。它是唯一一个使用 IE 专有的“hideFocus”属性。
【解决方案4】:

我认为 _noFocusLine 在 IE7 中可以工作

a{
    outline: none;
    _noFocusLine: expression(this.hideFocus=true);
}

我是从here 找到的,我自己也试过了。 希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 2016-06-09
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 2018-04-30
    • 2011-11-04
    相关资源
    最近更新 更多