gpt4 book ai didi

html - 仅使用 CSS 在动态大小的元素上设置宽度或高度的方法

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

除了使用 flexbox 之外,还有哪些方法可以在同级动态更改其大小的容器中设置高度?仅使用 CSS。

我问的原因是我必须支持一些非常老的浏览器。

例子:

<div class="widget">
<div class="nav">...</div>
<div class="content">...</div>
</div>

我不知道小部件的大小,因为客户可以根据需要更改尺寸。 nav 元素也是可定制的。要注意的是,我想在内容超出剩余空间时提供滚动。

最佳答案

希望您可以修改您的 HTML 结构以添加两个容器 <div>元素。这样做将允许您利用 display: table , display: table-rowdisplay: table-cell CSS 属性。

通过在 .nav 上设置较小的高度值单元格,它将自动扩展到其内容所需的任何大小。并且不在 .content 上设置高度单元格,它将填充剩余空间。

最后,使用内部 <div>max-height: 100%overflow-y: scroll ,当内容对于可用空间来说太大时,您可以强制滚动内容。

.widget {
background-color: lightgrey;
display: table;
height: 300px;
width: 100%;
}

.nav-container,
.content-container {
display: table-row;
}

.nav {
background-color: blue;
display: table-cell;
height: 1px; // Set a very small height value, and it'll expand automatically
}

.content {
background-color: red;
display: table-cell;
}

.scroll {
max-height: 100%;
overflow-y: scroll;
}
<div class="widget">
<div class="nav-container">
<div class="nav">
One<br>Two<br>Three
</div>
</div>
<div class="content-container">
<div class="content">
<div class="scroll">
<p>Lorem ipsum dolor sit amet, pro id volumus efficiendi delicatissimi, cu nullam accommodare mei. At lobortis abhorreant ius. Qui soleat albucius tractatos eu, sed dolorum nonumes scribentur ne, ex mazim feugiat theophrastus has. No vix omnis congue. Et mea volumus postulant, ne qui veritus complectitur.</p>

<p>Lorem ipsum dolor sit amet, pro id volumus efficiendi delicatissimi, cu nullam accommodare mei. At lobortis abhorreant ius. Qui soleat albucius tractatos eu, sed dolorum nonumes scribentur ne, ex mazim feugiat theophrastus has. No vix omnis congue. Et mea volumus postulant, ne qui veritus complectitur.</p>

<p>Lorem ipsum dolor sit amet, pro id volumus efficiendi delicatissimi, cu nullam accommodare mei. At lobortis abhorreant ius. Qui soleat albucius tractatos eu, sed dolorum nonumes scribentur ne, ex mazim feugiat theophrastus has. No vix omnis congue. Et mea volumus postulant, ne qui veritus complectitur.</p>

<p>Lorem ipsum dolor sit amet, pro id volumus efficiendi delicatissimi, cu nullam accommodare mei. At lobortis abhorreant ius. Qui soleat albucius tractatos eu, sed dolorum nonumes scribentur ne, ex mazim feugiat theophrastus has. No vix omnis congue. Et mea volumus postulant, ne qui veritus complectitur.</p>

<p>Lorem ipsum dolor sit amet, pro id volumus efficiendi delicatissimi, cu nullam accommodare mei. At lobortis abhorreant ius. Qui soleat albucius tractatos eu, sed dolorum nonumes scribentur ne, ex mazim feugiat theophrastus has. No vix omnis congue. Et mea volumus postulant, ne qui veritus complectitur.</p>

<p>Lorem ipsum dolor sit amet, pro id volumus efficiendi delicatissimi, cu nullam accommodare mei. At lobortis abhorreant ius. Qui soleat albucius tractatos eu, sed dolorum nonumes scribentur ne, ex mazim feugiat theophrastus has. No vix omnis congue. Et mea volumus postulant, ne qui veritus complectitur.</p>
</div>
</div>
</div>
</div>

关于html - 仅使用 CSS 在动态大小的元素上设置宽度或高度的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52845633/

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