【发布时间】:2017-09-21 15:38:59
【问题描述】:
我试图为这个看似简单的问题找到解决方案,但没有成功。我正在使用 AngularJS 和 Angular Material。
index.html
<div class="parent" layout="column" layout-fill ng-view>
</div>
示例 HTML 模板:
<div class="child" layout="column" layout-fill>
<div flex="20">
Some content
</div>
<div flex>
Some more content
</div>
</div>
(parent 和 child CSS 类中没有任何内容,此处仅用作名称参考)
如果内容比屏幕高度短,我希望父 div 和子 div 都是全高,并且内容 div 根据 flex 属性展开。 Angular Material 的 layout-fill 指令添加了 100% 的高度,因此目前可以正常工作。
如果内容长于屏幕高度可以显示的内容,我希望子 div 可以滚动。
我的想法是使用媒体查询将类属性附加到子 div,以防高度低于 400 像素。
@media screen and (max-height: 400px){
.child{
height: 400px;
overflow-y: scroll;
}
}
不幸的是,这不起作用。子高度与父高度相同(屏幕高度)。检查元素(Chrome)时,它说 css 高度是 400px,但计算的高度不是。
我真的不明白。
有什么想法吗?
【问题讨论】:
标签: css flexbox media-queries angular-material