exception 'BadMethodCallException' with message 'Call to undefined method Illuminate\Database\Query\Builder::remember()'
元素会导致滚动条出现。谁能解释我为什么?
h1

html, body {
margin: 0;
padding: 0;
height: 100%;
}
header {
height:10%;
}
section {
height:90%;
}

答案 0 :(得分:14)
那是因为
h1
默认有一些垂直边距,通常是0.67em
。h1
的上边距崩溃height
永远不会包含边距区域的高度由于h1
的上边距崩溃,其行为类似于header
而非h1
的边距。由于h1
的内容高度为10%
,因此其总高度为calc(10% + 0.67em)
。
这就是溢出的原因。
如果您移除上边距但保留底部边距没有问题,因为底部边距不会崩溃,因为非auto
height
。来自Collapsing margins,
如果[...]两者都属于垂直相邻,则相邻两个边距 盒子边缘,[...例如]
- 盒子的上边距及其第一个流入的孩子的上边距
- 最后一个流入的孩子和底部的下边距 如果父级具有
auto
计算高度,则为其父级的边距。
所以你可以做以下任何一个
h1
的上边距box-sizing: margin-box
。它可能会被拒绝。答案 1 :(得分:4)
因为h1
带有保证金,由default style sheet应用。
当您将此边距(通常是margin-top: .67em
和margin-bottom: .67em
)添加到代码中的height: 100%
时,这会超出视口高度,启动垂直滚动条。
授予h1
一个margin: 0
。
无论您使用box-sizing: content-box
还是border-box
,保证金空间都会始终添加到您的height
声明中。
如果您想在h1
周围添加空格而不增加高度,请使用填充而不是边距,以及box-sizing: border-box
。以下是一些实施选项:https://css-tricks.com/box-sizing/
答案 2 :(得分:1)
答案 3 :(得分:1)
*
{
margin:0px auto;
}
html, body {
margin: 0 ;
padding: 0;
height: 100%;
}
header {
height:10%;
}
section {
height:90%;
}

<header>
<h1>
Hello
</h1>
</header>
<section>
test
</section>
&#13;
只需添加通用选择器并设置边距*{margin:0px auto;}
。希望它能起作用
答案 4 :(得分:1)
块级元素中的h1标签有一些余量。
要删除此类额外边距和填充,建议将所有元素边距和填充重置为0.
这可以通过以下方式完成:
* {
margin: 0;
padding: 0;
}
* {
margin: 0;
padding: 0;
}
html, body {
height: 100%;
}
header {
height:10%;
}
section {
&#13;
<header>
<h1>
Hello
</h1>
</header>
<section>
test
</section>
&#13;