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

CSS的优先顺序是什么?

李昌勋
2023-03-14
问题内容

我试图弄清楚为什么我的一个css类似乎覆盖了另一个(而不是相反)

这里我有两个CSS类

.smallbox { 
    background-color: white;
    height: 75px;
    width: 150px;
    font-size:20px;
    box-shadow: 0 0 10px #ccc;
    font-family: inherit;
}

.smallbox-paysummary {
    @extend .smallbox; 
    font-size:10px;
}

在我看来,我打电话给

<pre class = "span12 pre-scrollable smallbox-paysummary smallbox ">

字体(重叠元素)显示为10px而不是20px-有人可以解释为什么会这样吗?


问题答案:

有几条规则(按此顺序应用):

  1. 内联css(html样式属性)覆盖样式标签和css文件中的css规则
  2. 较具体的选择器优先于较不具体的选择器
  3. 如果两个规则具有相同的特异性,则稍后出现在代码中的规则将覆盖先前的规则。
  4. 具有的css规则!important始终优先。

在您的情况下,其规则3适用。

单个选择器从最高到最低的特异性:

  • id(例如:#mainselects <div id="main">
  • 类(例如:.myclass),属性选择器(例如:[href=^https:])和伪类(例如::hover
  • 元件(例如:div)和伪元素(例如:::before

要比较两个组合选择器的特异性,请比较上述每个特异性组中单个选择器的出现次数。

例如:比较#nav ul li a:hover#nav ul li.active a::after

  • 计算ID选择器的数量:每个(#nav)都有一个
  • 计算类选择器的数量:每个(:hover.active)都有一个
  • 计算元素选择器的数量:第一个有3 ul li a个(ul li a ::after),第二个有4个(),因此第二个组合选择器更加具体。


 类似资料:
  • 问题内容: 当几个具有相同名称的Spring bean被定义时,哪个将隐藏其他的? 假设我在org.example包中有几个带有注释的类,以及一个包含以下内容的applicationContext.xml: 当我执行操作时,将检索哪个bean ? 根据Spring文档: 每个bean具有一个或多个标识符。这些标识符在承载Bean的容器内必须唯一。 但是,我知道(因为我已经测试过),完成此操作后Sp

  • 问题内容: 如果我有一行这样的代码 和…一样吗 要么 ? 问题答案: 这应该使事情更清晰。简单地说,投优先除法运算,所以这将 是同样的事情 给输出相同 编辑: 正如knoight所指出的,这在技术上与没有括号的操作不一样,因为它们也具有优先权。但是,出于本示例的目的,它将提供相同的结果,并且对于所有意图和目的都是等效的。

  • 问题内容: CSS问题:如果两个不同的选择器应用于一个元素,谁会赢? 我知道这不应该发生,但是我想调整旧应用程序,而CSS居于中间。 问题答案: 规范中的实际上是合理可读的。综上所述: 规则和内联规则获胜。 否则,通常会赢得更具体的胜利。是比更加具体的选择器。 如果规则同样具体,则以最后宣布的为准。 没有特别的理由说明为什么这种“不应该发生”。通常先指定一个广泛适用的规则,然后添加一个更具体的规则

  • 问题内容: 考虑以下命令行 哪些设置适用于JVM最小内存(可选):128m或256m? 问题答案: 取决于JVM,可能取决于版本……甚至可能当时您的办公桌上有多少回形针。它甚至可能不起作用。不要那样做 如果由于某种原因无法控制它,则以与运行jar相同的方式进行编译和运行。但是要警告,依靠选项的顺序是一个非常糟糕的主意。

  • 问题内容: 在Java中,多维数组是以列优先还是行优先的顺序存储的? 问题答案: Java没有多维数组。它具有数组的数组。例如 …是(当然是)的数组。 因此,Java既不是列优先顺序也不是行优先顺序(但请参见下面的有关如何读取的注意事项),因为给定数组的条目存储在连续的内存块中,而这些条目所指向的从属数组是对象的引用。完全独立的,无关的内存块。这也意味着Java的数组数组固有地呈 锯齿状 :处的条

  • 问题内容: 当在同一页面上使用多个CSS文件并且它们冲突时,我怎么知道要使用哪个?例如,如果一个说蓝色背景,另一个说红色。 问题答案: 快速回答: 如果这两段CSS都具有相同的特异性(例如,它们都是),那么无论哪个被称为LAST都会覆盖前一个。 但是,如果某些东西具有更高的特异性(一个更具体的选择器),则无论其顺序如何,都将使用它。 范例1: 上面的示例将颜色变为红色 。两个选择器都相同,因此也具