MDC-102 Web: Materialstruktur und Layout (Web)

logo_components_color_2x_web_96dp.png

Material Components (MDC) helfen Entwicklern bei der Implementierung von Material Design. MDC wurde von einem Team aus Entwicklern und UX-Designern bei Google entwickelt und bietet Dutzende von ansprechenden und funktionalen UI-Komponenten. Es ist für Android, iOS, Web und Flutter verfügbar.

material.io/develop

Im Codelab MDC-101 haben Sie zwei Material Components (MDC) verwendet, um eine Anmeldeseite zu erstellen: das Textfeld und die Schaltfläche. Jetzt fügen wir Navigation, Struktur und Daten hinzu.

Umfang

In diesem Codelab erstellen Sie eine Startseite für die App Shrine, eine E-Commerce-App, in der Kleidung und Haushaltswaren verkauft werden. Sie enthält:

  • Navigationsleiste
  • Eine Bildliste mit vielen Produkten

MDC Web-Komponenten in diesem Codelab

  • Leiste
  • Bildliste

Voraussetzungen

  • Eine aktuelle Version von Node.js (die mit npm, einem JavaScript-Paketmanager, gebündelt ist).
  • Der Beispielcode, der im nächsten Schritt heruntergeladen werden muss
  • Grundkenntnisse in HTML, CSS und JavaScript

Wie würden Sie Ihre Erfahrung mit der Webentwicklung bewerten?

Anfänger Mittelstufe Fortgeschritten

Sie machen mit MDC-101 weiter?

Wenn Sie MDC-101 abgeschlossen haben, sollte Ihr Code für dieses Codelab vorbereitet sein. Zu Schritt 3: Navigationsleiste hinzufügen springen

Starter-App für das Codelab herunterladen

Starter-App herunterladen

Die Starter-App befindet sich im Verzeichnis material-components-web-codelabs-master/mdc-102/starter. cd Sie vor Beginn in dieses Verzeichnis.

…oder aus GitHub klonen

Führen Sie die folgenden Befehle aus, um dieses Codelab von GitHub zu klonen:

git clone https://github.com/material-components/material-components-web-codelabs
cd material-components-web-codelabs/mdc-102/starter

Projektabhängigkeiten installieren

Ihr aktuelles Verzeichnis sollte material-components-web-codelabs/mdc-102/starter. sein. Führen Sie dort den folgenden Befehl aus:

npm install

Nachdem viel Aktivität angezeigt wurde, sollte auf dem Terminal eine erfolgreiche Installation angezeigt werden:

Start-App ausführen

Führen Sie im selben Verzeichnis Folgendes aus:

npm start

Die webpack-dev-server beginnt. Rufen Sie in Ihrem Browser http://localhost:8080/ auf, um die Seite aufzurufen.

Fertig! Sie sollten die Shrine-Anmeldeseite aus dem MDC-101-Codelab sehen.

Nachdem die Anmeldeseite gut aussieht, füllen wir die App mit einigen Produkten. Geben Sie einen gültigen Nutzernamen und ein gültiges Passwort ein und klicken Sie auf die Schaltfläche „Weiter“, um zur Startseite zu gelangen.

Wenn sich der Nutzer anmeldet, wird eine Startseite mit der Meldung „Du hast es geschafft!“ angezeigt. Sehr gut. Jetzt braucht unser Nutzer aber Aktionen, die er ausführen kann, und eine Orientierungshilfe, damit er weiß, wo er sich in der App befindet. Dazu fügen wir die Navigation hinzu.

Material Design-Navigationsmuster bieten ein hohes Maß an Nutzerfreundlichkeit. Die Material-Navigationsleiste bietet Navigation und schnellen Zugriff auf andere Aktionen. Jetzt fügen wir einen Zeitraum hinzu.

MDC Drawer und List installieren

Führen Sie Folgendes aus, um die Pakete für die Schubladenkomponente zu installieren:

npm install @material/drawer @material/list

HTML hinzufügen

Ersetzen Sie in home.html „You did it!“ durch das folgende Markup für die Schublade und ihre Elemente:

<aside class="mdc-drawer shrine-drawer">
  <div class="mdc-drawer__header">
    <svg class="shrine-logo-drawer" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
       width="48px" height="48px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" fill="#000000" focusable="false">
      <g>
        <g>
          <path d="M17,2H7L2,6.62L12,22L22,6.62L17,2z M16.5,3.58l3.16,2.92H16.5V3.58z M7.59,3.5H15v3H4.34L7.59,3.5z
             M11.25,18.1L7.94,13h3.31V18.1z M11.25,11.5H6.96L4.69,8h6.56V11.5z M16.5,12.32 M12.75,18.09V8h6.56L12.75,18.09z"/>
        </g>
        <rect fill="none" width="24" height="24"/>
      </g>
    </svg>
    <h1 class="shrine-title">SHRINE</h1>
  </div>
  <div class="mdc-drawer__content">
    <nav class="mdc-list">
      <a class="mdc-list-item mdc-list-item--activated" aria-selected="true" tabindex="0" href="#">
        <span class="mdc-list-item__text">Featured</span>
      </a>
      <a class="mdc-list-item" href="#">
        <span class="mdc-list-item__text">Apartment</span>
      </a>
      <a class="mdc-list-item" href="#">
        <span class="mdc-list-item__text">Accessories</span>
      </a>
      <a class="mdc-list-item" href="#">
        <span class="mdc-list-item__text">Shoes</span>
      </a>
      <a class="mdc-list-item" href="#">
        <span class="mdc-list-item__text">Tops</span>
      </a>
      <a class="mdc-list-item" href="#">
        <span class="mdc-list-item__text">Bottoms</span>
      </a>
      <a class="mdc-list-item" href="#">
        <span class="mdc-list-item__text">Dresses</span>
      </a>
      <a class="mdc-list-item" href="#">
        <span class="mdc-list-item__text">My Account</span>
      </a>
    </nav>
  </div>
