Material Angular - Layouts
Diretiva de Layout
A diretiva de layout em um elemento de contêiner é usada para especificar a direção do layout para seus filhos. A seguir estão os valores atribuíveis para a Diretiva de Layout -
row - Os itens são organizados horizontalmente com max-height = 100% e max-width é a largura dos itens no contêiner.
column - Os itens são organizados verticalmente com max-width = 100% e max-height é a altura dos itens no contêiner.
Para que o design responsivo, como o layout seja alterado automaticamente, dependendo do tamanho da tela do dispositivo, as APIs de layout listadas na tabela a seguir podem ser usadas para definir a direção do layout para dispositivos com larguras de visualização.
Sr. Não | API e largura do dispositivo quando o ponto de interrupção substitui o padrão |
---|---|
1 | layout Define a direção do layout padrão, a menos que seja substituído por outro ponto de interrupção. |
2 | layout-xs largura <600px |
3 | layout-gt-xs largura> = 600px |
4 | layout-sm 600px <= largura <960px |
5 | layout-gt-sm largura> = 960px |
6 | layout-md 960px <= largura <1280px |
7 | layout-gt-md largura> = 1280px |
8 | layout-lg 1280px <= largura <1920px |
9 | layout-gt-lg largura> = 1920px |
10 | layout-xl largura> = 1920px |
Exemplo
O exemplo a seguir mostra o uso da diretiva layout e também o uso do layout.
am_layouts.htm
<html lang = "en">
<head>
<link rel = "stylesheet"
href = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
<link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons">
<style>
.box {
color:white;
padding:10px;
text-align:center;
border-style: inset;
}
.green {
background:green;
}
.blue {
background:blue;
}
</style>
<script language = "javascript">
angular
.module('firstApplication', ['ngMaterial'])
.controller('layoutController', layoutController);
function layoutController ($scope) {
}
</script>
</head>
<body ng-app = "firstApplication">
<div id = "layoutContainer" ng-controller = "layoutController as ctrl"
style = "height:100px;" ng-cloak>
<div layout = "row" layout-xs = "column">
<div flex class = "green box">Row 1: Item 1</div>
<div flex = "20" class = "blue box">Row 1: Item 2</div>
</div>
<div layout = "column" layout-xs = "column">
<div flex = "33" class = "green box">Column 1: item 1</div>
<div flex = "66" class = "blue box">Column 1: item 2</div>
</div>
</div>
</body>
</html>
Resultado
Verifique o resultado.
Diretiva Flex
A diretiva flex em um elemento de contêiner é usada para personalizar o tamanho e a posição dos elementos. Ele define a maneira como o elemento deve ajustar seu tamanho em relação ao seu contêiner pai e aos outros elementos dentro do contêiner. A seguir estão os valores atribuíveis para a diretiva flex -
multiples of 5 - 5, 10, 15 ... 100
33 - 33%
66 - 66%
Exemplo
O exemplo a seguir mostra o uso da diretiva flex e também o uso de flex.
am_flex.htm
<html lang = "en">
<head>
<link rel = "stylesheet"
href = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
<link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons">
<style>
.box {
color:white;
padding:10px;
text-align:center;
border-style: inset;
}
.green {
background:green;
}
.blue {
background:blue;
}
</style>
<script language = "javascript">
angular
.module('firstApplication', ['ngMaterial'])
.controller('layoutController', layoutController);
function layoutController ($scope) {
}
</script>
</head>
<body ng-app = "firstApplication">
<div id = "layoutContainer" ng-controller = "layoutController as ctrl"
layout = "row" style = "height:100px;" ng-cloak layout-wrap>
<div flex = "30" class = "green box">
[flex = "30"]
</div>
<div flex = "45" class = "blue box">
[flex = "45"]
</div>
<div flex = "25" class = "green box">
[flex = "25"]
</div>
<div flex = "33" class = "green box">
[flex = "33"]
</div>
<div flex = "66" class = "blue box">
[flex = "66"]
</div>
<div flex = "50" class = "blue box">
[flex = "50"]
</div>
<div flex class = "green box">
[flex]
</div>
</div>
</body>
</html>
Resultado
Verifique o resultado.