首页 > 解决方案 > Chrome 开发工具没有突出显示整个身体?

问题描述

我想知道这是否是错误或(更有可能)是使用开发工具/ CSS 的误解。我正在玩一个具有以下风格的JSFiddle :

div.notrelative {
    height: 100px;
    width: 100px;
    background: #eaf;
    margin: 50px;
    font-size: 9px;
    position:relative;
    font-family: Arial;
}
body {
    margin:30px;
}
div.absolute {
    height: 20px;
    width: 20px;
    position: absolute;
    background: #eea;
    margin-bottom: 10px;
    top: 0;
    left: 0;

我正在查看 JSFiddle 和本地副本上的开发工具中突出显示的区域,我注意到一些奇怪的东西。尽管正文占据了整个页面(如灰色背景色所示),但Chrome 仅以蓝色突出显示正文的一部分(在子元素的上边距之后,但奇怪的是不是左边距)。然而,仅仅在身体周围创建一些简单的东西,比如边框,似乎完全可以解决突出显示的问题。Chrome 在这两种情况下突出显示不同是否有原因? 在此处输入图像描述

在此处输入图像描述

标签: csspositiongoogle-chrome-devtools

解决方案


边距折叠导致div.notrelative其边距超出<body>垂直方向并推<html>到大于<body>. 因此,当您突出显示 时<body>,超出<body>但内部的区域<html>不会突出显示。未突出显示的区域代表div.notrelative. 添加边框可防止在父级和第一个/最后一个子级的情况下边距折叠。

至于为什么外面<body>的那个区域会受到其背景色的影响,根据这里的答案,是因为<html>采用了 的背景色<body>


推荐阅读