</aside>

CSS-Code hinzufügen

Fügen Sie in home.scss die folgenden Importanweisungen nach dem vorhandenen Import hinzu:

@import "@material/drawer/mdc-drawer";
@import "@material/list/mdc-list";

Fügen Sie unten in home.scss die folgenden Stile hinzu:

.shrine-logo-drawer {
  display: block;
  width: 48px;
  padding: 40px 0 0;
  margin: 0 auto;
  fill: currentColor;
}

.shrine-title {
  text-align: center;
  margin: 5px auto;
}

JavaScript hinzufügen

Wir müssen die MDC-Liste in der Navigationsleiste instanziieren, damit die Tastaturnavigation richtig funktioniert. Öffnen Sie home.js, das derzeit leer ist, und fügen Sie den folgenden Code hinzu:

import {MDCList} from '@material/list';

new MDCList(document.querySelector('.mdc-list'));

Aktualisieren Sie die Seite unter http://localhost:8080/home.html. Ihre Startseite sollte nun so aussehen:

Auf der Startseite wird jetzt ein dauerhaft sichtbares Navigationsmenü mit verschiedenen Navigationselementen angezeigt, wobei das erste Element aktiv ist.

Nachdem unsere App nun eine Struktur hat, organisieren wir die Inhalte, indem wir sie in eine Bildliste einfügen.

MDC-Bildliste installieren

Führen Sie den folgenden Befehl aus, um das Paket für die Bildlistenkomponente zu installieren:

npm install @material/image-list

HTML für eine Liste mit einem Element hinzufügen

Fügen wir zuerst eine Bildliste neben dem Navigationsmenü hinzu. Wir beginnen die Liste mit einem einzelnen Element, das aus einem Bild und einem Textlabel besteht.

Fügen Sie in home.html den folgenden HTML-Code nach dem Ende des <aside>-Elements ein:

<ul class="mdc-image-list product-list">
  <li class="mdc-image-list__item">
    <img class="mdc-image-list__image" src="assets/weave-keyring.jpg">
    <div class="mdc-image-list__supporting">
      <span class="mdc-image-list__label">Weave keyring</span>
    </div>
  </li>
</ul>

Die Liste enthält eine zusätzliche Klasse, product-list, mit der sowohl in dieser Anleitung als auch in MDC-103 benutzerdefinierte Stile angewendet werden.

CSS-Code hinzufügen

Fügen Sie zuerst in home.scss nach den vorhandenen Importen einen Import für die Stile der Bildlistenkomponente hinzu:

@import "@material/image-list/mdc-image-list";

Fügen Sie als Nächstes die folgenden Formatierungen nach den ursprünglichen Formatierungen der Startseite hinzu:

.product-list {
  @include mdc-image-list-standard-columns(4);

  overflow: auto;
}

Diese Stile weisen die Bildliste an, Bilder in vier Spalten anzuzeigen. So wird sichergestellt, dass die Bildliste unabhängig vom Drawer gescrollt wird.

Aktualisieren Sie die Seite. Die Startseite sollte nun so aussehen:

Eine Bildliste ist dazu gedacht, viele Bilder in einer Sammlung anzuzeigen. Fügen wir also weitere Bilder hinzu, um besser zu sehen, wie die Komponente funktioniert.

Kopieren Sie in home.html das vorhandene <li>-Element:

  <li class="mdc-image-list__item">
    <img class="mdc-image-list__image" src="assets/weave-keyring.jpg">
    <div class="mdc-image-list__supporting">
      <span class="mdc-image-list__label">Weave keyring</span>
    </div>
  </li>

Fügen Sie ihn dann 15 Mal nach dem vorhandenen Element (vor dem schließenden </ul>-Tag) ein. So erhalten Sie insgesamt 16 Bilder. Sie müssen sich noch keine Gedanken über einzigartige Bilder und Titel machen. Das ist Thema in MDC-103.

Aktualisieren. Die Startseite sollte jetzt so aussehen:

In der Bildliste werden vier Bilder pro Zeile angezeigt. Die Bilder werden automatisch an den verfügbaren Bildschirmplatz angepasst.

Ihre Website hat einen einfachen Ablauf, der den Nutzer von der Anmeldeseite zu einer Startseite führt, auf der Produkte angesehen werden können. Mit nur wenigen Codezeilen haben Sie eine Schublade und eine Bildliste zum Präsentieren von Inhalten hinzugefügt. Die Startseite hat jetzt eine grundlegende Struktur und grundlegende Inhalte.

Weiteres Vorgehen

Mit der Schublade und der Bildliste haben Sie nun zwei weitere Material Design-Kernkomponenten aus der MDC Web-Bibliothek verwendet. Weitere Komponenten finden Sie im MDC Web-Katalog.

Die Startseite ist zwar voll funktionsfähig, aber es wird noch keine bestimmte Marke oder Meinung vertreten. In MDC-103: Material Design Theming with Color, Shape, Elevation and Type (MDC-103: Material Design-Theming mit Farbe, Form, Höhe und Typ) passen Sie den Stil dieser Komponenten an, um eine lebendige, moderne Marke zu präsentieren.

Ich konnte dieses Codelab mit einem angemessenen Zeit- und Arbeitsaufwand durcharbeiten.

Stimme vollkommen zu Stimme zu Neutral Stimme nicht zu Stimme überhaupt nicht zu

Ich möchte Material-Komponenten auch in Zukunft verwenden.

Stimme voll zu Stimme zu Neutral Stimme nicht zu Stimme überhaupt nicht zu