问题标签 [css-cascade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
86 浏览

html - CSS 是否关心过 DOM 的“亲密”关系?

给定以下代码:

最内层的跨度与 和 都匹配.dark-background span.light-background span因此似乎只与 CSS 级联权重和最后一个规则定义的级联有关系,而规则中的两个选择器在HTML。

如果选择器匹配的元素比其他可能匹配的规则更接近,是否可以应用规则?

0 投票
2 回答
167 浏览

css - CSS级联起源和重要性的优先级

根据specs,声明来源的优先级如下(Top 胜):

  1. 过渡声明 [css-transitions-1]
  2. 重要的用户代理声明
  3. 重要的用户声明
  4. 重要作者声明
  5. 动画声明 [css-animations-1]
  6. 正常作者声明
  7. 普通用户声明
  8. 普通用户代理声明

我正在尝试验证普通作者声明 (6) 是否胜过普通用户声明 (7),但我认为我得到了相反的结果:

在此处输入图像描述

在上面的示例中,我有一个外部 css 文件 ( style.cssp ),它将元素的颜色声明为green.

然后我添加一些用户样式,将相同选择器的颜色声明为blue.

我希望作者声明(绿色)会胜过用户声明(蓝色),但情况恰恰相反。

关于发生了什么的任何想法?也许我在示例中做错了什么?

0 投票
0 回答
103 浏览

css - 当 CSS 本质上是级联时,`:nth-last-child` 是如何工作的?

我已经学会了如下声明的 CSS:

它只能走得更远更深DOM

这就是为什么我们没有像下一个选择器(selector + nextLM)那样的前一个选择器,或者我们没有父选择器,因为从CSS 引擎的角度来看,我们不能在 DOM 树中倒退。

所以这里应该有两个不同的问题。如果我们接受上述解释,我无法理解如何:nth-last-child()工作。它基本上在 DOM 树中倒退,因为它从元素的末尾开始。

如果我们不接受我们的介绍,那为什么我们没有一个先前的元素选择器呢?

在此先感谢您的时间。

0 投票
2 回答
241 浏览

html - CSS中text-align的继承

我想将所有“p”标签设置为“justify”,仅将标题部分设置为“center”。这里要注意的另一件事是,我选择了带有类型选择器(特异性:1)的段落和带有 id 选择器(特异性:100)的标题。

此外,#header 选择出现在 p 选择之后。如果 text-align 属性是可继承的,我猜想对于标题中的“p”标签,“center”样式应该比“justify”更重要。但它不是那样工作的。

我什至在 stackoverflow 上查看了类似的问题,并使用了 text-align: initial over #header p。那也没有用。

0 投票
1 回答
366 浏览

html - CSS Cascade: !important 与动画

在 CSS Cascading and Inheritance 模块中,解释了带有 !important 注释的声明比起源于动画的样式更重要。

当我自己进行测试时,我意识到没有任何样式可以防止动画运行时覆盖 css 属性。

例子:

在此示例中,当动画运行时,background-color会更改。

如果我使用animation-fill-mode: forwards元素保留最后一个关键帧中给出的值,则该值将用!important.

在我看来,这种行为与规范所说的相反,或者我可能不明白他们想说什么。

0 投票
1 回答
145 浏览

css - 如何在浏览器扩展中注入带有用户来源的 CSS?

我有一个非常简单的扩展:

我想default.css被注入作为用户来源,而不是作为作者来源。我该怎么做?

0 投票
1 回答
100 浏览

css - 是否有像“all:”这样的速记 css 属性,但对于未指定的属性?

假设我有两个不同的样式表,它们将值设置为具有 class="example" 的 div 元素上的唯一属性。

样式表 A:

样式表 B:

是否有类似于all: revert;我可以添加到样式表 A 以将所有未声明的属性设置为浏览器默认值并基本上覆盖/擦除样式表 B 的速记属性和值?在我看来,它会像remaining: revert;.

如果没有这样的速记属性,我是否可以做一些其他技巧而无需明确列出样式表 A 中未声明的所有属性并应用“还原”?如果我可以使用 > 和/或 * 选择器将这个技巧递归地应用于 div 中的元素,则可以加分。

提前致谢。

0 投票
4 回答
79 浏览

css - css中样式的级联规则

我有一个标签

具有以下样式:

这是我的问题:

a:hover并且a:active被忽略

我知道这是针对级联规则但我想知道解决它的最佳实践。

我尝试添加!important,它按我的意愿工作

我更改了行号(因为重要性和规格相等,所以行号很重要)并且它工作正常但我想知道哪种解决方案是最好的!

在大多数情况下添加重要不是一个好主意,并且行号在开发中正在发生变化。

我可以有这样的选择器吗?:

0 投票
0 回答
20 浏览

css - 在 body 上定义的字体系列不被输入标签和占位符继承

如何从文本和占位符继承字体body样式input

input正在使用该标签:

目前,全局body font-family样式不适用于input文本和占位符。只有当我像这样明确添加字体样式时它才有效: