Winkelmaterial - Kurzanleitung

Angular Material ist eine UI-Komponentenbibliothek für Angular JS-Entwickler. Die wiederverwendbaren UI-Komponenten von Angular Material helfen beim Erstellen attraktiver, konsistenter und funktionaler Webseiten und Webanwendungen, während moderne Webdesign-Prinzipien wie Browser-Portabilität, Geräteunabhängigkeit und ordnungsgemäße Verschlechterung eingehalten werden.

Im Folgenden sind einige herausragende Merkmale von Angular Material aufgeführt:

  • Eingebautes Responsive Design.

  • Standard-CSS mit minimalem Platzbedarf.

  • Enthält neue Versionen gängiger Steuerelemente für Benutzeroberflächen wie Schaltflächen, Kontrollkästchen und Textfelder, die an die Konzepte des Materialdesigns angepasst sind.

  • Enthält erweiterte und spezielle Funktionen wie Karten, Symbolleiste, Kurzwahl, Seitennavigation, Wischen usw.

  • Browserübergreifend und kann zum Erstellen wiederverwendbarer Webkomponenten verwendet werden.

Sich anpassendes Design

  • Angular Material verfügt über ein integriertes Responsive Design, sodass sich die mit Angular Material erstellte Website entsprechend der Gerätegröße neu gestaltet.

  • Winkelmaterialklassen werden so erstellt, dass die Website für jede Bildschirmgröße geeignet ist.

  • Die mit Angular Material erstellten Websites sind vollständig kompatibel mit PCs, Tablets und Mobilgeräten.

Erweiterbar

  • Das eckige Material ist von Natur aus sehr minimal und flach.

  • Es wurde unter Berücksichtigung der Tatsache entwickelt, dass es viel einfacher ist, neue CSS-Regeln hinzuzufügen, als vorhandene CSS-Regeln zu überschreiben.

  • Es unterstützt Schatten und kräftige Farben.

  • Die Farben und Schattierungen bleiben über verschiedene Plattformen und Geräte hinweg einheitlich.

Und vor allem ist Angular Material absolut kostenlos zu verwenden.

Wie verwende ich eckiges Material?

Es gibt zwei Möglichkeiten, Winkelmaterial zu verwenden:

  • Local Installation - Sie können die Angular Material-Bibliotheken mit npm, jspm oder bower auf Ihren lokalen Computer herunterladen und in Ihren HTML-Code aufnehmen.

  • CDN Based Version - Sie können die js-Dateien angle-material.min.css und angle-material js direkt aus dem Content Delivery Network (CDN) in Ihren HTML-Code aufnehmen.

Lokale Installation

Bevor wir den folgenden Befehl npm verwenden, benötigen wir die NodeJS-Installation auf unserem System. Um Informationen zu Node JS zu erhalten, klicken Sie hier und öffnen Sie die NodeJS-Befehlszeilenschnittstelle. Wir werden den folgenden Befehl verwenden, um Angular Material-Bibliotheken zu installieren.

npm install angular-material

Der obige Befehl generiert die folgende Ausgabe:

[email protected] node_modules\angular-animate

[email protected] node_modules\angular-aria

[email protected] node_modules\angular-messages

[email protected] node_modules\angular

[email protected] node_modules\angular-material

npm lädt die Dateien unter herunter node_modules > angular-materialMappe. Fügen Sie die Dateien wie im folgenden Beispiel erläutert ein -

Beispiel

Jetzt können Sie die CSS- und JS- Datei wie folgt in Ihre HTML-Datei aufnehmen:

<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>
      
      <script type = "text/javascript">    
         angular.module('firstApplication', ['ngMaterial']);
      </script>
   </head>
   
   <body ng-app = "firstApplication" ng-cloak>
      <md-toolbar class = "md-warn">
         <div class = "md-toolbar-tools">
            <h2 class = "md-flex">HTML 5</h2>
         </div>
      </md-toolbar>
      
      <md-content flex layout-padding>
         <p>HTML5 is the next major revision of the HTML standard superseding HTML
         4.01, XHTML 1.0, and XHTML 1.1. HTML5 is a standard for structuring and
         presenting content on the World Wide Web.</p>
         
         <p>HTML5 is a cooperation between the World Wide Web Consortium (W3C) and
         the Web Hypertext Application Technology Working Group (WHATWG).</p>
         
         <p>The new standard incorporates features like video playback and drag-and-drop
         that have been previously dependent on third-party browser plug-ins such as
         Adobe Flash, Microsoft Silverlight, and Google Gears.</p>
      </md-content>
   </body>
</html>

Das obige Programm generiert das folgende Ergebnis:

CDN-basierte Version

Sie können die einschließen angular-material.css und angular-material.jsDateien in Ihren HTML-Code direkt aus dem Content Delivery Network (CDN). Google CDN bietet Inhalte für die neueste Version.

In diesem Tutorial verwenden wir die Google CDN-Version der Bibliothek.

Beispiel

Lassen Sie uns nun das obige Beispiel mit neu schreiben angular-material.min.css und angular-material.min.js von Google CDN.

<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>

      <script type = "text/javascript">    
         angular.module('firstApplication', ['ngMaterial']);
      </script>
   </head>
   
   <body ng-app = "firstApplication" ng-cloak>
      <md-toolbar class = "md-warn">
         <div class = "md-toolbar-tools">
            <h2 class = "md-flex">HTML 5</h2>
         </div>
      </md-toolbar>
      
      <md-content flex layout-padding>
         <p>HTML5 is the next major revision of the HTML standard superseding HTML 4.01,
         XHTML 1.0, and XHTML 1.1. HTML5 is a standard for structuring and presenting 
         content on the World Wide Web.</p>

         <p>HTML5 is a cooperation between the World Wide Web Consortium (W3C) and the Web
         ypertext Application Technology Working Group (WHATWG).</p>
         
         <p>The new standard incorporates features like video playback and drag-and-drop
         that have been previously dependent on third-party browser plug-ins such as Adobe
         Flash, Microsoft Silverlight, and Google Gears.</p>
      </md-content>
   </body>
</html>

Das obige Programm generiert das folgende Ergebnis:

Das md-autocomplete, eine Winkelrichtlinie, wird als spezielles Eingabesteuerelement mit einer integrierten Dropdown-Liste verwendet, um alle möglichen Übereinstimmungen mit einer benutzerdefinierten Abfrage anzuzeigen. Dieses Steuerelement fungiert als Echtzeit-Vorschlagsfeld, sobald der Benutzer in den Eingabebereich eingibt.<md-autocomplete>kann verwendet werden, um Suchergebnisse aus lokalen oder entfernten Datenquellen bereitzustellen. md-autocomplete speichert die Ergebnisse beim Ausführen einer Abfrage zwischen. Nach dem ersten Aufruf werden die zwischengespeicherten Ergebnisse verwendet, um unnötige Serveranforderungen oder Suchlogik zu vermeiden, und es kann deaktiviert werden.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-autocomplete.

Sr.Nr. Parameter & Beschreibung
1

* md-items

Ein Ausdruck im Format eines Elements in Elementen, um Übereinstimmungen für Ihre Suche zu durchlaufen.

2

md-selected-item-change

Ein Ausdruck, der jedes Mal ausgeführt wird, wenn ein neues Element ausgewählt wird.

3

md-search-text-change

Ein Ausdruck, der jedes Mal ausgeführt wird, wenn der Suchtext aktualisiert wird.

4

md-search-text

Ein Modell zum Binden des Suchanfragetextes.

5

md-selected-item

Ein Modell, an das das ausgewählte Element gebunden werden soll.

6

md-item-text

Ein Ausdruck, der Ihr Objekt in eine einzelne Zeichenfolge konvertiert.

7

placeholder

Platzhaltertext, der an die Eingabe weitergeleitet wird.

8

md-no-cache

Deaktiviert das interne Caching bei der automatischen Vervollständigung.

9

ng-disabled

Legt fest, ob das Eingabefeld deaktiviert werden soll oder nicht.

10

md-min-length

Gibt die Mindestlänge des Texts an, bevor die automatische Vervollständigung Vorschläge macht.

11

md-delay

Gibt an, wie lange (in Millisekunden) gewartet werden soll, bevor nach Ergebnissen gesucht wird.

12

md-autofocus

Wenn true, wird das Eingabeelement sofort fokussiert.

13

md-autoselect

Wenn true, wird standardmäßig das erste Element ausgewählt.

14

md-menu-class

Dies wird auf das Dropdown-Menü für das Styling angewendet.

15

md-floating-label

Dadurch wird der automatischen Vervollständigung ein schwebendes Etikett hinzugefügt und in den md-input-Container eingeschlossen.

16

md-input-name

Das Namensattribut, das dem Eingabeelement gegeben wird, das mit dem FormController verwendet werden soll.

17

md-input-id

Eine ID, die dem Eingabeelement hinzugefügt werden soll.

18

md-input-minlength

Die Mindestlänge für den Validierungswert der Eingabe.

19

md-input-maxlength

Die maximale Länge für den Validierungswert der Eingabe.

20

md-select-on-match

Wenn diese Option auf "true" gesetzt ist, wählt die automatische Vervollständigung automatisch das genaue Element aus, wenn der Suchtext genau übereinstimmt.

Beispiel

