当前位置: 首页 > 面试题库 >

CSS覆盖规则和特异性

轩辕翰
2023-03-14
问题内容

我经常对CSS覆盖规则感到困惑:总的来说,我意识到更具体的样式表会覆盖不太具体的样式表,而具体性取决于指定了多少个选择器。还有一个!important关键字,它也起作用。

因此,这是一个简单的示例:我有一个带有两个表单元格的表。表格本身具有CSS规则,适用于表格中的所有单元格。但是,第二个表单元格具有自己的规则,该规则应覆盖常规表规则:

<html>
<head>
<style type = "text/css">

table.rule1 tr td {
    background-color: #ff0000;
}

td.rule2 {
    background-color: #ffff00;
}

</style>

</head>
<body>
    <table class = "rule1">
        <tr>
            <td>abc</td>
        </tr>
        <tr>
            <td class = "rule2">abc</td>
        </tr>
    </table>
</body>
</html>

但是…当我在浏览器中打开它时,我看到它rule2没有被覆盖rule1。好的-
我想我需要做rule2更多的“特定”操作,但是我真的不能定义任何其他选择器,因为我只想将其应用于特定的表格单元格。因此,我尝试放置! important关键字,但这也不起作用。

rule2如果将文本节点包装在,则可以覆盖<div>

        <td class = "rule2"><div>abc</div></td>

…然后使CSS规则更具体:

td.rule2 div {
    background-color: #ffff00; !important
}

这行得通,但这并不是我想要的。一方面,我想将规则应用于 表格单元
,而不是DIV。之所以有所不同,是因为您仍然可以rule1在div周围看到边框的背景色。

所以,我该怎么做才能告诉CSS我要为该元素rule2覆盖?rule1``td


问题答案:

要赋予第二条规则更高的特异性,您可以始终使用第一条规则的一部分。在这种情况下,我table.rule1 tr将从规则1添加并将其添加到规则2。

table.rule1 tr td {
    background-color: #ff0000;
}

table.rule1 tr td.rule2 {
    background-color: #ffff00;
}

一段时间后,我发现这很自然,但我知道有些人不同意。对于那些人。



 类似资料:
  • 问题内容: 所以,这就是我正在做的: 我有一张桌子,上面放着所有的桌子。 但是在一个特殊的场合,我希望一个特定的对象在各个方向都有,我将其设置为。 显然,我将CSS样式依次放在一个外部文件中。 但是渲染的CSS仅具有,并且似乎已被覆盖! 请说明: 这是怎么发生的以及为什么发生? 我应该如何安排这些规则来解决我的问题(除了内联样式)? 编辑:我在表中删除之前。我从来没有使用过它,我只是在这里提到它以

  • 本文向大家介绍说说你对CSS样式覆盖规则的理解相关面试题,主要包含被问及说说你对CSS样式覆盖规则的理解时的应答技巧和注意事项,需要的朋友参考一下 属性的覆盖,标签的覆盖,类名的覆盖,类名叠加的覆盖,书写顺序的覆盖,ID或者的覆盖。 最终都是CSS选择器特指度的大小产生的覆盖问题。

  • 问题内容: 我有一个具有通用方法的抽象类,并且我想通过用特定类型代替通用参数来覆盖通用方法。所以在伪代码中,我有以下内容: 但是由于某种原因,我不允许这样做?我是在犯某种语法错误还是不允许这种继承和覆盖?具体来说,由于eclipse IDE不断提醒我要实现,我遇到了一个错误。 这就是我希望上面的代码起作用的方式。在我的代码的其他地方,有一个方法可以期望实现对象的实例,这具体意味着它们具有我可以使用

  • 问题内容: 我有以下几点: 在我的样式表中,我有: 这篇文章的样式,我对此感到高兴。现在,对于的 单个 实例,我想执行以下操作: 我已经定义了: 但是该类未设置背景色。似乎html标记的样式优先,无论样式表中CSS规则的顺序如何。 如何通过使用样式类覆盖样式化html标签的CSS属性?这是可能吗?还有其他选择吗? 问题答案: 那是CSS的特殊性问题。 具有比选择器更高的特异性值。 按价值计算: >

  • 在一个场景中,我们有一组主规则。其中一条规则类似于以下规则: 这些规则将向客户提供。我们希望我们的客户能够定制规则。若决定不定制,则应适用规则。自定义可以在“何时”中添加其他条件,也可以覆盖现有条件,还可以添加或修改“何时”部分。他们还可以添加到规则的“then”部分。 像这样的东西: 我们还有一些需要类似定制的决策表。 根据规则,最初建议使用“extends”,但据我所知,“extends”的作

  • css变量问题:父元素的一个变量A的值取决于该元素上定义的的另一个变量B,如果我在其子元素上重新定义一个B,并使用A做为某个属性的值,那么此时A的值是等于父元素上的变量B的值呢?还是重新定义的这个B的值呢? 我想为这个组件提供两种风格,浅色和暗色,故定义了两个环境变量 但是我想为它的子组件提供不一样的浅色风格,于是重新定义了 最终的颜色却没有向我所想的那样,还是父元素上定义的颜色。当我检查该元素的