【问题标题】:Changing font color of <a> contained within <li>, but on hover over <li>更改 <li> 中包含的 <a> 的字体颜色,但将鼠标悬停在 <li> 上
【发布时间】:2010-12-31 13:57:10
【问题描述】:

我有一个&lt;li&gt;,其中包含一个&lt;a href&gt;

<li><a href="http://site.com">Page</a></li>

我想更改悬停在每个 &lt;li&gt; 项目上的背景颜色和文本颜色。我发现最好通过定位li:hover 而不是a:hover 来改变背景颜色,因为a:hover 只改变了行的一小部分(具有&lt;a&gt; 文本的部分)的背景。

li:hover { background-color:green; }

我还想做的是更改字体颜色(即&lt;a&gt;)。当我按照下面的第一种方式进行操作时,它对 &lt;a&gt; 文本颜色没有影响。当我按照下面的第二种方式执行此操作时,我必须将鼠标悬停在 &lt;a&gt; 上才能更改字体颜色,而不仅仅是 &lt;li&gt; 项目符号行中的任何位置。

li:hover { background-color:green; color:red; } //first way
a:hover { color:red; } //second way

&lt;li&gt; 悬停在上面时,css 是否可以更改包含的&lt;a href&gt; 的字体颜色?同样,这就是 html 标记的样子:

<li><a href="http://site.com">Page</a></li>

【问题讨论】:

    标签: css


    【解决方案1】:

    在 IE6 上的工作方式仍然是指向链接,但让链接填满 &lt;li&gt; 内的整个空间:

    li a { display: block; }
    li a:hover { background-color: green; }
    

    【讨论】:

      【解决方案2】:
      li:hover a { color: red }
      

      :hover 文档。

      IE5/6 only support :hover on links,所以请确保您没有在这些浏览器上进行测试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-19
        • 2013-02-26
        • 2020-06-28
        相关资源
        最近更新 更多