Das folgende Beispiel zeigt die Verwendung von md-autocomplete Richtlinie und auch die Verwendung von Autocomplete.

am_autocomplete.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>
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('autoCompleteController', autoCompleteController);

         function autoCompleteController ($timeout, $q, $log) {
            var self = this;
            self.simulateQuery = false;
            self.isDisabled    = false;
            
            // list of states to be displayed
            self.states        = loadStates();
            self.querySearch   = querySearch;
            self.selectedItemChange = selectedItemChange;
            self.searchTextChange   = searchTextChange;
            self.newState = newState;
            
            function newState(state) {
               alert("This functionality is yet to be implemented!");
            }
            
            function querySearch (query) {
               var results = query ? self.states.filter( createFilterFor(query) ) :
                  self.states, deferred;
                  
               if (self.simulateQuery) {
                  deferred = $q.defer();
                     
                  $timeout(function () { 
                     deferred.resolve( results ); 
                  }, 
                  Math.random() * 1000, false);
                  return deferred.promise;
               } else {
                  return results;
               }
            }
            
            function searchTextChange(text) {
               $log.info('Text changed to ' + text);
            }
            
            function selectedItemChange(item) {
               $log.info('Item changed to ' + JSON.stringify(item));
            }
            
            //build list of states as map of key-value pairs
            function loadStates() {
               var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\
                  Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\
                  Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\
                  Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\
                  North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\
                  South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\
                  Wisconsin, Wyoming';
                  
               return allStates.split(/, +/g).map( function (state) {
                  return {
                     value: state.toLowerCase(),
                     display: state
                  };
               });
            }
            
            //filter function for search query
            function createFilterFor(query) {
               var lowercaseQuery = angular.lowercase(query);
               return function filterFn(state) {
                  return (state.value.indexOf(lowercaseQuery) === 0);
               };
            }
         }  
      </script>      
   </head>
   
   <body ng-app = "firstApplication" ng-cloak>
      <div ng-controller = "autoCompleteController as ctrl" layout = "column" ng-cloak>
         <md-content class = "md-padding">
            <form ng-submit = "$event.preventDefault()">
               <p><code>md-autocomplete</code> can be used to provide search results from
               local or remote data sources.</p>
               
               <md-autocomplete
                  ng-disabled = "ctrl.isDisabled"
                  md-no-cache = "ctrl.noCache"
                  md-selected-item = "ctrl.selectedItem"
                  md-search-text-change = "ctrl.searchTextChange(ctrl.searchText)"
                  md-search-text = "ctrl.searchText"
                  md-selected-item-change = "ctrl.selectedItemChange(item)"
                  md-items = "item in ctrl.querySearch(ctrl.searchText)"
                  md-item-text = "item.display"
                  md-min-length = "0"
                  placeholder = "US State?">
                  
                  <md-item-template>
                     <span md-highlight-text = "ctrl.searchText"
                        md-highlight-flags = "^i">{{item.display}}</span>
                  </md-item-template>
                  
                  <md-not-found>
                     No states matching "{{ctrl.searchText}}" were found.
                     <a ng-click = "ctrl.newState(ctrl.searchText)">Create a new one!</a>
                  </md-not-found>
               </md-autocomplete>
               <br/>
               
               <md-checkbox ng-model = "ctrl.simulateQuery">Show progress for results?
                  </md-checkbox>
               <md-checkbox ng-model = "ctrl.noCache">Disable caching?</md-checkbox>
               <md-checkbox ng-model = "ctrl.isDisabled">Disable?</md-checkbox>
               <p><code>md-autocomplete</code> caches results when performing a query.
               After first call, it uses the cached results to eliminate unnecessary
               server requests or lookup logic and it can be disabled.</p>
            </form>
         </md-content>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das $mdBottomSheet, ein Angular Service, wird zum Öffnen eines unteren Blattes über der Anwendung verwendet und bietet eine einfache Versprechen-API.

SN Methode & Beschreibung
1

$mdBottomSheet.show(options);

Zeigen Sie ein unteres Blatt mit den angegebenen Optionen an.

SN Parameter & Beschreibung
1

* options

Ein Optionsobjekt mit den folgenden Eigenschaften:

  • templateUrl - {string=}- Die URL einer HTML-Vorlagendatei, die als Inhalt des unteren Blattes verwendet wird. Einschränkungen: Die Vorlage muss ein äußeres md-bottom-sheet-Element haben.

  • template - {string=} - Wie templateUrl, außer dass dies eine tatsächliche Vorlagenzeichenfolge ist.

  • scope - {object=}- Der Bereich, mit dem die Vorlage / der Controller verknüpft werden soll. Wenn keine angegeben ist, wird ein neuer untergeordneter Bereich erstellt. Dieser Bereich wird zerstört, wenn das untere Blatt entfernt wird, es sei denn ,erveScope ist auf true gesetzt.

  • preserveScope - {boolean=}- Es wird festgelegt, ob der Bereich beibehalten werden soll, wenn das Element entfernt wird. Standardmäßig ist es falsch.

  • controller - {string=} - Der Controller, der diesem unteren Blatt zugeordnet werden soll.

  • locals - {string=}- Ein Objekt, das Schlüssel / Wert-Paare enthält. Die Tasten werden als Namen von Werten verwendet, die in die Steuerung eingefügt werden sollen. Zum Beispiel,locals: {three: 3} injiziert drei mit dem Wert 3 in den Controller.

  • clickOutsideToClose - {boolean=}- Es bestimmt, ob der Benutzer außerhalb des unteren Blattes klicken kann, um es zu schließen. Standardmäßig ist es wahr.

  • EscapeToClose - {boolean =}: Legt fest, ob der Benutzer die Esc-Taste drücken kann, um das untere Blatt zu schließen. Standardmäßig ist es wahr.

  • resolve - {object=} - Ähnlich wie bei Einheimischen, außer dass Versprechen als Werte verwendet werden und das untere Blatt erst geöffnet wird, wenn die Versprechen gelöst sind.

  • controllerAs - {string =}: Ein Alias, dem der Controller im Bereich zugewiesen werden soll.

  • parent - {element=}- Das Element, an das das untere Blatt angehängt werden soll. Das übergeordnete Element kann eine Funktion, eine Zeichenfolge, ein Objekt oder eine Null sein. Standardmäßig wird an den Hauptteil des Stammelements (oder des Stammelements) der Anwendung angehängt. zB angle.element (document.getElementById ('content')) oder "#content".

  • disableParentScroll - {boolean=}- Gibt an, ob das Scrollen deaktiviert werden soll, während das untere Blatt geöffnet ist. Standard wahr.

Sr.Nr. Rückgabe & Beschreibung
1

promise

Ein Versprechen, das mit $ mdBottomSheet.hide () gelöst oder mit $ mdBottomSheet.cancel () abgelehnt werden kann.

Beispiel

Das folgende Beispiel zeigt die Verwendung von $mdBottomSheet Service und auch die Verwendung von Bodenplatte.

am_bottomsheet.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>
	  
     <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('bottomSheetController', bottomSheetController);

         function bottomSheetController ($scope, $mdBottomSheet) {
            $scope.openBottomSheet = function() {
               $mdBottomSheet.show ({
                  template: '<md-bottom-sheet>Learn <b>Angular Material</b> @ TutorialsPoint.com!</md-bottom-sheet>'
               });
            };
         }  
      </script>      
   </head>
   
   <body ng-app = "firstApplication">
      <div ng-controller = "bottomSheetController as ctrl" layout = "column">
         <md-content class = "md-padding">
            <form ng-submit = "$event.preventDefault()">
               <md-button class = "md-raised md-primary" ng-click = "openBottomSheet()">
                  Open Bottom Sheet!
               </md-button>
            </form>
         </md-content>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-card, eine Angular-Direktive, ist eine Container-Direktive und wird zum Zeichnen von Karten in der Angularjs-Anwendung verwendet. In der folgenden Tabelle sind die in md-card verwendeten Winkelanweisungen und Klassen aufgeführt.

Sr.Nr. Richtlinie / Klasse & Beschreibung
1

<md-card-header>

Kopfzeile für die Karte, enthält Avatar, Text und quadratisches Bild.

2

<md-card-avatar>

Karten-Avatar.

3

md-user-avatar

Klasse für Benutzerbild.

4

<md-icon>

Icon-Direktive.

5

<md-card-header-text>

Enthält Elemente für die Kartenbeschreibung.

6

md-title

Klasse für den Kartentitel.

7

md-subhead

Klasse für den Kartenunterkopf.

8

<img>

Bild für die Karte.

9

<md-card-title>

Titel des Karteninhalts.

10

<md-card-title-text>

Kartentitel-Textcontainer.

11

md-headline

Klasse für den Titel des Karteninhalts.

12

md-subhead

Klasse für den Unterkopf des Karteninhalts.

13

<md-card-title-media>

Quadratisches Bild innerhalb des Titels.

14

md-media-sm

Klasse für kleines Bild.

15

md-media-md

Klasse für mittleres Bild.

16

md-media-lg

Klasse für großes Bild.

17

<md-card-content>

Karteninhalt.

18

md-media-xl

Klasse für extra großes Bild.

19

<md-card-actions>

Kartenaktionen.

20

<md-card-icon-actions>

Symbolaktionen.

Beispiel

Das folgende Beispiel zeigt die Verwendung der md-card-Direktive sowie die Verwendung von Kartenklassen.

