【发布时间】:2017-02-17 13:15:04
【问题描述】:
我正在使用 Angular Material 开发一个 AngularJS (v1.5) 应用程序,但我一直坚持布局的实现。这基本上是一个固定高度的标题,然后是可变高度的内容,然后是固定高度的页脚。当没有足够的内容来填充页眉和页脚之间的空间时,整个页面应该滚动(包括页眉)并且页脚应该被推到窗口底部。
我已经用到目前为止的代码创建了一支笔(用 div 替换了组件,并引入了 Angular 插入的所有中间 div)但是当我降低窗口的高度时,内容被折叠到一个高度零,而不是保持内容的高度并显示滚动条。
问题可能出在 .main CSS 类上,但我不知道应该放什么。
HTML:
<body ng-app="app">
<!-- ui-view div -->
<div layout="column" layout-fill>
<!-- component div -->
<div layout-fill>
<!-- my own div around the page content -->
<div layout="column" layout-fill>
<!-- header component div -->
<div flex="none">
<header flex="none">
<md-toolbar>
<div class="container">
<div class="md-toolbar-tools" layout="row" layout-align="center center">
<div flex></div>
<h1>HEADER</h1>
<div flex></div>
</div>
</div>
</md-toolbar>
</header>
</div>
<!-- content div -->
<div flex class="container main">
<h2>CONTENT</h2>
</div>
<!-- footer component div -->
<div flex="none">
<footer flex="none">
<md-toolbar>
<div class="container">
<div class="md-toolbar-tools" layout="row" layout-align="center center">
<div flex></div>
<h1>FOOTER</h1>
<div flex></div>
</div>
</div>
</md-toolbar>
</footer>
</div>
</div>
</div>
</div>
</body>
CSS:
header, footer {
md-toolbar {
height: 100px;
min-height: 100px;
background-color: #C8C8C8;
.md-toolbar-tools {
height: 100px;
min-height: 100px;
}
}
}
.container {
width: 600px;
margin: 0 auto;
}
.main {
background-color: #E8E8E8;
}
还有 JavaScript:
angular.module("app", ['ngMaterial']);
【问题讨论】:
-
好的,刚刚发布了这个并找到了一个解决方案:从“容器主” div 中删除 flex 并将内容包装在另一个 div 中。我已经更新了笔以包含此更改。
-
另一个编辑:更改 .main CSS 样式以包括
flex: 1 0 0%和height: calc(100vh - 200px),因为这适用于我的测试系统,但不适用于笔。需要做一些进一步的调查。
标签: angularjs flexbox angularjs-material