【问题标题】:You have no background-color set (or background-color is set to transparent) but you have set a color您没有设置背景颜色(或背景颜色设置为透明),但您设置了颜色
【发布时间】:2011-02-11 11:40:32
【问题描述】:

我收到此警告(这不是错误,我的 CSS 有效)。

我选择完整报告只是为了检查验证

您没有设置背景颜色(或 背景颜色设置为 透明)但您已设置颜色。 确保颜色的级联 使文本清晰易读。

这是什么以及如何解决。我在总共 57 个选择器上得到了这个。

【问题讨论】:

    标签: css xhtml w3c w3c-validation


    【解决方案1】:

    @graphicdevine 很好地解释了为什么会出现警告。

    而不是硬编码

    background-color: #xxx;
    

    对于每个标签,我在forum 上看到建议将其放入:

    background-color: inherit;
    

    另外,在任何你设置背景颜色而不是文本颜色的地方,输入:

    color: inherit;
    

    它为我解决了所有这些类型的警告。

    【讨论】:

      【解决方案2】:

      它涵盖了字体颜色与背景相同时的理论问题,即:

      background-color: #fff;
      color: #fff;
      

      您不必担心,但如果您想摆脱警告,我猜只需根据消息设置背景颜色即可。

      【讨论】:

      • 这是一个真正的问题。当作者假设人们将他们的默认主背景颜色设置为白色时,它最常出现,但它也可能与用户样式表冲突。
      • 好点。里面元素的背景颜色呢? 每个 div 是否需要背景,如果您在其上设置 css 颜色属性..?
      • 你不知道用户配置了他们的浏览器来做什么。他们可能有p { background: white; color: black }。一般来说,如果可以,请始终指定两者。
      • 所以 * { 背景颜色:#fff;颜色:#000;可能会解决问题?在第一行声明它,然后按照规则覆盖它。
      • 不,这根本没有帮助。级联很重要。将背景颜色应用于级联中最不特定部分的元素几乎没有影响。
      【解决方案3】:

      background-color:#/*whatever you want*/; 添加到所有 57 个选择器,你应该没问题。

      【讨论】:

      • html { color: #000; background: #FFF; min-height: 100%; margin-bottom: 1px; font-size: 100%; } 已被定义为我的 CSS 中的第一件事。即使我收到此警告
      • “重置”没有帮助。
      • 很公平,然后将规则添加到您的其他选择器中。
      【解决方案4】:

      你解决它:

      确保[ing] 级联颜色使文本清晰易读。

      这是一个警告,可能出了点问题,但没有工具能够辨别出 是否真的有问题。

      (当然,“合理易读”的解释非常开放。我使用colour contrast analyser,还有许多其他类似的工具。)

      【讨论】:

        猜你喜欢
        • 2011-04-14
        • 2020-03-03
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        • 2018-07-15
        • 2014-09-04
        • 2010-11-10
        • 2013-08-04
        相关资源
        最近更新 更多