Chrome开发工具能否显示元素大小的来源或原因?

Dai*_*Dai 6 css google-chrome google-chrome-devtools

在Chrome开发者工具(自Chrome 63起)的“元素”窗口中选择一个元素时,“计算”标签将显示当前计算出的宽度和高度以及所有其他非默认属性。

但是据我所知,它并没有描述,解释或揭示来源原因为一个元素的框的大小,如果它的大小是不是由于直接向直接设置属性,或者财产继承或级联。

考虑以下示例:

<div id="div1">
    <p id="p1">Lorem ipsum</p>
</div>
Run Code Online (Sandbox Code Playgroud)

使用默认HTML5样式表(即div, p { display: block;})Chrome浏览器将显示计算的宽度和高度#div1,并#p1是相同的,但无处没有指出的高度#div1是造成#p1,也不是说#p1的身高是由它的内容引起的(也考虑到line-heightfont-size以及其他相关的性质)。

如果将样式表更改为此:

#div1 { height: 500px; }
#p1 { height: 75%; overflow: hidden; }
Run Code Online (Sandbox Code Playgroud)

...然后,“开发人员工具”窗口应提供一些指示,表明#div1的高度直接来自height: 500px;属性,而#p1的高度现在源自#div1而不是其内容。

Chrome开发人员工具或JavaScript工具中是否存在此功能?

Sti*_*ers 5

您可以单击一个向下的三角形,查看计算值的来源。我认为您将无法看到所有父容器的设置。

在此处输入图片说明

  • 是的,仅当所计算的值是从该元素(而不是子代元素或父元素)上设置的属性派生时才显示它。如果Chrome完全缺少此功能,则将使FlexBox和CSS Grid的使用更加困难,因为它们会引入更多在DOM的其他位置定义元素大小的情况。 (3认同)
  • 这仅适用于 CSS 网格 - 不适用于 CSS Flexboxes、浮动元素,或者当元素的宽度源自祖先或后代元素上的规则集时。 (2认同)