am_cards.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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('cardController', cardController);

         function cardController ($scope) {            
         }  
      </script>      
   </head>
   
   <body ng-app = "firstApplication">  
      <md-card>
         <img ng-src = "/html5/images/html5-mini-logo.jpg" class = "md-card-image" alt = "Learn HTML5">
         <md-card-header>
            <md-card-avatar>
               <img class = "md-user-avatar" src = "/html5/images/html5-mini-logo.jpg">
            </md-card-avatar>
            
            <md-card-header-text>
               <span class = "md-title">HTML5</span>
               <span class = "md-subhead">Learn HTML5 @TutorialsPoint.com</span>
            </md-card-header-text>
         </md-card-header>
         
         <md-card-title>
            <md-card-title-text>
               <span class = "md-headline">HTML5</span>
            </md-card-title-text>
         </md-card-title>
         
         <md-card-actions layout = "row" layout-align = "start center">
            <md-button>Download</md-button>
            <md-button>Start</md-button>
            <md-card-icon-actions>
               <md-button class = "md-icon-button" aria-label = "icon">
                  <md-icon class = "material-icons">add</md-icon>
               </md-button>
            </md-card-icon-actions>
         </md-card-actions>
         
         <md-card-content>
            <p>HTML5 is the next major revision of the HTML standard superseding HTML 4.01,
            XHTML 1.0, and XHTML 1.1. HTML5 is a standard for structuring and presenting 
            content on the World Wide Web.</p>
            
            <p>HTML5 is a cooperation between the World Wide Web Consortium (W3C) and the
            Web Hypertext Application Technology Working Group (WHATWG).</p>
            
            </p>The new standard incorporates features like video playback and 
            drag-and-drop that have been previously dependent on third-party browser
            plug-ins such as Adobe Flash, Microsoft Silverlight, and Google Gears.</p>
         </md-card-content>
      </md-card>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Angular Material bietet eine umfangreiche Bibliothek mit UI-Widgets. Auf diese Weise können Benutzer erweiterte Interaktionsfunktionen mit der Anwendung nutzen.

In der folgenden Tabelle sind einige wichtige Widgets mit ihrer Beschreibung aufgeführt.

Sr.Nr. Widget & Beschreibung
1 Tasten

Das md-button, eine Winkelanweisung, ist eine Schaltflächenanweisung mit optionalen Tintenwellen (und ist standardmäßig aktiviert). Wennhref oder ng-href Wenn ein Attribut bereitgestellt wird, fungiert diese Anweisung als Ankerelement.

2 Kontrollkästchen

Das md-checkbox, eine Winkelrichtlinie, wird als Kontrollkästchen verwendet.

3 Inhalt

Das md-content, eine Winkelrichtlinie, ist ein Containerelement und wird für scrollbaren Inhalt verwendet. Daslayout-padding Attribut kann hinzugefügt werden, um aufgefüllten Inhalt zu haben.

4 Datumsauswahl

Das md-datepicker, eine Winkelrichtlinie, ist eine Eingabesteuerung zur Auswahl eines Datums. Es unterstützt auch ngMessages für die Eingabevalidierung.

5 Dialoge

Das md-dialog, eine Winkelrichtlinie, ist ein Containerelement und wird zum Anzeigen eines Dialogfelds verwendet. Sein Elementmd-dialog-content enthält den Inhalt des Dialogs und der md-dialog-actions ist verantwortlich für Dialogaktionen.

Das mdDialog, ein Angular Service, öffnet einen Dialog über die Anwendung, um die Benutzer auf dem Laufenden zu halten und ihnen zu helfen, Entscheidungen zu treffen.

6 Teiler

Das md-divider, eine Winkelrichtlinie, ist ein Regelelement und wird verwendet, um eine dünne, einfache Regel anzuzeigen, mit der Inhalte in Listen und Seitenlayouts gruppiert und aufgeteilt werden können.

7 Liste

Das md-list, eine Angular-Direktive, ist eine Containerkomponente, die Folgendes enthält md-list-itemElemente als Kinder. Die Direktive md-list-item ist eine Containerkomponente für Zeilenelemente des Containers md-list. CSS-Klassenmd-2-line und md-3-line kann zu md-list-item hinzugefügt werden, um die Zeilenhöhe um 22px bzw. 40px zu erhöhen.

8 Speisekarte

Das md-menu, eine Angular-Direktive, ist eine Komponente zum Anzeigen von Zusatzoptionen im Kontext der ausgeführten Aktion. Dasmd-menuhat zwei untergeordnete Elemente. Das erste Element ist dastrigger elementund wird verwendet, um das Menü zu öffnen. Das zweite Element ist dasmd-menu-contentum den Inhalt des Menüs darzustellen, wenn das Menü geöffnet wird. Der md-Menüinhalt trägt normalerweise die Menüpunkte als md-Menüpunkt.

9 Menüleiste

Das md-menu-barist eine Containerkomponente für mehrere Menüs. Die Menüleiste hilft beim Erstellen eines vom Betriebssystem bereitgestellten Menüeffekts.

10 Fortschrittsbalken

Das md-progress-circular und md-progress-linear sind Angular Progress-Anweisungen und werden verwendet, um die Nachricht zum Laden von Inhalten in der Anwendung anzuzeigen.

11 Radio Knöpfe

Das md-radio-group und md-radio-buttonWinkelanweisungen werden verwendet, um Optionsfelder in der Anwendung anzuzeigen. Die md-Optionsgruppe ist der Gruppierungscontainer für md-Optionsfeldelemente.

12 Wählt aus

Das md-selectwird eine Angular-Direktive verwendet, um das Auswahlfeld anzuzeigen, das durch das ng-Modell begrenzt ist.

13 Fab Symbolleisten

Das md-fab-toolbar, eine Angular-Direktive, wird verwendet, um eine Symbolleiste mit Elementen oder Schaltflächen für den schnellen Zugriff auf allgemeine Aktionen anzuzeigen.

14 Schieberegler

Das md-sliderwird eine Angular-Direktive verwendet, um eine Bereichskomponente anzuzeigen. Es hat zwei Modi -

  • normal- Der Benutzer kann zwischen verschiedenen Wertebereichen wechseln. Standard.

  • discrete- Der Benutzer kann zwischen ausgewählten Werten wechseln. Um den diskreten Modus zu aktivieren, verwenden Sie die Attribute md-discrete und step.

15 Tabs

Das md-tabs und md-tabWinkelanweisungen werden verwendet, um Registerkarten in der Anwendung anzuzeigen. md-tabs ist der Gruppierungscontainer für md-tab-Elemente.

16 Symbolleisten

Das md-toolbarEine Angular-Direktive wird verwendet, um eine Symbolleiste anzuzeigen, die normalerweise ein Bereich über dem Inhalt ist, um den Titel und die entsprechenden Schaltflächen anzuzeigen.

17 Tooltips

Das Angular Material bietet verschiedene spezielle Methoden, um den Benutzern unauffällige QuickInfos anzuzeigen. Angular Material bietet Möglichkeiten, ihnen Anweisungen zuzuweisen, und die Anweisung md-tooltip wird zum Anzeigen von QuickInfos verwendet. Ein Tooltip wird immer dann aktiviert, wenn der Benutzer die übergeordnete Komponente fokussiert, mit der Maus darüber fährt oder sie berührt.

18 Chips

Das md-chipsEine Winkelrichtlinie wird als spezielle Komponente verwendet, die als Chip bezeichnet wird. Sie kann verwendet werden, um kleine Informationen darzustellen, z. B. einen Kontakt, Tags usw. Benutzerdefinierte Vorlagen können zum Rendern des Inhalts eines Chips verwendet werden. Dies kann erreicht werden, indem ein MD-Chip-Template-Element mit dem benutzerdefinierten Inhalt als untergeordnetes Element von MD-Chips angegeben wird.

19 Kontaktchips

Das md-contact-chips, eine Winkelrichtlinie, ist eine Eingabesteuerung, die auf md-Chips basiert und die verwendet md-autocompleteElement. Die Kontaktchipkomponente akzeptiert einen Abfrageausdruck, der eine Liste möglicher Kontakte zurückgibt. Ein Benutzer kann einen davon auswählen und zur Liste der verfügbaren Chips hinzufügen.

Layout-Richtlinie

Die Layoutanweisung für ein Containerelement wird verwendet, um die Layoutrichtung für seine untergeordneten Elemente anzugeben. Es folgen die zuweisbaren Werte für die Layoutrichtlinie -

  • row - Artikel werden horizontal mit maximaler Höhe = 100% angeordnet und maximale Breite ist die Breite der Artikel im Container.

  • column - Artikel werden vertikal mit maximaler Breite = 100% angeordnet und maximale Höhe ist die Höhe der Artikel im Container.

Für ein ansprechendes Design wie das Layout, das abhängig von der Bildschirmgröße des Geräts automatisch geändert wird, können die in der folgenden Tabelle aufgeführten Layout-APIs verwendet werden, um die Layoutrichtung für Geräte mit Ansichtsbreiten festzulegen.

Sr.Nr. API- und Gerätebreite, wenn der Haltepunkt die Standardeinstellung überschreibt
1

layout

Legt die Standardlayoutrichtung fest, sofern sie nicht von einem anderen Haltepunkt überschrieben wird.

