当Chrome的元素检查器中的CSS规则显示为灰色时,这意味着什么?

您所在的位置:网站首页 多普勒换挡器为什么是灰色的 当Chrome的元素检查器中的CSS规则显示为灰色时,这意味着什么?

当Chrome的元素检查器中的CSS规则显示为灰色时,这意味着什么?

2024-07-15 23:50| 来源: 网络整理| 查看: 265

我正在使用Google Chrome浏览器的元素检查器检查网页上的h2元素,并且似乎已应用的某些CSS规则显示为灰色。 删除线似乎表明一条规则已被覆盖,但是样式变灰是什么意思?

对我来说,当前的答案并不能完全解释问题,所以我添加了这个答案,希望对其他人有用。

文字变灰/变暗,可能表示

这是浏览器适用的默认规则/属性,其中包括默认的速记属性。 它涉及到继承,继承要复杂一些。

遗产

注意:Chrome开发者工具的"样式"面板将显示一个规则集,因为该集中的一个或多个规则已应用于当前选定的DOM节点。 我想,出于完整性考虑,无论是否应用,开发工具都会显示该集合中的所有规则。

如果由于继承而将规则应用于当前选定的元素(即,该规则应用于祖先,并且所选元素继承了该规则),则chrome将再次显示整个规则集。

应用于当前所选元素的规则以普通文本显示。

如果该规则中存在一个规则,但由于它是不可继承的属性(例如背景色)而未应用,则该规则将显示为灰色/灰色文本。

这是一篇提供了很好解释的文章-(注意:相关项目在文章的底部-图21-不幸的是相关部分没有标题)-http://commandlinefanatic.com/cgi-bin /showarticle.cgi?article=art033

文章摘录

This [inheritance scenario] can occasionally create a bit of confusion, because defaulted short-hand properties; figure 21 illustrates the defaulted short-hand properties of the font property along with the non-inherited properties. Just be aware of the context that you're looking at when examining elements.

相关讨论 声明"继承但未应用的规则将显示为灰色/灰色文本"的说法不正确。如果不应用,它们将具有删除线。香港专业教育学院更新了我的答案与截图和一个实时的例子。 这是正确的答案!!!关键句子是..."如果该规则中存在规则,但由于其不可继承的属性(例如背景色)而未应用,则该规则将显示为灰色/灰色文本。" 这绝对是正确的答案。如果显示为"继承自[选择器]"的部分中显示为灰色,则该属性是不可继承的属性,不会应用于当前元素。任何划掉的属性已被更特定的样式覆盖。 如果规则不可继承时显示为灰色,为什么我的div元素显示宽度规则为灰色?宽度不可继承吗?顺便说一句,我是认真问这个问题。 要了解Michael Colemans的答案,它有助于认识到"应用于当前选定元素"有两种含义:1.该元素受规则影响(即使使用灰色规则,该规则仍然可能是正确的,因为父母会限制元素,与max-width相同)2.该元素具有特别适用于此元素的规则(没有以这种方式应用灰色规则)... ...因此,如果您看到Chrome变灰了正在应用的CSS规则-您可以在其中取消选中(或更改其值)并在页面上看到相应的更改-可能是该规则影响了元素但不会特别应用于该元素,而是应用于父元素。

这意味着该规则已被继承,但不适用于所选元素:

http://code.google.com/chrome/devtools/docs/elements-styles.html#computed_style

The pane contains only properties from rules that are directly applicable to the selected element. In order to additionally display inherited properties, enable the Show inherited checkbox. Such properties will be displayed in a dimmed font.

实时示例:检查包含文本" Hello,world!"的元素。

