gpt4 book ai didi

css - 高度相对于宽度的多个垂直 div

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:33 25 4
gpt4 key购买 nike

我的部分 css 布局设置了相对于宽度的 div 高度,以便所有屏幕尺寸的宽高比都相同。这样我就不会专门​​将 div 的高度设置为 px 值 - 高度只是宽度的纵横比。如果您以前没有遇到过这种技术,here is a good explanation .

到我的具体问题...

考虑到这一点,我创建了以下简单的 div,它的宽度是高度的两倍:(to see it in action please see this fiddle)

<html>
<head>
<style type="text/css">
.container
{
position:relative;
width:50%;/*half the width of the whole page*/
margin:auto;/*center the whole thing*/
}
.relative_container
{
background-color:blue;
position:absolute;
width:100%;
top:0;
left:0;
}
.set_height
{
width:100%;
height:100%;
margin-top:50%;/*aspect ratio 2:1*/
}
</style>
</head>
<body>
<div class='container'>
<div class='relative_container'>
<div class='set_height'></div>
</div>
</div>
</body>
</html>

到目前为止一切都很好。但是我想在第一个下添加另一个相同的 div。正如您在 this fiddle 中看到的那样,我无法让它们以任何方式显示,只能相互叠加。毫无疑问,答案在于清除 div as demonstrated here但我想不通。

最佳答案

您的 relative_container 类是绝对定位的,因此它将两个 div 放置在 top:0, left:0 处,宽度和高度相同(因此它们彼此重叠)。这对您正在做的事情没有意义。

如果您将定位更改为相对,并将 float: left 添加到您的奇怪命名的 relative_container,您将获得所需的行为,因为它们将“ float ”到父 div 中最左边的位置。

此外,您的“清晰”div 没有做任何事情。 clear 属性告诉其他 div 不要 float 到给定 div 的右/左。如果您的 div 的宽度为 100%(即它填满了父级),那么它旁边无论如何都不能 float 。

示例 1:http://jsfiddle.net/NKRPe/13/

编辑: This second example在不使用虚拟 div 的情况下完成相同的任务。请注意,可以使用 padding-toppadding-bottom

关于css - 高度相对于宽度的多个垂直 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14671410/

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