Css 色彩的运用:里元素

Css 色彩的运用:里元素,css,Css,在下面的示例中,样式中的颜色选择器没有效果,但是背景色和字体重量的颜色选择器工作正常 如果这不仅仅是操作错误,而是一些微妙的特性冲突,我很想知道在哪里找到下一个我遇到的奇怪事情的参考。我已尝试删除背景色并使用颜色的数值 无标题 保险商实验室{ 填充:0; } 李{ 填充:3倍; 边缘底部:5px; } 李:第n个类型(偶数){ 背景色:#ccc; 颜色:深色; } 李:第n种类型(奇数){ 背景色:#eee; } 李:悬停{ 字体大小:粗体; 颜色:红色; } a{ 文字装饰:无; } a:

在下面的示例中,
  • 样式中的颜色选择器没有效果,但是
    背景色
    字体重量
    的颜色选择器工作正常

    如果这不仅仅是操作错误,而是一些微妙的特性冲突,我很想知道在哪里找到下一个我遇到的奇怪事情的参考。我已尝试删除背景色并使用颜色的数值

    
    无标题
    保险商实验室{
    填充:0;
    }
    李{
    填充:3倍;
    边缘底部:5px;
    }
    李:第n个类型(偶数){
    背景色:#ccc;
    颜色:深色;
    }
    李:第n种类型(奇数){
    背景色:#eee;
    }
    李:悬停{
    字体大小:粗体;
    颜色:红色;
    }
    a{
    文字装饰:无;
    }
    a:悬停{
    文字装饰:下划线;
    }
    

    悬停时,需要设置锚点的颜色

    a:hover {
      color: red;
      text-decoration: underline;
    }
    
    当前,它在悬停时为锚使用默认颜色,并且未继承红色

    
    无标题
    保险商实验室{
    填充:0;
    }
    李{
    填充:3倍;
    边缘底部:5px;
    }
    李:第n个类型(偶数){
    背景色:#ccc;
    颜色:深色;
    }
    李:第n种类型(奇数){
    背景色:#eee;
    }
    李:悬停{
    字体大小:粗体;
    }
    a{
    文字装饰:无;
    }
    a:悬停{
    颜色:红色;
    文字装饰:下划线;
    }
    
    • 也许可以尝试使用十六进制颜色,而不是你键入它们的方式
    • 您可以尝试将样式内联到列表中吗?即

    • 尝试将css应用于a标记,而不是li标记,即:

      a:悬停{ 颜色:红色; };

    • 尝试使用第n个子选择器,而不是类型为的第n个子选择器:


      ul>*:第n个孩子(2n)*:n个孩子(2n-1)这是因为在
      li
      元素上有更具体的规则覆盖您的样式。每个浏览器都有自己的一组默认样式,称为“用户代理样式”,由浏览器确定。锚定标记
      颜色
      有用户代理样式,但
      字体重量
      没有用户代理样式。因此,
      font-weight
      的继承值将应用于悬停时的链接,但
      color
      不适用。继承的任何值都比可能应用的任何其他样式(甚至是默认的用户代理样式)具有更低的“特定性”。如下图所示,在chrome中,颜色设置为
      -webkit link
      。在所有其他主要浏览器中都有类似的样式


      要更正此问题,您需要将样式直接应用于锚定。您可以使用
      li:n类型(偶数)a
      a:hover
      (或
      li:hover a
      ,但我更喜欢将我的
      :hover
      样式仅保留在锚点上)等规则来执行此操作。关键是,您需要将样式放在锚点本身上。否则,它只是隐式继承,浏览器会认为它自己的用户代理风格是更具体的。

      我假设你问为什么你的链接没有改变颜色?“Li:悬停”应该是“Li A:悬停”,如果你希望链接在HOVER上变红。这可能有助于解释为什么我总是觉得css难以理解。(我可以在开发者工具下的一个不显眼的地方找到Firefox的一些规则,但没有描述链接的样式。哦,好吧,有很多东西要学…)。