Material angular: diseños

Directiva de diseño

La directiva de diseño en un elemento contenedor se usa para especificar la dirección del diseño para sus hijos. A continuación se muestran los valores asignables para la Directiva de diseño:

  • row - Los artículos se organizan horizontalmente con altura máxima = 100% y el ancho máximo es el ancho de los artículos en el contenedor.

  • column - Los artículos están ordenados verticalmente con max-width = 100% y max-height es la altura de los artículos en el contenedor.

Para que el diseño receptivo, como el diseño, se cambie automáticamente según el tamaño de la pantalla del dispositivo, las API de diseño que se enumeran en la siguiente tabla se pueden usar para establecer la dirección del diseño para dispositivos con anchos de vista.

No Señor API y ancho del dispositivo cuando el punto de interrupción anula el valor predeterminado
1

layout

Establece la dirección de diseño predeterminada a menos que sea reemplazada por otro punto de interrupción.

2

layout-xs

ancho <600px

3

layout-gt-xs

ancho> = 600px

4

layout-sm

600px <= ancho <960px

5

layout-gt-sm

ancho> = 960px

6

layout-md

960px <= ancho <1280px

7

layout-gt-md

ancho> = 1280px

8

layout-lg

1280px <= ancho <1920px

9

layout-gt-lg

ancho> = 1920px

10

layout-xl

ancho> = 1920px

Ejemplo

El siguiente ejemplo muestra el uso de la directiva de diseño y también los usos de diseño.

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

Verifica el resultado.

Directiva Flex

La directiva flex en un elemento contenedor se utiliza para personalizar el tamaño y la posición de los elementos. Define la forma en que el elemento va a ajustar su tamaño con respecto a su contenedor principal y los otros elementos dentro del contenedor. Los siguientes son los valores asignables para la directiva flex:

  • multiples of 5 - 5, 10, 15 ... 100

  • 33 - 33%

  • 66 - 66%

Ejemplo

El siguiente ejemplo muestra el uso de la directiva flex y también los usos 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

Verifica el resultado.