Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当overflow:scroll被分配给body时,为什么垂直滚动条会附加到HTML?_Html_Css - Fatal编程技术网

当overflow:scroll被分配给body时,为什么垂直滚动条会附加到HTML?

当overflow:scroll被分配给body时,为什么垂直滚动条会附加到HTML?,html,css,Html,Css,如果您运行下面的代码,您将看到垂直滚动条连接到html,而不是我所期望的主体。 我希望如此,因为body的高度定义为800px,而div.a的高度定义为1500px。所以对于溢出:滚动体,滚动条应该出现在体上,而不是html。 有人能解释一下吗 html{ 背景:黑色; 利润率:20px; } 身体{ 背景:红色; 填充:0; 保证金:0; 高度:800px; 溢出:滚动; } .a{ 宽度:500px; 高度:1500px; 背景:黄色; } .b{ 宽度:500px; 高度:1000px;

如果您运行下面的代码,您将看到垂直滚动条连接到html,而不是我所期望的主体。 我希望如此,因为body的高度定义为800px,而div.a的高度定义为1500px。所以对于溢出:滚动体,滚动条应该出现在体上,而不是html。 有人能解释一下吗

html{
背景:黑色;
利润率:20px;
}
身体{
背景:红色;
填充:0;
保证金:0;
高度:800px;
溢出:滚动;
}
.a{
宽度:500px;
高度:1500px;
背景:黄色;
}
.b{
宽度:500px;
高度:1000px;
背景:蓝色;
}

我告诉html不要显示溢出,从而成功地实现了这一点。把负担交给孩子去处理

*{
位置:相对位置;
框大小:边框框;
}
html{
背景:黑色;
利润率:20px;
溢出:隐藏;
}
身体{
宽度:400px;
身高:100%;
最大高度:200px;
背景:红色;
填充:20px;
保证金:0自动;
溢出y:滚动;
}
.a{
宽度:300px;
高度:1500px;
填充:20px;
保证金:0自动;
背景:黄色;
溢出y:滚动;
}
.b{
宽度:200px;
高度:3000px;
保证金:0自动;
背景:蓝色;
}


如果你只想了解这些机制,那是由于一种叫做传播的东西,你可以在这里的规范中阅读:如果你想了解这些机制背后的原因,它必须与html本身就是一个框有关,而body是布局内容的“宿主”也可以说,通常大多数人都会在其中应用页面样式。其他人将对此进行详细说明。谢谢您的回答。但我的问题不是“如何实现这一点”,而是“为什么会发生这种情况”。只是页面滚动使得另一个页面没有用处。如果你一直在努力做你想做的事情,比如身高100%,你需要看看父母是如何设置的。干杯,杰森