gpt4 book ai didi

css - 与 margin-top 对齐与百分比值混淆

转载 作者:行者123 更新时间:2023-11-28 18:21:18 25 4
gpt4 key购买 nike

我一直试图通过百分比来处理 CSS 中的流体布局,并认为我已经有所进展,直到我在测试一些东西时遇到了这个问题。使用下面的代码,我有两个 div,它们应该放在 View 之外,这样如果您滚动所有内容,您应该立即看到它们。

与左边距对齐的效果很好,但与上边距对齐的 div 的结果让我摸不着头脑。为了获得理想的结果,我必须将最高边距设置为 42%,但我不确定这个数字是从哪里来的。我认为它会是 90%(100% - topbar 的高度),起初我认为这可能与包含的浏览器界面有关,但我的界面不可能是 48% 并且将浏览器置于全屏状态也没有修理它。真正让我明白的是,将导航的高度设置为 90% 加上顶部栏的高度为 10% 完全符合预期,那么为什么高度边距不同?

非常感谢您的帮助,如果您能尝试尽可能多地解释任何内容,我将不胜感激,因为我仍在努力理解这些属性及其工作原理。

<!DOCTYPE html>
<html>
<head>
<style>
body, html {
background-color:#988557;
width:100%;
height:100%;
margin:0%;
}
#topbar {
margin-left:100%;
background-color:#3F4A66;
width:100%;
height:10%;
}
#navigation {
margin-top:42%;
background-color:#3F4A66;
width:10%;
height:90%;
}
</style>
</head>
<body>

<div id="topbar">
</div>
<div id="navigation">
</div>

</body>
</html>

最佳答案

您神奇的 42% 是因为百分比边距是根据包含 block 的宽度 计算的。因此,您指定的上边距是包含您的#navigation div 的 block 宽度的 42%,在本例中为 body

看看 w3c specification for margin百分比。

我认为您对 margin-top: 90% 的意思是:在 #navigate 的顶部添加等于视口(viewport) 高度 90% 的空间。浏览器所做的是:向顶部 op #navigate 添加等于视口(viewport) width 90% 的空间。

如果您使浏览器视口(viewport)完全正方形,您会看到 90% 的效果完全符合您的要求。但是,如果将视口(viewport)设为更常见的矩形,您会发现定位不正确,符合“宽度百分比”而不是“高度百分比”。

关于css - 与 margin-top 对齐与百分比值混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16728971/

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