html - 只有 css 的两行布局

标签 html css

我需要为网页创建一个 2 行布局来管理过滤器部分和具有以下特征的结果的其他部分:

  • 页面不能溢出100%的高度
  • 第一行的高度取决于他的内容(可以是可变的,javascript函数可以通过隐藏一些元素来改变它)
  • 第二行的高度是第一行高度的100%差值
  • 在第二行中,带有溢出的 div 必须是带有类“list”的 div,我不能将它移动到带有 class="result"的 div(这将使它工作)

HTML:

<div class="main">
    <div class="filter">
        <div class="filtercontent">
            filter content
        </div>
    </div>
    <div class="result">
        <div class="resultcontent">
            <div class="list">
                <div class="listcontent">
                    list content    
                </div>
            </div>
        </div>
    </div>
</div>

CSS:

.main {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.filter {
    width: 100%;
}

.result {
    width: 100%;
}

.resultcontent {
    height: 100%;
    width: 100%;
}

.list {
    height: 100%;
    width: 100%;
    overflow: auto;
}

.listcontent {
    height: 1000px;
    width: 2000px;
}

我尝试使用 flexbox(以不同的方式),但我找不到最后一点的解决方案。

重要提示:我无法使用 javascript 设置行高。我需要一个仅使用 CSS 的解决方案。

谢谢!

最佳答案

如果您使用“flex: 1”属性声明您的 .result div,它将占用外部 div (.main) 中剩余的所有空间。因此,如果 .filter div 占据 500 个高度像素,则 .result 将调整空白区域,填充父级的 100%。如果你改变它动态隐藏或添加元素 flex: 1 将保证所有剩余空间将由 .result 自动填充。

希望对你有帮助

关于html - 只有 css 的两行布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42229423/

相关文章:

html - 将下拉菜单居中对齐

javascript - 在样式表 CSS 文件中导入 React 图标

html - CSS - 在背景大小级别模糊背景而不是容器

javascript - 倒数计时器不停止

android - 在 Android 上禁用标注(上下文菜单)

html - Ember View 高度

html - 居中图像在水平和垂直方向上都充当 "popup"

gwt 中小部件的 CSS

javascript - CSS 杀死 HTML 和 JavaScript - 为什么?

html - 打印时使用 css 在每页上重复页眉