gpt4 book ai didi

html - 带边距和不同嵌套的宽度百分比

转载 作者:行者123 更新时间:2023-11-28 17:04:20 28 4
gpt4 key购买 nike

在我的网页中,我有一个左边和一个右边的部分,但它们不在同一个嵌套中。我希望左侧部分占页面的 25%,右侧部分占页面的其余部分。
简单地设置 75% 对我来说并不合适,因为右边的部分还需要 30 像素的右边 margin。正确的 padding 将不起作用,因为我的内容和 background-color 会溢出。
你知道如何解决这个问题吗?
.left(蓝色)和 .right(黄色)div 应该始终完美地相互相遇,.right 需要保持 30 像素的正确 margin

body {
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
overflow: hidden;
}

.main {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
overflow: hidden;
background-color: grey;
}

.left {
position: absolute;
top: 0;
bottom: 0;
padding-top: 0;
padding-bottom: 0;
left: 0;
width: 25%;
border-right: 1px solid #eeeeee;
background-color: lightblue;
}

.right {
position: absolute;
width: 75%;
right: 0px;
top: 45px;
bottom: 0;
/*padding-right: 30px;*/
margin-right: 30px;
background-color: yellow;
}
<body>
<div class="main">
<div class="left">TEST</div>
</div>
<div class="right">TEST</div>
</body>

最佳答案

使用 绝对位置创建布局不是一个好主意。例如,您可能更好地依赖 flexbox:

body {
height: 100vh;
margin: 0;
display: flex;
background: grey;
}

.left {
flex: 1;
border-right: 1px solid #eeeeee;
background-color: lightblue;
}

.right {
flex: 4;
margin-top: 45px;
margin-right: 30px;
background-color: yellow;
}
<div class="left">TEST</div>
<div class="right">TEST</div>

但是如果你想保留你的代码,你需要在计算宽度时考虑边距:

body {
display: block;
position: absolute;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
overflow: hidden;
}

.main {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
overflow: hidden;
background-color: grey;
}

.left {
position: absolute;
top: 0;
bottom: 0;
padding-top: 0;
padding-bottom: 0;
left: 0;
width: 25%;
border-right: 1px solid #eeeeee;
background-color: lightblue;
}

.right {
position: absolute;
width: calc(75% - 30px);
right: 0px;
top: 45px;
bottom: 0;
/*padding-right: 30px;*/
margin-right: 30px;
background-color: yellow;
}
<body>
<div class="main">
<div class="left">TEST</div>
</div>
<div class="right">TEST</div>
</body>

关于html - 带边距和不同嵌套的宽度百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50628385/

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