1234567div {   margin: 0; } div#foo {   margin-top: 10px; } 1Hello, world! 相关讨论 我知道问题已经解决,但是这又如何呢:我有ul,菜单,dir {list-style-type:disc; }面板中的dir和dir变灰,这两个都不是页面的元素。在这种情况下,这是否意味着它们已声明,但不是页面的一部分? @hugoderhungrige在这种情况下,是的,这意味着为ul,menu和dir声明了样式;但是menu和dir不存在,因此该规则无法应用于它们,只能应用于ul。 @Rob确切地说,当样式显示为灰色时,表示它已从其他某个包含元素继承而来,但不适用于所选元素。在文档中:"该窗格仅包含直接适用于所选元素的规则中的属性。为了另外显示继承的属性,请启用显示继承的复选框。此类属性将以灰色字体显示。" 您共享的链接对该主题没有任何影响。它提到的唯一"灰色"是整个背景为灰色时 @Imray是的。引用:"为了额外显示继承的属性,请启用显示继承的复选框。此类属性将以灰色字体显示。" @RobSobers不幸的是,我不认为您的示例演示了继承。 div继承自哪里的祖先父母?如果您在Chrome的"样式"面板中向下滚动,则会看到标题为"继承自..."的部分,那里的灰色规则表示什么?您可以将其纳入示例吗? 我不明白为什么这个答案是。标记为最佳答案; b。有很多投票它显然是错误的。边距不是可继承的属性(stackoverflow.com/a/5612360/24267)迈克尔·科尔曼斯的回答是正确的。哦,您的意思不是从祖先元素继承而来,您的意思是...我不确定您的意思是什么。无论如何,对于Chrome 46,该答案在2015年是不正确的。 答:您链接到"计算"样式选项卡的文档,该文档与主"样式"选项卡不同。 B.当一个元素是另一个元素的子元素并以这种方式继承其样式时,您就错过了元素继承的情况。在您的示例中,div和div#foo直接应用于div元素。如果您在div内有一个p元素,而div的css混合了可继承/不可继承的道具,那么您会发现其他人在说什么。 显然,该选票是针对带有箭头的某些MS Paint魔术,以及该气泡阴影效果。认为是不正确的 @ mhenry1384" a"很容易解释:因为它是由问问题的人写的。 这绝对不是正确的答案,尤其是因为"实际示例"没有显示任何变灰的规则。科尔曼的答案是正确的。 @ T.J.Crowder我认为Chrome浏览器自2011年以来发生了变化。不过,我对此可能是错的。您是否有其他答案是正确的?不适地改变它。 @ Rob-如上所述,Colemans的回答是正确的。 嗨,您能删除您的答案吗,它使您感到困惑并且不正确,初学者会感到困惑。 @DavidAnderton,它看起来像是" ShareX",它是一个屏幕截图实用程序,它为我的屏幕截图提供了类似箭头的外观,但带有阴影的阴影和文本几乎完全相同。主题:我以为OP在谈论用户代理样式表,哈哈。 我得到一个灰色背景的自定义规则,该规则不被继承(它适用于所选元素具有的单个类)。是什么原因造成的?

迈克尔·科尔曼(Michael Coleman)的答案正确。我只想添加一个简单的图像即可。他包含的链接有一个简单的示例:http://commandlinefanatic.com/art033ex4.html

HTML / DOM看起来像这样...

当您选择p元素时,Chrome中的样式面板看起来像这样...

如您所见,p元素继承自其祖先(div)。那么为什么background-color: blue样式变灰呢?因为它是规则集的一部分,该规则集至少具有一种可继承的样式。那可继承的样式是text-indent: 1em

background-color:blue是不可继承的,但是它是规则集的一部分,该规则集包含可继承的text-indent: 1em,Chrome的开发人员希望在显示规则集时做到完整。但是,为了在规则集中可以从不能继承的样式中区分出样式,将无法继承的样式显示为灰色。

相关讨论 这是最好的答案,因为它给出了一个简单的演示。在新标签页中打开该URL,然后使用Chrome开发者工具选择各种div和p。您将看到div#two的background-color并未变灰。但是background-color和p的background-color均为灰色。 很好的解释

如果通过检查器添加样式,但是这种新样式不适用于所选元素,也会发生这种情况。通常显示的样式仅是所选元素的样式,因此灰色表示您刚刚添加的样式不会选择在DOM导航器中具有焦点的元素。

相关讨论 这是我的问题。谢谢!

这意味着该规则已被另一个具有更高优先级的规则替换。例如带有以下内容的样式表:

123456h2 {   color: red; } h2 {   color: blue; }

检查器将显示规则color:red;变灰,而color:blue;正常显示。

阅读有关CSS继承的文章,以了解哪些规则被继承/具有更高的优先级。

编辑:

混合:变灰的规则是未设置的规则,它使用适用于所有元素的特殊默认样式表(使元素可呈现的规则,因为所有样式都必须具有值)。

相关讨论 我只是测试了一下,我认为那是不正确的。在规则被推翻的情况下,将会有删除线(正如我的问题所示)。参见:yfrog.com/f/j3fooep @Rob:自从devtools没有启动以来就发生了混乱。我运行了它,并用测试的答案编辑了答案。 我也不完全确定那是正确的;褪色的规则是我在自己的样式表中设置的(例如font-size: 20px;)

使用webpack时,在重建后重新加载页面时,源代码中已更改的所有css规则或属性都将显示为灰色。这真的很烦人,迫使我每次都重新加载页面。

在该问题已经有许多正确答案之后,我要回答很久,因为我遇到了另一种情况,即Chome DevTools中的CSS代码块显示为灰色且不可编辑:有问题的块包含U + 200B零宽度空格字符。 找到并删除它们后,可以再次在Chrome DevTools中编辑该块。 大概这也可能与其他非ascii字符一起发生,我没有试图弄清楚。

chrome开发人员的新版本显示了它的继承来源。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3