当前位置: 首页 > 知识库问答 >
问题:

在不增加特异性的情况下嵌套CSS选择器

年风华
2023-03-14

让我们以这三个选择器为例,从最高的特异性到最低的特异性排序:

.special-section p { }
.weird-font        { }
p                  { }

许多CSS专家建议不要像第一个选择器.special-section p那样进行嵌套,因为它的特异性非常高,您无法用.weird-font这样的简单类重写它。我想找到一种方法来实现嵌套,就像.special-section p一样,但不增加特定性。类似于这样:

 .weird-font { }
 .special-section p /* with hack to decrease specificity */ { }
 p { }

使用诸如p之类的简单选择符,将默认值应用于排版和文档范围内是非常安全的。但是,我希望更改特定节的默认值,类似于.special-section p,而不必使用hacks来增加选择器的特异性,如.weird-font。我宁愿使用hack来降低.special-section p的特异性,也不愿使用hack来增加.weird-font的特异性。有办法做到这一点吗?

共有1个答案

雍河
2023-03-14

您不能降低特定性,但可以为异常添加一个更特定的选择器。

.weird-font, /* Normal weird font */
.special-section p.weird-font /* Override for special section */ 
  { }

但正如你所看到的,这是一个滑动的刻度。所以那些大师可能是对的。如果您删除.special-section p,而是给这些p提供它们自己的选择器.special-section-para或其他东西,那么就不会有这个问题了。

但就我个人而言,我不介意偶尔添加一个类似上面的异常。我认为整个特定性的东西就是为了这个目的,如果你需要一个更具体的选择器来设计某样东西,对我来说,这似乎是正确的做法。

 类似资料:
  • 本文向大家介绍在什么情况下选择webpack?在什么情况下选择rollup?相关面试题,主要包含被问及在什么情况下选择webpack?在什么情况下选择rollup?时的应答技巧和注意事项,需要的朋友参考一下 非要一句话区分的话 如果是用,如果是用其实界限并不是特别明显。在某些特殊情况下可以互用

  • 问题内容: 我想了解CSS选择器如何处理属性冲突。如何选择一项财产而不是另一项财产? 选择器优先级如何工作? 问题答案: 我将仅介绍CSS 2.1规范本身的链接,以及浏览器 应 如何计算特异性: CSS 2.1第6.4.3节: 选择器的特异性计算如下: 如果声明的来源是’style’属性而不是带有选择器的规则,则计数为1,否则为0;否则(= a)(在HTML中,元素的“ style”属性的值是样式

  • 我想了解CSS选择器是如何处理属性冲突的。如何选择一个属性而不是另一个属性? null null 选择器优先级是如何工作的?

  • 我使用键值存储作为我的Go语言应用程序的后端,日期作为键(保持条目排序),json文档作为值。json的顶级命名空间()以及和存在于我存储的每个json文档中,但在其他方面存在一些差异(尤其是关于一些嵌套的json数据),所以当keyI从数据库中提取时,我真的不知道我在循环浏览的任何时间提取了什么。这是json数据的示例 当我从数据库中提取数据时,我要做的第一件事是将每个条目解组到<code>ma

  • 问题内容: 我创建了一个客户c#DropDownList控件,可以将其内容呈现为optgroup(不是从头开始,我编辑了一些在Internet上找到的代码,尽管我确切地了解了它的作用),并且工作正常。 但是,我现在遇到一种情况,我需要在下拉菜单中有两个缩进级别,即 但是,在上面的示例代码段中,它呈现的缩进量与相同。 有没有一种方法可以产生我想要的嵌套optgroup行为? 问题答案: 好的,如果有

  • 问题内容: 因此,我有两个表格学生(PK sID)和导师(PK pID)。这个查询 提供这个结果 我正在尝试以此顺序获取不同的导师ID的列表,因此我正在寻找要生成的SQL 如果仅在SELECT子句中插入DISTINCT,我将得到意外的结果10、9、3(错误的顺序)。任何帮助,不胜感激。 问题答案: