【发布时间】:2021-02-05 03:58:57
【问题描述】:
我是flexbox的新手,我正在尝试使用flexbox布局网页,非常简单,只有导航栏,侧边栏和内容:
html,
body {
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
}
.navigation {
background-color: aqua;
border: 1px solid black;
flex-grow: 1;
flex-basis: 100%;
height: 60px;
}
.side-bar {
background-color: blueviolet;
border: 1px solid black;
flex-basis: 68px;
}
.content {
background-color: burlywood;
border: 1px solid black;
flex-grow: 1;
}
<body>
<div class="navigation">
</div>
<div class="side-bar">
</div>
<div class="content">
</div>
</body>
我得到的结果:
我想要的是侧边栏和内容栏在没有高度计算的情况下占用上面的空间(例如:calc(100% - 60px)),如下所示:
【问题讨论】:
-
你能分享一张你想要得到的图片吗?
-
flexbox与css-grid的主要缺点是,它只能控制宽度或高度,但不能同时控制两者。在您的情况下,您需要同时控制两者,因此使用css-grid会更好。 -
@tacoshy:感谢评论,我不知道css-grid,所以我想我必须看看grid
-
@s.kuznetsov:对不起,它没有回答我的问题我试图避免 calc(100vh - ?)
-
@cuongle,你为什么不想使用计算
(100vh - n)?另外,您需要页脚吗?