如何让 div 或 tr 遵循固定的百分比高度,而不是根据字体大小看似随机地改变高度?

问题描述 投票:0回答:1

我想创建一个表格或 3 个单独的 div,我不在乎哪个。我要做的就是将屏幕划分为顶部 20%、中间 60% 和底部 20%。我已经用下面的代码完成了一些工作;但是,如果我在顶部 div 或 tr 中将字体设置得非常大,它就会开始侵入中间部分和底部部分的空间,并且页面最终不仅顶部部分比底部部分大,而且关闭底部并添加一个滚动条。换句话说,它忽略了我的 20% 高度分配,这真的很酷,很棒。

body {
    margin: 0px;
    padding: 0px;
}

.small {
    height: 20vh;
    max-height: 20vh;
    min-height: 20vh;
}

.large {
    height: 60vh;
    max-height: 60vh;
    min-height: 60vh;
}
 <body>
        <table>
            <tr class="small"></tr>
            <tr class="large"></tr>
            <tr class="small"></tr>
        </table>
    </body>

我如何强制执行 20% 的限制,这样即使顶部的字体更大,它也不会开始分配比我告诉它的更多的空间?

html css height
1个回答
0
投票

如果我没理解错的话,你可以使用 Grid 来实现这个布局。 下面我使用了三个 div 和一个主包装器。

当使用 rem 作为宽度或高度的单位时,如果我们更改父字体大小,它也会影响子值

body {
    margin: 0px;
    padding: 0px;
    box-sizing:border-box;
}
main{
  display: grid;
  grid-template-columns: 100vw;
  grid-template-rows: 20vh 60vh 20vh;
}
div{
  border:1px solid grey;
  padding:10px;
}
<main>
 <div>I am small</div>
 <div>I am Big</div>
 <div>I am small</div>
</main>

© www.soinside.com 2019 - 2024. All rights reserved.