css flex 布局,页面分为上下两部分,下面通过 flex: 1; 撑开,并且 overflow-y: auto;下面又分为左右布局,左右高度不一定,想要设置一个边框分割左右,但是边框始终到最底部;
下半部分左右边框高度能够到自动撑开的高度
https://codesandbox.io/p/devbox/flexbu-ju-zi-dong-cheng-gao-8...
css flex 布局,页面分为上下两部分,下面通过 flex: 1; 撑开,并且 overflow-y: auto;下面又分为左右布局,左右高度不一定,想要设置一个边框分割左右,但是边框始终到最底部;
下半部分左右边框高度能够到自动撑开的高度
https://codesandbox.io/p/devbox/flexbu-ju-zi-dong-cheng-gao-8...
在 CSS Flex 布局中,要实现左右同高的效果,可以使用 align-items: stretch;
来确保子元素在交叉轴上(即垂直于主轴)撑满容器的高度。
首先,确保父容器设置 align-items: stretch;
,这样它的子元素就会在交叉轴上撑满容器的高度。
然后,为了使左右边框能够撑开到自动撑开的高度,可以给左右子元素设置一个边框,并使用 box-sizing: border-box;
来保证边框不会增加元素的总高度。
以下是示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flex 布局示例</title>
<style>
.container {
display: flex;
flex-direction: column;
height: 100vh;
overflow-y: auto;
}
.left, .right {
flex: 1;
box-sizing: border-box;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<div class="container">
<div class="left">左侧内容</div>
<div class="right">右侧内容</div>
</div>
</body>
</html>
这样,左右子元素就会撑开到容器的高度,并且左右边框会延伸到容器底部。
去掉.wrap {
height: 100%;
}
此时,那个flex:1,overflow-y: auto; .wrap上的flex布局也没有用了。
但这种情况下上面部分就随着滚轮上移了,将上面部分改为fixed或sticky布局就可以了。
2 回答7.2k 阅读
5 回答8.3k 阅读
3 回答4.7k 阅读✓ 已解决
5 回答1.5k 阅读
2 回答2.4k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
基于当前结构的方法:
给
.rht
和.lft
盒子添加:这样这个弹性盒子就会被子盒子内容撑开
然后使用JQuery 获取
rht
的高度赋值给.lft
的子盒子div
:使用新的结构实现