Я уже несколько лет бил головой об этом вопросе и вроде как придумал решение. Мне нужна фиксированная панель инструментов (navbar), а также липкий (плавающий) нижний колонтитул. Нижний колонтитул должен плавать в нижней части основной секции, но быть липким на дно, когда нет содержимого. Кажется, я могу сделать то или другое, но не то, и другое. С помощью этого метода панель инструментов фиксирована, но нижний колонтитул не является липким. Он прижимается к панели инструментов, когда основной раздел пуст.Угловой материал с фиксированной панелью и липким нижним колонтитулом
<body ng-controller="MainCtrl" layout="row">
<div layout="column" flex>
<md-toolbar class="md-medium-tall">
<div class="md-toolbar-tools">
<span>HEADER</span>
<span flex></span>
<md-button class="md-raised" ng-click="toggleContent(!displayContent)">onOff</md-button>
<span flex></span>
<md-button class="md-raised" ng-click="toggleNum()">half/full</md-button>
</div>
</md-toolbar>
<md-content>
<div layout="column" flex>
<div ng-if="displayContent" style="background-color:SteelBlue;color:white;" ng-repeat="card in cards|limitTo: displayLim">body {{card.title}}</div>
<div style="background-color: red;" flex></div>
<div style="background-color:orange;color:white;" >footer item</div>
</div>
</md-content>
</div>
</body>
Приведенный ниже код работает как липкий нижний колонтитул, но затем прокручивает панель инструментов.
<body ng-controller="MainCtrl" layout="row">
<div layout="column" flex>
<md-toolbar class="md-medium-tall">
<div class="md-toolbar-tools">
<span>HEADER</span>
<span flex></span>
<md-button class="md-raised" ng-click="toggleContent(!displayContent)">onOff</md-button>
<span flex></span>
<md-button class="md-raised" ng-click="toggleNum()">half/full</md-button>
</div>
</md-toolbar>
<div layout="column" flex>
<div ng-if="displayContent" style="background-color:SteelBlue;color:white;" ng-repeat="card in cards|limitTo: displayLim">body {{card.title}}</div>
<div style="background-color: red;" flex></div>
<div style="background-color:orange;color:white;" >footer item</div>
</div>
</div>
</body>
Это похоже на правильный гибкий способ выполнения того, что я пытаюсь сделать, но я просто не могу его отличить.
Помимо этого метода, я также использовал более традиционный подход к внедрению липкого нижнего колонтитула с использованием расчетной высоты основного участка от calc(100vh - header - footer)
. Я почти понял, когда BAM .. angular-material решил изменить размер панели инструментов с размером видового экрана. Я, вероятно, собираюсь внести запрос на изменение, чтобы использовать пробел <div flex></div>
в разделе md-content
, но я хотел выяснить, есть ли у кого-то лучшее решение.
Не удалось выложить достаточно. – creimers
Вот код для вашего решения: http: // codepen.io/creimers/pen/MewVOB – creimers
Приятно было услышать, что это помогло .. –