Chrome 开发者工具样式选项卡显示褪色的 CSS 定义,为啥?

Posted

技术标签:

【中文标题】Chrome 开发者工具样式选项卡显示褪色的 CSS 定义,为啥?【英文标题】:Chrome developer tools Style tab showing faded CSS definition, why?Chrome 开发者工具样式选项卡显示褪色的 CSS 定义,为什么? 【发布时间】:2012-09-28 20:06:53 【问题描述】:

我已经使用 Chrome 很长时间了,而且我从来没有(我记得不记得)在样式面板中遇到过褪色的 CSS 定义。选择器尚未在其他位置定义。

例子:

(编辑:为了清楚起见,我不是指用户代理样式表)

我无法弄清楚它为什么会褪色以及这意味着什么。该定义似乎是可编辑的,但对值的任何更改都不会保留(即,一旦我单击关闭,它就会恢复为原始值)并且对网页没有影响。

我在该工具的documentation 中找不到对此的任何引用。有哪位好心人能解释一下吗?

【问题讨论】:

在问了这个问题将近 6 年后,我现在注意到我遇到的问题在更高版本的 Chrome 中得到了修复。下面收到的关于它为什么褪色的答案似乎是正确的,但就我而言,我无法弄清楚它为什么会发生。结果在示例中的 CSS 之前的定义中是无效的 CSS。 (见:jsfiddle.net/bdfEV)。小提琴中的示例在当前版本的 Chrome 中不再显示为淡入淡出(现在似乎允许在链接选择器中使用空格,例如“a:hover”)。 【参考方案1】:

这些是浏览器自动应用的样式表。

您可以通过描述看到这一点:user agent stylesheets

您可以通过选中Show user agent styles 在右下角的设置中禁用此功能。现在样式将不会显示在您的 CSS 面板中(但仍在应用中!)

编辑:

我误读了您的问题,开发文档中关于暗色规则的内容如下:

注意:如果您编辑选择器以使其与所选元素不匹配,则该规则将变暗,并且显然不会应用于该元素。您应该很少需要这样做。

您的屏幕截图看起来可能是这种情况。

【讨论】:

为什么它会在它们旁边显示 Site.css 作为源? mmh 不,它们在“匹配的 CSS 规则”下,您所说的“计算样式”也有阴影,但这不是 OP 所说的。 mmh 不,h1s 的默认颜色不是#7F7F7F 您好 Christoph,正如其他人所指出的,我了解用户代理样式。也许我不清楚,但我指的是我自己的样式表(Site.css)中的样式,这些样式是阴影/褪色的。 @Christoph 我很欣赏你所说的,但在截取屏幕截图时我没有在浏览器中编辑任何内容,如果我这样做了,我可以理解褪色的原因,但这是加载的。 【参考方案2】:

“褪色”样式是不应用于所选标签的样式。因此,在您的屏幕截图中,您有一个正常颜色的h1 规则——该规则应用于您选择的任何元素——并且您有一个.SubHeader h1 规则没有被应用到选定的元素。

如果您动态添加 CSS 规则(Chrome 开发工具中的 + 按钮)但修改选择器使其不适用于您选择的任何元素,您有时会看到这种情况。

【讨论】:

Chrome 是否会显示一个元素的规则,即使它与它的选择器不匹配?如果是这样,那就太奇怪了…… Chrome 允许您动态添加和修改 CSS 规则。如果您碰巧添加了与所选元素不匹配的规则 - 或者如果您修改现有规则以使选择器不再匹配所选元素 - 它将显示为灰色。 我按照你所说的 Roddy 但是,有问题的样式 (.SubHeader h1) 没有被动态添加(即它在样式表中并且肯定是有效的(即按照定义的样式) .所以它正在应用中,只是Chrome不允许我修改它。 您是否尝试重新启动 Chrome?有时我会无缘无故地发生这种情况——Chrome 只是自发地决定它不会让我编辑特定的 CSS 规则。 嗨,Christoph,我已经设法重新创建它,并在此过程中发现了可能导致它的原因,但不能 100% 确定。我发现在同一个样式表中定义了一些无效的 CSS,这可能会导致问题。见这里:jsfiddle.net/bdfEV【参考方案3】:

表示规则已被继承:

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

【讨论】:

正确——但这也意味着该样式不适用于当前选定的元素。【参考方案4】:

褪色的规则不会应用于元素。

Take a look at this example

<!-- HTML -->
<div>
  <span>Test</span>
</div>

/* CSS */
div 
  color: #F0F;
  margin: 15px;
  stroke: #FFF;
  float: left;

如果您打开开发工具,您会注意到 marginfloat 已褪色,colorstroke 没有。那是因为span元素继承了其父元素的样式规则,但只有colorstrokerules are inheritable。

【讨论】:

这是最准确的答案,或者至少是给出最佳解释的答案。

以上是关于Chrome 开发者工具样式选项卡显示褪色的 CSS 定义,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在预检请求后 Chrome 不在开发工具网络选项卡上显示 POST 请求?

类似于 Firefox 的 Chrome 样式编辑器的开发工具

如何在 chrome 开发工具中同时查看元素选项卡和源选项卡

未进行 API 调用,因为它未反映在 Google chrome 开发人员工具的网络选项卡中

在 Chrome 开发工具中查看确切的 CSS 特性?

React 选项卡未出现在 chrome 开发人员工具中