MDC-102 Web: Struktura i układ materiału (internet)

Logo_components_color_2x_web_96dp.png

Komponenty Material Design (MDC) pomagają deweloperom wdrażać Material Design. Firma MDC została stworzona przez zespół inżynierów i projektantów UX w Google. Zawiera ona dziesiątki pięknych i funkcjonalnych elementów interfejsu oraz jest dostępna w aplikacjach na Androida, iOS, internet oraz Flutter.

material.io/develop

W laboratorium MDC-101 do utworzenia interfejsu użytkownika strony logowania zostały użyte 2 komponenty Material Design: pole tekstowe i przycisk. Rozwińmy teraz ten obszar, dodając elementy nawigacyjne, strukturę i dane.

Co stworzysz

W tym ćwiczeniu utworzysz stronę główną aplikacji o nazwie Shrine – aplikacji handlu elektronicznego, która sprzedaje odzież i wyposażenie domu. Tabela zawiera:

  • Panel nawigacji
  • Lista zdjęć z produktami

Komponenty MDC Web w tym ćwiczeniu z programowania

  • Panel
  • Lista obrazów

Czego potrzebujesz

  • Najnowsza wersja Node.js (w pakiecie z npm, menedżerem pakietów JavaScript).
  • Przykładowy kod (do pobrania w następnym kroku)
  • Podstawowa wiedza o HTML, CSS i JavaScript

Jak oceniasz swoje doświadczenie w tworzeniu stron internetowych?

Początkujący Średnio zaawansowany Zaawansowany

Kontynuujesz z MDC-101?

Jeśli ukończyłeś MDC-101, Twój kod powinien być przygotowany do tych ćwiczeń z programowania. Przejdź do kroku 3. Dodaj panel nawigacji.

Pobierz aplikację początkujących z programowania

Pobierz aplikację startową

Aplikacja startowa znajduje się w katalogu material-components-web-codelabs-master/mdc-102/starter. Pamiętaj, aby przed wykonaniem czynności umieścić w cd katalog.

...lub skopiuj z GitHuba

Aby skopiować to ćwiczenia z programowania na GitHubie, uruchom następujące polecenia:

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

Instalowanie zależności projektu

Bieżący katalog powinien mieć postać material-components-web-codelabs/mdc-102/starter.. Następnie uruchom to polecenie:

npm install

Gdy pojawi się duża liczba aktywności, terminal powinien wyświetlać udaną instalację:

Uruchamianie aplikacji startowej

W tym samym katalogu uruchom to polecenie:

npm start

Uruchomi się webpack-dev-server. Otwórz w przeglądarce adres http://localhost:8080/, aby wyświetlić stronę.

Gotowe. Powinna wyświetlić się strona logowania się do świątyni z ćwiczenia z programowania MDC-101.

Strona logowania wygląda dobrze, więc dodajmy do aplikacji produkty. Wpisz prawidłową nazwę użytkownika i hasło, a następnie kliknij przycisk &Dalej, aby przejść do strony głównej.

Gdy użytkownik się zaloguje, wyświetli się strona główna z komunikatem „Udało się!”. Wspaniale. Teraz użytkownik potrzebuje jednak działań, aby określić, gdzie się znajduje w aplikacji. Aby mu w tym pomóc, dodaj nawigację.

Wzorce nawigacji w stylu Material Design dają wysoki poziom łatwości obsługi. Panel Material Design umożliwia nawigację i szybki dostęp do innych działań. Dodajmy.

Instalowanie szuflady i listy w MDC

Aby zainstalować pakiety komponentu panelu, uruchom polecenie:

npm install @material/drawer @material/list

Dodawanie kodu HTML

W polu home.html zastąp &"Udało się!

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

Dodawanie usługi porównywania cen

W home.scss dodaj te instrukcje importu po istniejącym importu:

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

Na dole strony home.scss dodaj te style:

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

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

Dodawanie JavaScriptu

Aby utworzyć prawidłową nawigację za pomocą klawiatury, musisz utworzyć listę MDC w panelu nawigacji. Otwórz home.js, który obecnie jest pusty, i dodaj ten kod:

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

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

Odśwież stronę na stronie http://localhost:8080/home.html. Twoja strona główna powinna teraz wyglądać tak:

Strona główna ma stałą szufladę nawigacji z różnymi elementami nawigacji i pierwszym aktywnym elementem.

Teraz, gdy aplikacja ma już określoną strukturę, umieść ją na liście obrazów.

Zainstaluj listę obrazów MDC

Aby zainstalować pakiet dla komponentu listy obrazów, uruchom polecenie:

npm install @material/image-list

Dodawanie kodu HTML do listy z jednym elementem

Zacznijmy od dodania listy zdjęć obok panelu nawigacji. Rozpoczniemy od dodania listy, która składa się z obrazu i etykiety tekstowej.

W home.html dodaj na końcu elementu <aside> ten kod HTML:

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

Lista zawiera dodatkową klasę product-list, która będzie stosować style niestandardowe zarówno w tym samouczku, jak i w MDC-103.

Dodawanie usługi porównywania cen

Najpierw w home.scss dodaj import stylów stylu listy obrazów po przeprowadzeniu istniejących importów:

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

Następnie dodaj te style po początkowych stylach strony głównej:

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

  overflow: auto;
}

Te style służą do wyświetlania listy obrazów w 4 kolumnach, dzięki czemu lista obrazów przewija się niezależnie od panelu.

Odśwież stronę. Strona główna powinna teraz wyglądać tak:

Lista obrazów ma na celu wyświetlanie wielu obrazów w kolekcji, więc dodajmy więcej obrazów, żeby lepiej widzieć, jak działa komponent.

W home.html skopiuj istniejący element <li>:

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

Następnie wklej go po istniejącym elemencie (przed tagiem </ul>) 15 razy. Łącznie daje to 16 obrazów. Nie musisz jeszcze martwić się o unikalne obrazy i tytuły – dotrzesz do nich w MDC-103.

Odśwież. Strona główna powinna wyglądać tak:

Na liście obrazów znajdują się cztery obrazy w wierszu, których rozmiar jest automatycznie dopasowywany do dostępnego miejsca na ekranie.

Twoja witryna ma proces podstawowy, który przenosi użytkownika ze strony logowania na stronę główną, na której mogą wyświetlić produkty. W kilku wierszach kodu dodaliśmy szufladę i listę obrazów do prezentowania treści. Strona główna ma teraz podstawową strukturę i treści.

Dalsze kroki

Dzięki liście w panelu i obrazie używasz jeszcze 2 podstawowych komponentów Material Design z biblioteki MDC Web. Więcej komponentów znajdziesz w katalogu internetowym MDC.

Strona główna w pełni funkcjonuje, ale jeszcze nie wyraża konkretnej marki ani punktu widzenia. W filmie MDC-103: Material Design Theme with Color, kształt, wysokość i typ możesz dostosować styl tych komponentów, aby wyrazić nowoczesną i nowoczesną markę.

Ukończenie ćwiczeń z programowania było sporą ilością czasu i wysiłku.

Całkowicie się zgadzam Zgadzam się Nie mam zdania Nie zgadzam się Całkowicie się nie zgadzam

Chcę w przyszłości nadal korzystać z Komponentów Material Design

Całkowicie się zgadzam Zgadzam się Nie mam zdania Nie zgadzam się Całkowicie się nie zgadzam