4

我有一个完整的 imgs 列表:

<ul>
<li><a href="#"><img src="test.png" /></a</li>
<li><a href="#"><img src="test.png" /></a</li>
<li><a href="#"><img src="test.png" /></a</li>
(...)
</ul>

当我在 Firefox 中单击它们时,会出现虚线轮廓(到底是谁发明的,为什么?太丑了!)。

我想摆脱它们,但样式“轮廓”等似乎不起作用,我尝试了以下所有选项:

#ul li img:active {
    -moz-outline-style: none;
    -moz-focus-inner-border: 0; 
    outline: none;
    outline-style: none;
}     

#ul li img:focus {
    -moz-outline-style: none;
    -moz-focus-inner-border: 0; 
    outline: none;
    outline-style: none;
}

 #ul li img a:active {
        -moz-outline-style: none;
        -moz-focus-inner-border: 0; 
        outline: none;
        outline-style: none;
    }     

    #ul li img a:focus {
        -moz-outline-style: none;
        -moz-focus-inner-border: 0; 
        outline: none;
        outline-style: none;
    }
4

3 回答 3

12

您需要将样式应用于<a>标签(后两条 CSS 规则是错误的,因为您已将<a>标签放在<img>.

这对我有用:

a:active,
a:focus {
  outline: none;
  -moz-outline-style: none;
}

或者,仅在具有 ID 的元素内部ul(顺便说一下,不是最好的名称):

#ul a:active,
#ul a:focus {
  outline: none;
  -moz-outline-style: none;
}
于 2010-09-14T10:17:36.110 回答
8
a:active,
a:focus {
  outline: none;
  -moz-outline-style: none;
}

在 FF22 中为我工作

于 2013-06-26T21:14:16.503 回答
4

outline: 0应该这样做,它应该应用于<a>元素,这实际上不是<img />. <img />是一个孩子,<a>所以你的 CSS 应该是:

#ul li a {
    outline: 0;
}
于 2010-09-14T10:16:59.283 回答