我正在使用Angular-Material並已實施SideNav菜單。當屏幕尺寸很小時,菜單被隱藏,當點擊菜單切換按鈕時,菜單從左側滑出,具有整頁高度。當屏幕較大時,菜單固定在左側,但不是全頁高度。如何使用Angular-Material獲得完整高度的sidenav
如何使固定菜單顯示爲整頁高度。 我一直在玩css和其他md屬性,但只是無法找到如何。
<div ng-controller="appCtrl" layout="vertical" layout-fill>
<md-toolbar class="md.medium-tall app-toolbar">
<div class="md-toolbar-tools" ng-click="toggleMenu()">
<button class="menu-icon" hide-sm aria-label="Toggle Menu">
<md-icon icon="img/icons/ic_menu_24px.svg">
<object class="md-icon" data="img/icons/ic_menu_24px.svg"></object>
</md-icon>
</button>
<h2>
<span>Dev.Material</span>
</h2>
</div>
</md-toolbar>
<section layout="horizontal" flex>
<md-sidenav class="md-sidenav-left md-whiteframe-z2" component-id="menu" is-locked-open="$media('sm')">
<md-toolbar md-theme="purple">
<h1 class="md-toolbar-tools">Sidenav Left</h1>
</md-toolbar>
<md-content class="md-padding" ng-controller="menuCtrl">
<p>
This sidenav is locked open on your device. To go back to the default behavior,
narrow your display.
</p>
</md-content>
</md-sidenav>
<md-content flex class="md-padding">
Some content !!
</md-content>
和控制器:
(function() {
'use strict';
var controllerId = 'appCtrl';
angular.module('app').controller(controllerId,
['$scope', '$timeout', '$mdSidenav', appCtrl]);
function appCtrl($scope, $timeout, $mdSidenav) {
var vm = this;
$scope.toggleMenu = function() {
$mdSidenav('menu').toggle();
};
};
})();
(function() {
'use strict';
var controllerId = 'menuCtrl';
angular.module('app').controller(controllerId,
['$scope', '$timeout', '$mdSidenav', menuCtrl]);
function menuCtrl($scope, $timeout, $mdSidenav) {
var vm = this;
$scope.close = function() {
$mdSidenav('menu').close();
};
};
})();
您可能想要包括您期望在此支持的瀏覽器...有可能使用vh(視口高度)的解決方案,但這在舊版本的CSS中不可用。或者,您可以使用一個指令來監視任何調整大小的事件,並使用offsetHeight或者screen.height捕獲元素的更新高度並將其存儲在某個地方(值或服務或工廠) – shaunhusain 2014-11-01 14:06:52