2

layout-xs

Breite <600px

3

layout-gt-xs

Breite> = 600px

4

layout-sm

600px <= Breite <960px

5

layout-gt-sm

Breite> = 960px

6

layout-md

960px <= width <1280px

7

layout-gt-md

Breite> = 1280px

8

layout-lg

1280px <= width <1920px

9

layout-gt-lg

Breite> = 1920px

10

layout-xl

Breite> = 1920px

Beispiel

Das folgende Beispiel zeigt die Verwendung der Layout-Direktive sowie die Verwendung des Layouts.

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>

Ergebnis

Überprüfen Sie das Ergebnis.

Flex-Richtlinie

Die Flex-Direktive für ein Containerelement wird verwendet, um die Größe und Position der Elemente anzupassen. Es definiert, wie das Element seine Größe in Bezug auf seinen übergeordneten Container und die anderen Elemente im Container anpassen soll. Es folgen die zuweisbaren Werte für die Flex-Direktive -

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

  • 33 - 33%

  • 66 - 66%

Beispiel

Das folgende Beispiel zeigt die Verwendung der Flex-Direktive sowie die Verwendung von 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>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-input-container, eine Angular-Direktive, ist eine Containerkomponente, die eine beliebige enthält <input> oder <textarea>Element als Kind. Es unterstützt auch die Fehlerbehandlung mithilfe der Standardanweisungen ng-messages und animiert die Nachrichten mithilfe der Ereignisse ngEnter / ngLeave oder ngShow / ngHide.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute des aufgeführt md-input-container.

Sr.Nr. Parameter & Beschreibung
1

md-maxlength

Die maximal zulässige Anzahl von Zeichen in dieser Eingabe. Wenn dies angegeben ist, wird unter der Eingabe ein Zeichenzähler angezeigt. Der Zweck der md-maxlength besteht darin, den Zählertext für die maximale Länge anzuzeigen. Wenn Sie den Zählertext nicht möchten und nur eine "einfache" Validierung benötigen, können Sie die Attribute "einfache" ng-maxlength oder maxlength verwenden.

2

aria-label

Ein Arienetikett ist erforderlich, wenn kein Etikett vorhanden ist. Eine Warnmeldung wird in der Konsole protokolliert, wenn kein Etikett vorhanden ist.

3

placeholder

Ein alternativer Ansatz zur Verwendung von Aria-Label, wenn das Label nicht vorhanden ist. Der Platzhaltertext wird in das Attribut aria-label kopiert.

4

md-no-autogrow

Wenn vorhanden, wachsen die Textbereiche nicht automatisch.

5

md-detect-hidden

Wenn vorhanden, werden die Textbereiche richtig dimensioniert, wenn sie nach dem Ausblenden aufgedeckt werden. Dies ist aus Leistungsgründen standardmäßig deaktiviert, da bei jedem Digest-Zyklus ein Reflow garantiert wird.

Beispiel

Das folgende Beispiel zeigt die Verwendung der Direktive md-input-container sowie die Verwendung von Eingaben.

am_inputs.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>
        
      </style>
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('inputController', inputController);

         function inputController ($scope) {
            $scope.project = {
               comments: 'Comments',    
            };
         }                 
      </script>     	  
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "inputContainer" class = "inputDemo"
         ng-controller = "inputController as ctrl" ng-cloak>
         <md-content layout-padding>
            <form name = "projectForm">
               
               <md-input-container class = "md-block">
                  <label>User Name</label>
                  <input required name = "userName" ng-model = "project.userName">
                  <div ng-messages = "projectForm.userName.$error">
                     <div ng-message = "required">This is required.</div>
                  </div>
               </md-input-container>
               
               <md-input-container class = "md-block">
                  <label>Email</label>
                  <input required type = "email" name = "userEmail"
                     ng-model = "project.userEmail"
                     minlength = "10" maxlength = "100" ng-pattern = "/^.+@.+\..+$/" />
                  <div ng-messages = "projectForm.userEmail.$error" role = "alert">
                     <div ng-message-exp = "['required', 'minlength', 'maxlength',
                        'pattern']">
                        Your email must be between 10 and 100 characters long and should
                        be a valid email address.
                     </div>
                  </div>
               </md-input-container>
               
               <md-input-container class = "md-block">
                  <label>Comments</label>
                  <input md-maxlength = "300" required name = "comments"
                     ng-model = "project.comments">
                  <div ng-messages = "projectForm.comments.$error">
                     <div ng-message = "required">This is required.</div>
                     <div ng-message = "md-maxlength">The comments has to be less
                        than 300 characters long.</div>
                  </div>
               </md-input-container>
               
            </form>
         </md-content>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-icon, eine Angular-Direktive, ist eine Komponente zum Anzeigen vektorbasierter Symbole in der Anwendung. Neben der Verwendung der Google Material Icons werden auch Symbolschriftarten und SVG-Symbole unterstützt.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-icon.

Sr.Nr. Parameter & Beschreibung
1

* md-font-icon

Dies ist der Zeichenfolgenname des CSS-Symbols, das der Schriftart zugeordnet ist und zum Rendern des Symbols verwendet wird. Erfordert das Vorladen der Schriftarten und der genannten CSS-Stile.

2

* md-font-set

Dies ist der CSS-Stilname, der der Schriftartenbibliothek zugeordnet ist und als Klasse für die Schriftart-Symbol-Ligatur zugewiesen wird. Dieser Wert kann auch ein Alias ​​sein, der zum Nachschlagen des Klassennamens verwendet wird. Verwenden Sie intern $ mdIconProvider.fontSet (<Alias>), um den Stilnamen zu bestimmen.

3

* md-svg-src

Dies ist die String-URL (oder der Ausdruck), die zum Laden, Zwischenspeichern und Anzeigen einer externen SVG-Datei verwendet wird.

4

* md-svg-icon

Dies ist der Zeichenfolgenname, der zum Nachschlagen des Symbols aus dem internen Cache verwendet wird. Es können auch interpolierte Zeichenfolgen oder Ausdrücke verwendet werden. Bestimmte Satznamen können mit der Syntax <Satzname>: <Symbolname> verwendet werden. Um Symbolsätze verwenden zu können, müssen Entwickler die Sätze mithilfe des Dienstes $ mdIconProvider vorregistrieren.

5

aria-label

Dieses Beschriftungssymbol dient der Barrierefreiheit. Wenn eine leere Zeichenfolge angegeben wird, wird das Symbol mit aria-hidden = "true" vor der Eingabehilfenebene ausgeblendet. Wenn das Symbol weder eine Arienbeschriftung noch eine Beschriftung des übergeordneten Elements enthält, wird eine Warnung an der Konsole protokolliert.

6

alt

Dieses Beschriftungssymbol dient der Barrierefreiheit. Wenn eine leere Zeichenfolge angegeben wird, wird das Symbol mit aria-hidden = "true" vor der Eingabehilfenebene ausgeblendet. Wenn das Symbol weder eine Alt noch eine Beschriftung des übergeordneten Elements enthält, wird eine Warnung an der Konsole protokolliert.

Beispiel

Das folgende Beispiel zeigt die Verwendung der Direktive md-icons sowie die Verwendung von Symbolen.

am_icons.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>
         .iconDemo .glyph {
            border-bottom: 1px dotted #ccc;
            padding: 10px 0 20px;
            margin-bottom: 20px; 
         }
         
         .iconDemo .preview-glyphs {
            display: flex;
            flex-direction: row; 
         }
         
         .iconDemo .step {
            flex-grow: 1;
            line-height: 0.5; 
         }
         
         .iconDemo .material-icons.md-18 {
            font-size: 18px; 
         }
         
         .iconDemo .material-icons.md-24 {
            font-size: 24px; 
         }
         
         .iconDemo .material-icons.md-36 {
            font-size: 36px; 
         }
         
         .iconDemo .material-icons.md-48 {
            font-size: 48px; 
         }
         
         .iconDemo .material-icons.md-dark {
            color: rgba(0, 0, 0, 0.54); 
         }
         
         .iconDemo .material-icons.md-dark.md-inactive {
            color: rgba(0, 0, 0, 0.26); 
         }
         
         .iconDemo .material-icons.md-light {
            color: white; 
         }
         
         .iconDemo .material-icons.md-light.md-inactive {
            color: rgba(255, 255, 255, 0.3); 
         }
      </style>
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('iconController', iconController);

         function iconController ($scope) {
            var iconData = [
               {name: 'accessibility'  , color: "#777" },
               {name: 'question_answer', color: "rgb(89, 226, 168)" },
               {name: 'backup'         , color: "#A00" },
               {name: 'email'          , color: "#00A" }
            ];
            
            $scope.fonts = [].concat(iconData);            
            $scope.sizes = [
               {size:"md-18",padding:0},
               {size:"md-24",padding:2},
               {size:"md-36",padding:6},
               {size:"md-48",padding:10}
            ];
         }                 
      </script>     	  
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "iconContainer" class = "iconDemo"
         ng-controller = "iconController as ctrl" ng-cloak>
         <div class = "glyph" ng-repeat = "font in fonts" layout = "row">
            <div ng-repeat = "it in sizes" flex layout-align = "center center"
               style = "text-align: center;" layout = "column">
            <div flex></div>
               <div class = "preview-glyphs">
                  <md-icon ng-style = "{color: font.color}"
                     aria-label = "{{ font.name }}"
                     class = "material-icons step"
                     ng-class = "it.size">
                     {{ font.name }}
                  </md-icon>
               </div>
            </div>
         </div>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-grid-list, eine Angular-Direktive, ist eine Komponente zum Anlegen von Inhalten für unterschiedliche Bildschirmgrößen. Ein Raster enthält 12 Spalten im Bildschirm für die Desktopgröße, 8 im Bildschirm für die Tablet-Größe und 4 Spalten im Bildschirm für die Telefongröße, wobei jede Größe vordefinierte Ränder und Rinnen aufweist. Die Zellen werden nacheinander in der Reihenfolge angeordnet, in der sie definiert sind.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-grid-list.

