2017-08-01 147 views

回答

0

像這樣的事情?

angular.module('BlankApp', ['ngMaterial']) 
 
    .controller('ctrl', function ($scope, $timeout, $mdSidenav, $log) { 
 
    $scope.toggleRight = function(){ 
 
     $mdSidenav("right").toggle(); 
 
    }; 
 
    })
body{ 
 
    /* This is only needed because I can't add layout="column" to the BODY tag in this example. */ 
 
    display: flex; 
 
}
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.4/angular-material.min.css" rel="stylesheet"/> 
 
<div ng-app="BlankApp" layout="column" flex> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular-animate.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular-aria.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular-messages.min.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.4/angular-material.min.js"></script> 
 

 
<div ng-controller="ctrl" layout="row" flex> 
 
    <md-sidenav md-is-locked-open="true" style="width: 80px;"> 
 
    <md-toolbar> 
 
     <a class="md-toolbar-tools"><h1>AMD</h1></a> 
 
    </md-toolbar> 
 
    left side 
 
    </md-sidenav> 
 
    <div layout="column" flex> 
 
    <md-toolbar layout="row" layout-align="end center"> 
 
     <md-button class="toolbar-button">Search</md-button> 
 
     <md-button class="toolbar-button" ng-click="toggleRight()">Toggle Right</md-button> 
 
    </md-toolbar> 
 
    <md-content flex layout-padding> 
 
     <div style="height: 2000px">tall content</div> 
 
    </md-content> 
 
    </div> 
 
    <md-sidenav class="md-sidenav-right" md-component-id="right" style="width: 80px;"> 
 
    <md-toolbar> 
 
     <a class="md-toolbar-tools"><h1>right</h1></a> 
 
    </md-toolbar> 
 
    right side 
 
    </md-sidenav> 
 
</div> 
 
</div>

+0

謝謝你的工作...... !!! – user3597404

+0

@ user3597404,太棒了!請標記爲已接受的答案,如果這爲您工作。謝謝。 – adam0101

2

你需要使用一個CSS Flexbox,就如何acheive佈局。這使您能夠相應地安排項目。使用overflow屬性來控制滾動條。在這裏看到:

https://www.w3schools.com/css/css3_flexbox.asp

我爲您創建一個樣本小提琴:https://jsfiddle.net/q0g6gtn9/

HTML:

<div class="wrap"> 
    <div class="header">Navigation bar</div> 
    <div class="content"> 
     <p>Lorem ipsum dolor sit amet, consectetur adipiscing..</p>    
    </div> 
</div> 

CSS:

html, 
body, 
.wrap { 
    height: 100%; 
} 

body { 
    overflow: hidden; 
} 

p { 
    margin-bottom: 1em; 
} 

.wrap { 
    display: flex; 
    flex-direction: column; 
} 

.header { 
    flex: 0 0 auto; 
    background-color: red; 
    padding: 1em; 
} 

.content { 
    flex: 1 1 auto; 
    position: relative; 
    overflow-y: auto; 
} 
+0

我試圖用角材料設計去實現它。有什麼方法可以使用Angular Material Library來實現它 – user3597404

+0

爲什麼喜歡? – Happysmithers