gpt4 book ai didi

添加边距后 CSS Body 会更高

转载 作者:行者123 更新时间:2023-12-02 21:36:43 24 4
gpt4 key购买 nike

我有一个 DIV #page,如果我在顶部添加边距,就会突然出现滚动条,即使该元素不大于主体。如何去掉滚动条?

(参见 Fiddle )

我的 HTML

<html>
<body>
<div id="page">
I am a div sized with calc()!
</div>

</body>
</html>

我的CSS

html, body {
height:100%;
}
body {
margin:0;
padding:0 10px 0 10px;
font-family:helvetica;
background:black;
color:yellow;
}
#page {
position:relative;
min-height:90%;
min-height:calc(100% - 60px);
width:100px;
padding:10px;
margin:20px auto;
background-color:rgba(255,255,255,.2);
}

最佳答案

问题:body默认为position:static。为直接子级添加边距将导致其按比例移动,无论其高度如何。

解决方案:为body提供position:fixed,以防止移动并删除滚动条。

演示: http://jsfiddle.net/abhitalks/mZKC5/18/

CSS:

html, body {
height: 100%; width: 100%;
}
body {
position: fixed; /* important to keep it fixed */
margin: 0; padding: 0px 10px;
font-family: helvetica;
background: black; color: yellow;
}
#page {
height: calc(100% - 60px); /* 10+10 padding + 20+20 margin = 60px is ok */
width: 100px;
padding: 10px;
margin: 20px auto;
background-color: rgba(255, 255, 255, .2);
}

编辑:(根据@AWolff的建议)

上面的演示显示的是当边距应用于直接子级时正文滚动的原因。但是,使 body fixed 产生的副作用是,即使您想添加更多相关内容,它也将不再可滚动。

如果您需要完美像素,更好的解决方案是使用绝对定位来放置元素。

或者,按照@NoobEditors的建议使用相对定位而不是边距,相对,因为它无论如何都会相对于body(即使这是绝对的)。

.

关于添加边距后 CSS Body 会更高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21204403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com