Sr.Nr. Parameter & Beschreibung
1

* md-cols

Dies ist für die Anzahl der Spalten im Raster.

2

* md-row-height

Einer von

  • CSS length - Reihen mit fester Höhe (z. B. 8px oder 1rem).

  • {width}:{height} - Verhältnis von Breite zu Höhe (z. B. md-row-height = "16: 9").

  • "fit" - Die Höhe wird bestimmt, indem die verfügbare Höhe durch die Anzahl der Zeilen unterteilt wird.

3

md-gutter

Der Abstand zwischen Kacheln in CSS-Einheiten (Standard 1 Pixel).

4

md-on-layout

Ausdruck, der nach dem Layout ausgewertet werden soll. Das Ereignisobjekt ist als $ event verfügbar und enthält Leistungsinformationen.

Beispiel

Das folgende Beispiel zeigt die Verwendung von md-grid-list Richtlinie und auch die Verwendung von Gitter.

am_grid.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">
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('gridController', gridController);

         function gridController ($scope) {
            var COLORS = [
               '#ffebee', '#ffcdd2', '#ef9a9a', '#e57373', '#ef5350', '#f44336',
               '#e53935', '#d32f2f', '#c62828', '#b71c1c', '#ff8a80', '#ff5252',
               '#ff1744', '#d50000', '#f8bbd0', '#f48fb1', '#f06292', '#ec407a',
               '#e91e63', '#d81b60', '#c2185b', '#ad1457', '#880e4f', '#ff80ab',
               '#ff4081', '#f50057', '#c51162', '#e1bee7', '#ce93d8', '#ba68c8',
               '#ab47bc', '#9c27b0', '#8e24aa', '#7b1fa2', '#4a148c', '#ea80fc',
               '#e040fb', '#d500f9', '#aa00ff', '#ede7f6', '#d1c4e9', '#b39ddb',
               '#9575cd', '#7e57c2', '#673ab7', '#5e35b1', '#4527a0', '#311b92',
               '#b388ff', '#7c4dff', '#651fff', '#6200ea', '#c5cae9', '#9fa8da',
               '#7986cb', '#5c6bc0', '#3f51b5', '#3949ab', '#303f9f', '#283593',
               '#1a237e', '#8c9eff', '#536dfe', '#3d5afe', '#304ffe', '#e3f2fd',
               '#bbdefb', '#90caf9', '#64b5f6', '#42a5f5', '#2196f3', '#1e88e5',
               '#1976d2', '#1565c0', '#0d47a1', '#82b1ff', '#448aff', '#2979ff',
               '#2962ff', '#b3e5fc', '#81d4fa', '#4fc3f7', '#29b6f6', '#03a9f4',
               '#039be5', '#0288d1', '#0277bd', '#01579b', '#80d8ff', '#40c4ff',
               '#00b0ff', '#0091ea', '#e0f7fa', '#b2ebf2', '#80deea', '#4dd0e1',
               '#26c6da', '#00bcd4', '#00acc1', '#0097a7', '#00838f', '#006064',
               '#84ffff', '#18ffff', '#00e5ff', '#00b8d4', '#e0f2f1', '#b2dfdb',
               '#80cbc4', '#4db6ac', '#26a69a', '#009688', '#00897b', '#00796b',
               '#00695c', '#a7ffeb', '#64ffda', '#1de9b6', '#00bfa5', '#e8f5e9',
               '#c8e6c9', '#a5d6a7', '#81c784', '#66bb6a', '#4caf50', '#43a047',
               '#388e3c', '#2e7d32', '#1b5e20', '#b9f6ca', '#69f0ae', '#00e676',
               '#00c853', '#f1f8e9', '#dcedc8', '#c5e1a5', '#aed581', '#9ccc65',
               '#8bc34a', '#7cb342', '#689f38', '#558b2f', '#33691e', '#ccff90',
               '#b2ff59', '#76ff03', '#64dd17', '#f9fbe7', '#f0f4c3', '#e6ee9c',
               '#dce775', '#d4e157', '#cddc39', '#c0ca33', '#afb42b', '#9e9d24',
               '#827717', '#f4ff81', '#eeff41', '#c6ff00', '#aeea00', '#fffde7',
               '#fff9c4', '#fff59d', '#fff176', '#ffee58', '#ffeb3b', '#fdd835',
               '#fbc02d', '#f9a825', '#f57f17', '#ffff8d', '#ffff00', '#ffea00',
               '#ffd600', '#fff8e1', '#ffecb3', '#ffe082', '#ffd54f', '#ffca28',
               '#ffc107', '#ffb300', '#ffa000', '#ff8f00', '#ff6f00', '#ffe57f',
               '#ffd740', '#ffc400', '#ffab00', '#fff3e0', '#ffe0b2', '#ffcc80',
               '#ffb74d', '#ffa726', '#ff9800', '#fb8c00', '#f57c00', '#ef6c00',
               '#e65100', '#ffd180', '#ffab40', '#ff9100', '#ff6d00', '#fbe9e7',
               '#ffccbc', '#ffab91', '#ff8a65', '#ff7043', '#ff5722', '#f4511e',
               '#e64a19', '#d84315', '#bf360c', '#ff9e80', '#ff6e40', '#ff3d00',
               '#dd2c00', '#d7ccc8', '#bcaaa4', '#795548', '#d7ccc8', '#bcaaa4',
               '#8d6e63', '#eceff1', '#cfd8dc', '#b0bec5', '#90a4ae', '#78909c',
               '#607d8b', '#546e7a', '#cfd8dc', '#b0bec5', '#78909c'
            ];
            
            this.colorTiles = (function() {
               var tiles = [];
               for (var i = 0; i < 46; i++) {
                  tiles.push ({
                     color: randomColor(),
                     colspan: randomSpan(),
                     rowspan: randomSpan()
                  });
               }
               return tiles;
            })();
            
            function randomColor() {
               return COLORS[Math.floor(Math.random() * COLORS.length)];
            }
            
            function randomSpan() {
               var r = Math.random();
               if (r < 0.8) {
                  return 1;
               } else if (r < 0.9) {
                  return 2;
               } else {
                  return 3;
               }
            }      
         }                 
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "gridContainer" ng-controller = "gridController as ctrl" ng-cloak>
         <md-content layout-padding>
            <md-grid-list
               md-cols-gt-md = "12" md-cols-sm = "3" md-cols-md = "8"
               md-row-height-gt-md = "1:1" md-row-height = "4:3"
               md-gutter-gt-md = "16px" md-gutter-gt-sm = "8px" md-gutter = "4px">
               
               <md-grid-tile
                  ng-repeat = "tile in ctrl.colorTiles"
                  ng-style = "{
                     'background': tile.color
                  }"
                  md-colspan-gt-sm = "{{tile.colspan}}"
                  md-rowspan-gt-sm = "{{tile.rowspan}}">
               </md-grid-tile>
               
            </md-grid-list>
         </md-content>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Ändern Sie die Größe des Bildschirms, um den Effekt zu sehen.

Das md-sidenavEine Angular-Direktive wird verwendet, um eine Containerkomponente anzuzeigen, die programmgesteuert angezeigt oder ausgeblendet werden kann. Es wird standardmäßig über den Hauptinhaltsbereich verschoben.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-sidenav

Sr.Nr. Parameter & Beschreibung
1

md-is-open

Ein Modell, das daran gebunden ist, ob das Sidav geöffnet ist.

2

md-component-id

componentId zur Verwendung mit dem Dienst $ mdSidenav.

3

md-is-locked-open

Wenn dieser Ausdruck zu true ausgewertet wird, wird das Sidenav "geöffnet": Es fällt in den Fluss des Inhalts, anstatt darüber zu erscheinen. Dies überschreibt das Attribut is-open. Der Dienst $ mdMedia () ist dem Attribut is -locked-open ausgesetzt, dem eine Medienabfrage oder eine der Voreinstellungen sm, gt-sm, md, gt-md, lg oder gt-lg zugewiesen werden kann.

Examples - -

<md-sidenav md-is-locked-open = "shouldLockOpen"></md-sidenav>
<md-sidenav md-is-locked-open = "$mdMedia('min-width: 1000px')"></mdsidenav>
<md-sidenav md-is-locked-open = "$mdMedia('sm')"></md-sidenav> <!--(locks open on small screens)-->

Beispiel

Das folgende Beispiel zeigt die Verwendung von md-sidenav und auch die Verwendung der sidenav Komponente.

am_sidenav.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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('sideNavController', sideNavController);

         function sideNavController ($scope, $mdSidenav) {
            $scope.openLeftMenu = function() {
               $mdSidenav('left').toggle();
            };
             
            $scope.openRightMenu = function() {
               $mdSidenav('right').toggle();
            };
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "sideNavContainer" ng-controller = "sideNavController as ctrl"
         layout = "row" ng-cloak>
         <md-sidenav md-component-id = "left" class = "md-sidenav-left">
            Welcome to TutorialsPoint.Com</md-sidenav>
         
         <md-content>           
            <md-button ng-click = "openLeftMenu()">Open Left Menu</md-button>
            <md-button ng-click = "openRightMenu()">Open Right Menu</md-button>
         </md-content>
         
         <md-sidenav md-component-id = "right" class = "md-sidenav-right">
            <md-button href = "http://google.com">Google</md-button>
         </md-sidenav>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-fab-speed-dial, eine Angular-Direktive, wird verwendet, um eine Reihe von Popup-Elementen oder Schaltflächen für den schnellen Zugriff auf allgemeine Aktionen anzuzeigen.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-fab-speed-dial.

Sr.Nr. Parameter & Beschreibung
1

* md-direction

Dies bestimmt die Richtung, in der die Kurzwahl relativ zum Triggerelement erscheinen soll.

2

md-open

Auf diese Weise können Sie programmgesteuert steuern, ob die Kurzwahl sichtbar ist oder nicht.

Beispiel

Das folgende Beispiel zeigt die Verwendung der Direktive md-fab-speed-dial sowie die Verwendung der Kurzwahl.

am_speeddial.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>
         .fabSpeedDial .text-capitalize {
            text-transform: capitalize; 
         }
         
         .fabSpeedDial .md-fab:hover, .fabSpeedDialdemoBasicUsage .md-fab.md-focused {
            background-color: #000 !important; 
         }
         
         .fabSpeedDial p.note {
            font-size: 1.2rem; 
         }
         
         .fabSpeedDial .lock-size {
            min-width: 300px;
            min-height: 300px;
            width: 300px;
            height: 300px;
            margin-left: auto;
            margin-right: auto; 
         } 
      </style>

      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('speedDialController', speedDialController);

         function speedDialController ($scope) {
            this.topDirections = ['left', 'up'];
            this.bottomDirections = ['down', 'right'];
            this.isOpen = false;
            this.availableModes = ['md-fling', 'md-scale'];
            this.selectedMode = 'md-fling';
            this.availableDirections = ['up', 'down', 'left', 'right'];
            this.selectedDirection = 'up';
         }                 
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div class = "fabSpeedDial" id = "speedDialContainer"
         ng-controller = "speedDialController as ctrl" layout = "row" ng-cloak>
         <md-content>
            <div class = "lock-size" layout = "row" layout-align = "center center">
               <md-fab-speed-dial md-open = "ctrl.isOpen"
                  md-direction = "{{ctrl.selectedDirection}}"
                  ng-class = "ctrl.selectedMode">
                  
                  <md-fab-trigger>
                     <md-button aria-label = "menu" class = "md-fab md-warn">
                        <md-icon class = "material-icons">menu</md-icon>
                     </md-button>
                  </md-fab-trigger>
                  
                  <md-fab-actions>
                     <md-button aria-label = "Add" class = "md-fab md-raised md-mini
                        md-accent">
                        <md-icon class = "material-icons" aria-label = "Add">
                           add</md-icon>
                     </md-button>
                     
                     <md-button aria-label = "Insert Link" class = "md-fab md-raised
                        md-mini md-accent">
                        <md-icon class = "material-icons" aria-label = "Insert Link">
                           insert_link</md-icon>
                     </md-button>
                     
                     <md-button aria-label = "Edit" class = "md-fab md-raised md-mini
                           md-accent">
                        <md-icon class = "material-icons" aria-label = "Edit">
                           mode_edit</md-icon>
                     </md-button>
                  </md-fab-actions>
               </md-fab-speed-dial>
            </div>

            <div layout = "row" layout-align = "space-around">
               <div layout = "column" layout-align = "start center">
                  <b>Direction</b>
                  <md-radio-group ng-model = "ctrl.selectedDirection">
                     <md-radio-button ng-repeat = "direction in ctrl.availableDirections"
                        ng-value = "direction" class = "text-capitalize">
                        {{direction}}
                     </md-radio-button>
                  </md-radio-group>
               </div>
               
               <div layout = "column" layout-align = "start center">
                  <b>Open/Closed</b>
                  <md-checkbox ng-model = "ctrl.isOpen">
                     Open
                  </md-checkbox>
               </div>
               
               <div layout = "column" layout-align = "start center">
                  <b>Animation Modes</b>
                  <md-radio-group ng-model = "ctrl.selectedMode">
                     <md-radio-button ng-repeat = "mode in ctrl.availableModes"
                        ng-value = "mode">
                        {{mode}}
                     </md-radio-button>
                  </md-radio-group>
               </div>
               
            </div>
         </md-content>	 
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-subheader, eine Angular-Direktive, wird verwendet, um einen Subheader für einen Abschnitt anzuzeigen.

Beispiel

Das folgende Beispiel zeigt die Verwendung von md-subheader sowie die Verwendung von subheader-Komponenten.

am_subheaders.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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('subheaderController', subheaderController);

         function subheaderController ($scope) {
            $scope.fruitNames = ['Apple', 'Banana', 'Orange'];
            $scope.vegNames = ['Carrot', 'Potato', 'Cabbage'];
            $scope.eateries = ['Milk', 'Bread'];
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "subheaderContainer" ng-controller = "subheaderController as ctrl"
         layout = "column" flex layout-fill ng-cloak>
         <md-toolbar md-scroll-shrink>
            <div class = "md-toolbar-tools">Items</div>
         </md-toolbar>
         
         <md-content style = "height: 600px;">
            <section>
               <md-subheader class = "md-primary">Fruits</md-subheader>
               <md-list layout-padding>
                  <md-list-item ng-repeat = "fruits in fruitNames">
                     <div>
                        <p>{{fruits}}</p>
                     </div>
                  </md-list-item>
               </md-list>
            </section>
               
            <section>
               <md-subheader class = "md-warn">Vegetables</md-subheader>
               <md-list layout-padding>
                  <md-list-item ng-repeat = "veg in vegNames">
                     <div>
                        <p>{{veg}}</p>
                     </div>
                  </md-list-item>
               </md-list>
            </section>
               
            <section>
               <md-subheader>Eateries</md-subheader>
               <md-list layout-padding>
                  <md-list-item ng-repeat = "eatery in eateries">
                     <div>
                        <p>{{eatery}}</p>
                     </div>
                  </md-list-item>
               </md-list>
            </section>
         </md-content>
         
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Die Swipe-Funktion ist für mobile Geräte gedacht. Die folgenden Anweisungen werden zum Behandeln von Wischbewegungen verwendet.

  • md-swipe-downwird eine Angular-Direktive verwendet, um benutzerdefiniertes Verhalten anzugeben, wenn ein Element nach unten gewischt wird.

  • md-swipe-leftwird eine Angular-Direktive verwendet, um benutzerdefiniertes Verhalten anzugeben, wenn ein Element nach links gewischt wird.

  • md-swipe-rightwird eine Angular-Direktive verwendet, um benutzerdefiniertes Verhalten anzugeben, wenn ein Element nach rechts gewischt wird.

  • md-swipe-upwird eine Angular-Direktive verwendet, um benutzerdefiniertes Verhalten anzugeben, wenn ein Element nach oben gewischt wird.

Beispiel

Das folgende Beispiel zeigt die Verwendung von md-swipe- * sowie die Verwendung von Swipe-Komponenten.

am_swipes.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>
         .swipeContainer .demo-swipe {
            padding: 20px 10px; 			
         }
         
         .swipeContainer .no-select {
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            -khtml-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none; 
         }
      </style>
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('swipeController', swipeController);

         function swipeController ($scope) {
            $scope.onSwipeLeft = function(ev) {
               alert('Swiped Left!');
            };
             
            $scope.onSwipeRight = function(ev) {
               alert('Swiped Right!');
            };
             
            $scope.onSwipeUp = function(ev) {
               alert('Swiped Up!');
            };
             
            $scope.onSwipeDown = function(ev) {
               alert('Swiped Down!');
            };
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <md-card>
         <div id = "swipeContainer" ng-controller = "swipeController as ctrl"
            layout = "row" ng-cloak>
            <div flex>
               <div class = "demo-swipe" md-swipe-left = "onSwipeLeft()">
                  <span class = "no-select">Swipe me to the left</span>
                  <md-icon md-font-icon = "android" aria-label = "android"></md-icon>
               </div>
               
               <md-divider></md-divider>
               <div class = "demo-swipe" md-swipe-right = "onSwipeRight()">
                  <span class = "no-select">Swipe me to the right</span>
               </div>
            </div>

            <md-divider></md-divider>
            <div flex layout = "row">
               <div flex layout = "row" layout-align = "center center"
                  class = "demo-swipe" md-swipe-up = "onSwipeUp()">
                  <span class = "no-select">Swipe me up</span>
               </div>
               
               <md-divider></md-divider>
               <div flex layout = "row" layout-align = "center center"
                  class = "demo-swipe" md-swipe-down = "onSwipeDown()">
                  <span class = "no-select">Swipe me down</span>
               </div>
            </div>
            
         </div>
      </md-card>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-switch, eine Angular-Direktive, wird verwendet, um einen Schalter anzuzeigen.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-switch.

Sr.Nr. Parameter & Beschreibung
1

* ng-model

Der zuweisbare Winkelausdruck, an den Daten gebunden werden sollen.

2

name

Der Eigenschaftsname des Formulars, unter dem das Steuerelement veröffentlicht wird.

3

ng-true-value

Der Wert, auf den der Ausdruck bei Auswahl festgelegt werden soll.

4

ng-false-value

Der Wert, auf den der Ausdruck gesetzt werden soll, wenn er nicht ausgewählt ist.

5

ng-change

Der Winkelausdruck, der ausgeführt werden soll, wenn sich die Eingabe aufgrund der Benutzerinteraktion mit dem Eingabeelement ändert.

6

ng-disabled

Aktivieren / Deaktivieren basierend auf dem Ausdruck.

7

md-no-ink

Die Verwendung von Attributen gibt die Verwendung von Welligkeitstinteneffekten an.

8

aria-label

Dadurch wird die Tastenbezeichnung veröffentlicht, die von den Screenreadern für die Barrierefreiheit verwendet wird. Dies ist standardmäßig der Text des Schalters.

Beispiel

Das folgende Beispiel zeigt die Verwendung von md-swipe- * sowie die Verwendung von Swipe-Komponenten.

am_switches.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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('switchController', switchController);

         function switchController ($scope) {
            $scope.data = {
               switch1: true,
               switch2: false,
               switch3: false,
               switch4: true,
               switch5: true,
               switch6: false
            };
               
            $scope.message = 'false';
            $scope.onChange = function(state) {
               $scope.message = state;
            };
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "switchContainer" ng-controller = "switchController as ctrl"
         layout = "column" ng-cloak>
         <md-switch ng-model = "data.switch1" aria-label = "Switch 1">
            Switch 1: {{ data.switch1 }}
         </md-switch>
         
         <md-switch ng-model = "data.switch2" aria-label = "Switch 2"
            ng-true-value = "'true'" ng-false-value = "'false'" class = "md-warn">
            Switch 2 (md-warn): {{ data.switch2 }}
         </md-switch>
         
         <md-switch ng-disabled = "true" aria-label = "Disabled switch"
            ng-model = "disabledModel">
            Switch 3 (Disabled)
         </md-switch>
         
         <md-switch ng-disabled = "true" aria-label = "Disabled active switch"
            ng-model = "data.switch4">
            Switch 4 (Disabled, Active)
         </md-switch>
         
         <md-switch class = "md-primary" md-no-ink aria-label = "Switch No Ink"
            ng-model = "data.switch5">
            Switch 5 (md-primary): No Ink
         </md-switch>
         
         <md-switch ng-model = "data.switch6" aria-label = "Switch 6"
            ng-change = "onChange(data.switch6)">
            Switch 6 : {{ message }}
         </md-switch>    
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Die Angular Material-Komponenten verwenden die Intentionsgruppenklassen wie md-primary, md-akzent, md-warn und zusätzliche Klassen für Farbunterschiede wie md-hue-1, md-hue-2 oder md-hue-3. Die folgenden Komponenten unterstützen die Verwendung der oben genannten Klassen.

  • md-button
  • md-checkbox
  • md-progress-circular
  • md-progress-linear
  • md-radio-button
  • md-slider
  • md-switch
  • md-tabs
  • md-text-float
  • md-toolbar

Designs können während der Anwendungskonfiguration mit $ mdThemingProvider konfiguriert werden. Die folgenden Eigenschaften können verwendet werden, um verschiedene Farbpaletten zuzuweisen.

  • primaryPalette
  • accentPalette
  • warnPalette
  • backgroundPalette

Beispiel

Das folgende Beispiel zeigt die Verwendung von Themen in der Angular JS-Anwendung.

am_themes.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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('themeController', themeController)
            .config(function($mdThemingProvider) {
               $mdThemingProvider.theme('customTheme') 
               .primaryPalette('grey')
               .accentPalette('orange')
               .warnPalette('red');
            });

         function themeController ($scope) {            
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "themeContainer" ng-controller = "themeController as ctrl" ng-cloak>
         <md-toolbar class = "md-primary">
            <div class = "md-toolbar-tools">
               <h2 class = "md-flex">Default Theme</h2>
            </div>
         </md-toolbar>
         <hr/>
         
         <md-card>         
            <md-card-content layout = "column"> 
               <md-toolbar class = "md-primary">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-primary style</h2>
                  </div>
               </md-toolbar>
                  
               <md-toolbar class = "md-primary md-hue-1">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-primary md-hue-1 style</h2>
                  </div>
               </md-toolbar>
               
               <md-toolbar class = "md-primary md-hue-2">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-primary md-hue-2 style</h2>
                  </div></md-toolbar>
                  
               <md-toolbar class = "md-accent">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-accent style</h2>
                  </div>
               </md-toolbar>
               
               <md-toolbar class = "md-accent md-hue-1">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-accent md-hue-1 style</h2>
                  </div>
               </md-toolbar>
               
               <md-toolbar class = "md-accent md-hue-2">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-accent md-hue-2 style</h2>
                  </div>
               </md-toolbar>
               
               <md-toolbar class = "md-warn">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-warn style</h2>
                  </div>
               </md-toolbar>
               
               <md-toolbar class = "md-warn md-hue-1">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-warn md-hue-1 style</h2>
                  </div>
               </md-toolbar>
               
               <md-toolbar class = "md-warn md-hue-2">
                  <div class = "md-toolbar-tools">
                     <h2 class = "md-flex">Using md-warn md-hue-2 style</h2>
                  </div>
               </md-toolbar>              
            </md-card-content>
         </md-card>
         
         <div md-theme = "customTheme">
            <md-toolbar class = "md-primary">
               <div class = "md-toolbar-tools">
                  <h2 class = "md-flex">Custom Theme</h2>
               </div>
            </md-toolbar>
            <hr/>
            
            <md-card>         
               <md-card-content layout = "column"> 
                  <md-toolbar class = "md-primary">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-primary style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-primary md-hue-1">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-primary md-hue-1 style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-primary md-hue-2">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-primary md-hue-2 style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-accent">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-accent style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-accent md-hue-1">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-accent md-hue-1 style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-accent md-hue-2">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-accent md-hue-2 style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-warn">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-warn style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-warn md-hue-1">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-warn md-hue-1 style</h2>
                     </div>
                  </md-toolbar>
                  
                  <md-toolbar class = "md-warn md-hue-2">
                     <div class = "md-toolbar-tools">
                        <h2 class = "md-flex">Using md-warn md-hue-2 style</h2>
                     </div>
                  </md-toolbar>              
               </md-card-content>
            </md-card>
            
         </div>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das Angular Material bietet verschiedene spezielle Methoden, um den Benutzern unauffällige Warnungen anzuzeigen. Es bietet auch einen Begriff Toast für sie. Der Dienst $ mdToast wird zum Anzeigen von Toasts verwendet.

Beispiel

Das folgende Beispiel zeigt die Verwendung von Toast.

am_toasts.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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('toastController', toastController);

         function toastController ($scope, $mdToast, $document) { 
            $scope.showToast1 = function() {
               $mdToast.show (
                  $mdToast.simple()
                  .textContent('Hello World!')                       
                  .hideDelay(3000)
               );
            };

            $scope.showToast2 = function() {
               var toast = $mdToast.simple()
                  .textContent('Hello World!')
                  .action('OK')
                  .highlightAction(false);                     
               
               $mdToast.show(toast).then(function(response) {
                  if ( response == 'ok' ) {
                     alert('You clicked \'OK\'.');
                  }
               });			   
            }
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "toastContainer" ng-controller = "toastController as ctrl"
         layout = "row" ng-cloak>
         <md-button ng-click = "showToast1()">Show Simple Alert</md-button>
         <md-button ng-click = "showToast2()">Show Alert with callback</md-button>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Angular Material bietet verschiedene Typografie-CSS-Klassen, mit denen visuelle Konsistenz in der Angular JS-Anwendung hergestellt werden kann.

In der folgenden Tabelle sind die verschiedenen Klassen mit ihrer Beschreibung aufgeführt.

Sr.Nr. Klassenname & Beschreibung
1

md-display-1

Zeigt den Text mit Regular 34px an.

2

md-display-2

Zeigt den Text mit Regular 45px an.

3

md-display-3

Zeigt den Text mit Regular 56px an.

4

md-display-4

Zeigt den Text mit Light 112px an.

5

md-headline

Zeigt den Text mit Regular 24px an.

6

md-title

Zeigt den Text mit Medium 20px an.

7

md-subhead

Zeigt den Text mit Regular 16px an.

8

md-body-1

Zeigt den Text mit Regular 14px an.

9

md-body-2

Zeigt den Text mit Medium 14px an.

10

md-button

Zeigt die Schaltfläche mit Medium 14px an.

11

md-caption

Zeigt den Text mit Regular 12px an.

Beispiel

Das folgende Beispiel zeigt die Verwendung von Typografie-CSS-Klassen.

am_typography.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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('typographyController', typographyController);
           
         function typographyController ($scope) {               
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div class = "frameContainer" ng-controller = "typographyController as ctrl"
         layout = "column" layout-padding layout-wrap layout-fill
         style = "padding-bottom: 32px;" ng-cloak>
         <p class = "md-display-4">.md-display-4</p>
         <p class = "md-display-3">.md-display-3</p>
         <p class = "md-display-2">.md-display-2</p>
         <p class = "md-display-1">.md-display-1</p>
         <p class = "md-headline">.md-headline</p>
         <p class = "md-title">.md-title</p>
         <p class = "md-subhead">.md-subhead</p>
         <p class = "md-body-1">.md-body-1</p>
         <p class = "md-body-2">.md-body-2</p>
         <md-button>.md-button</md-button>
         <p class = "md-caption">.md-caption</p>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Das md-virtual-repeat-container ist der Bildlaufcontainer für die Komponente md-virtual-repeat.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-virtual-repeat-container.

Sr.Nr. Parameter & Beschreibung
1

md-top-index

Bindet den Index des Elements oben im Bildlaufcontainer an $ scope. Es kann die Bildlaufposition sowohl lesen als auch einstellen.

2

md-orient-horizontal

Legt fest, ob der Container horizontal scrollen soll (standardmäßig Ausrichtung und vertikales Scrollen).

3

md-auto-shrink

Wenn vorhanden, wird der Behälter verkleinert, um der Anzahl der Elemente zu entsprechen, wenn diese Anzahl unter seiner ursprünglichen Größe liegt.

4

md-auto-shrink-min

Minimale Anzahl von Elementen, auf die md-auto-shrink verkleinert wird (Standard: 0).

md-virtual-repeat

Die virtuelle Wiederholung ist ein Ersatz für ng-repeat, um nur genügend HTML-Elemente zu rendern, um den Container zu füllen und sie beim Scrollen des Benutzers wiederzuverwenden.

Attribute

In der folgenden Tabelle sind die Parameter und die Beschreibung der verschiedenen Attribute von aufgeführt md-virtual-repeat.

Sr.Nr. Parameter & Beschreibung
1

md-item-size

Die Höhe oder Breite der wiederholten Elemente (die für jedes Element identisch sein müssen). Dies ist optional. Dies versucht, die Größe aus dem Dom zu lesen, wenn sie fehlt, setzt jedoch voraus, dass alle wiederholten Knoten dieselbe Höhe oder Breite haben.

2

md-extra-name

Wertet einen zusätzlichen Namen aus, dem das aktuell iterierte Element im wiederholten Bereich zugewiesen werden kann (erforderlich für die Verwendung in md-autocomplete).

3

md-on-demand

Wenn vorhanden, behandelt die md-virtual-repeat Argument als Objekt, das Zeilen anstelle eines Arrays abrufen kann. Dieses Objekt muss die folgende Schnittstelle mit zwei (2) Methoden implementieren:

  • getItemAtIndex - function (index) [object] - Das Element an diesem Index oder null, wenn es noch nicht geladen ist (in diesem Fall sollte das Herunterladen des Elements beginnen).

  • getLength- function () [number] - Die Datenlänge, auf die der Repeater-Container dimensioniert werden soll. Wenn die Anzahl bekannt ist, sollte diese Methode sie idealerweise zurückgeben. Andernfalls geben Sie eine höhere Zahl als die aktuell geladenen Elemente zurück, um ein unendliches Bildlaufverhalten zu erzielen.

Beispiel

Das folgende Beispiel zeigt die Verwendung der virtuellen Wiederholung.

am_virtualrepeat.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>
         .vrepeatContainer #horizontal-container {
            height: 100px;
            width: 830px; 
         }

         .vrepeatContainer #vertical-container {
            height: 292px;
            width: 400px; 
         }

         .vrepeatContainer .repeated-item-horizontal {
            border-right: 1px solid #ddd;
            box-sizing: border-box;
            display: inline-block;
            height: 84px;
            padding-top: 35px;
            text-align: center;
            width: 50px; 
         }

         .vrepeatContainer .repeated-item-vertical {
            border-bottom: 1px solid #ddd;
            box-sizing: border-box;
            height: 40px;
            padding-top: 10px;
         }

         .vrepeatContainer md-content {
            margin: 16px; 
         }
         
         .vrepeatContainer md-virtual-repeat-container {
            border: solid 1px grey; 
         }	  
      </style>
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('vrepeatController', vrepeatController);
           
         function vrepeatController ($scope) { 
            this.items = [];
            for (var i = 0; i < 1000; i++) {
               this.items.push(i);
            }
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div class = "vrepeatContainer" ng-controller = "vrepeatController as ctrl"
         ng-cloak>
         <md-content layout = "column">
            <h2>Horizontal Repeat</h2>
            <md-virtual-repeat-container id = "horizontal-container" md-orient-horizontal>
               <div md-virtual-repeat = "item in ctrl.items"
                  class = "repeated-item-horizontal" flex>
                  {{item}}
               </div>
            </md-virtual-repeat-container>
            
            <h2>Vertical Repeat</h2>
            <md-virtual-repeat-container id = "vertical-container">
               <div md-virtual-repeat = "item in ctrl.items"
                  class = "repeated-item-vertical" flex>
                  {{item}}
               </div>
            </md-virtual-repeat-container>
            
         </md-content>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.

Angular Material hat mehrere spezielle Klassen, um Behälter als papierähnliche Karten mit Schatten anzuzeigen.

In der folgenden Tabelle sind die verschiedenen Klassen mit ihrer Beschreibung aufgeführt.

Sr.Nr. Klassenname & Beschreibung
1

md-whiteframe-1dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem umrandeten Schatten von 1 Pixel formatiert. Fügt eine Tiefe von 1 hinzu.

2

md-whiteframe-2dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 2px-Schatten umrandet. Fügt eine Tiefe von 2 hinzu.

3

md-whiteframe-3dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 3px-Schatten umrandet. Fügt eine Tiefe von 3 hinzu.

4

md-whiteframe-4dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 4px-Schatten umrandet. Fügt eine Tiefe von 4 hinzu.

5

md-whiteframe-5dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 5-Pixel-Schatten umrandet. Fügt eine Tiefe von 5 hinzu.

6

md-whiteframe-6dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 6px-Schatten umrandet. Fügt eine Tiefe von 6 hinzu.

7

md-whiteframe-7dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 7px-Schatten umrandet. Fügt eine Tiefe von 7 hinzu.

8

md-whiteframe-8dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 8px-Schatten umrandet. Fügt eine Tiefe von 8 hinzu.

9

md-whiteframe-9dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 9px-Schatten gestaltet. Fügt eine Tiefe von 9 hinzu.

10

md-whiteframe-10dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 10-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 10 hinzu.

11

md-whiteframe-11dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 11-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 11 hinzu.

12

md-whiteframe-12dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 12px-Rahmenschatten formatiert. Fügt eine Z-Tiefe von 12 hinzu.

13

md-whiteframe-13dp

Dadurch wird ein Container für jeden HTML-Inhalt mit 13px-Schatten umrandet. Fügt eine Z-Tiefe von 13 hinzu.

14

md-whiteframe-14dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 14px großen Schatten formatiert. Fügt eine Z-Tiefe von 14 hinzu.

15

md-whiteframe-15dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem umrandeten Schatten von 15 Pixel formatiert. Fügt eine Z-Tiefe von 15 hinzu.

16

md-whiteframe-16dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 16-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 16 hinzu.

17

md-whiteframe-17dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 17-Pixel-Rahmenschatten formatiert. Fügt eine Z-Tiefe von 17 hinzu.

18

md-whiteframe-18dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 18-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 18 hinzu.

19

md-whiteframe-19dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 19px-Rahmenschatten formatiert. Fügt eine Z-Tiefe von 19 hinzu.

20

md-whiteframe-20dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 20-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 20 hinzu.

21

md-whiteframe-21dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 21-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 21 hinzu.

22

md-whiteframe-22dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 22-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 22 hinzu.

23

md-whiteframe-23dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 23px großen Schatten formatiert. Fügt eine Z-Tiefe von 23 hinzu.

24

md-whiteframe-24dp

Dadurch wird ein Container für jeden HTML-Inhalt mit einem 24-Pixel-Schatten umrandet. Fügt eine Z-Tiefe von 24 hinzu.

Beispiel

Das folgende Beispiel zeigt die Verwendung von Schattenklassen.

am_whiteframes.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>
         .frameContainer md-whiteframe {
            background: #fff;
            margin: 30px;
            height: 100px; 
         }
      </style>
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('frameController', frameController);
           
         function frameController ($scope) {               
         }	  
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div class = "frameContainer" ng-controller = "frameController as ctrl"
         layout = "row" layout-padding layout-wrap layout-fill
         style = "padding-bottom: 32px;" ng-cloak>
         <md-whiteframe class = "md-whiteframe-1dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-1dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-2dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-2dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-3dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-3dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-10dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-10dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-15dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-15dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-20dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-20dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-22dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-22dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-23dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-23dp</span>
         </md-whiteframe>
         
         <md-whiteframe class = "md-whiteframe-24dp" flex-sm = "45" flex-gt-sm = "35"
            flex-gt-md = "25" layout layout-align = "center center">
            <span>.md-whiteframe-24dp</span>
         </md-whiteframe>
      </div>
   </body>
</html>

Ergebnis

Überprüfen Sie das Ergebnis.