CodeGym /Kursy /Frontend SELF PL /Podstawy responsywnego projektowania

Podstawy responsywnego projektowania

Frontend SELF PL
Poziom 25 , Lekcja 0
Dostępny

1.1 Podejście mobilne (Mobile-First)

Responsive design to podejście do tworzenia stron internetowych, które umożliwia dostosowanie się witryn do różnych rozmiarów ekranów i urządzeń, zapewniając najlepszą użyteczność. Głównym celem responsywnego projektowania jest uczynienie witryny wygodną i dostępną dla wszystkich użytkowników, niezależnie od tego, z jakiego urządzenia korzystają.

Podejście mobilne zakłada, że projektowanie zaczyna się od stworzenia wyglądu dla urządzeń mobilnych z małymi ekranami, a następnie rozbudowywane jest do większych ekranów. Metoda ta pomaga skupić się na najważniejszych elementach i funkcjach witryny.

Zalety podejścia mobilnego:

  • Optymalizacja treści dla użytkowników mobilnych
  • Uproszczenie projektu i funkcjonalności dla małych ekranów
  • Poprawa wydajności dzięki zredukowaniu ilości treści

Przykład:

CSS
    
      /* Podstawowe style dla urządzeń mobilnych */

      body {
        font-size: 16px;
        margin: 0;
        padding: 0;
      }

      /* Style dla większych ekranów */

      @media (min-width: 768px) {
        body {
          font-size: 18px;
        }
      }
    
  

1.2 Progresywne ulepszanie (Progressive Enhancement)

Progresywne ulepszanie koncentruje się na dostarczeniu podstawowej funkcjonalności wszystkim użytkownikom, a następnie dodaje ulepszenia dla bardziej zaawansowanych przeglądarek i urządzeń. To podejście zapewnia dostępność treści, nawet jeśli niektóre funkcje lub style nie są obsługiwane przez urządzenie użytkownika.

Zalety progresywnego ulepszania:

  • Zapewnienie podstawowej funkcjonalności wszystkim użytkownikom
  • Poprawa doświadczeń użytkowników z nowoczesnymi urządzeniami
  • Zmniejszenie ryzyka utraty treści lub funkcjonalności
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Progresywne ulepszanie</title>
          <style>
            /* Podstawowe style dla wszystkich przeglądarek */

            body {
              font-family: Arial, sans-serif;
            }

            /* Ulepszone style dla nowoczesnych przeglądarek */

            @supports (display: grid) {
              .container {
              display: grid;
              grid-template-columns: 1fr 1fr;
              }
            }
          </style>
        </head>
        <body>
          <div class="container">
          <div>Treść 1</div>
          <div>Treść 2</div>
          </div>
        </body>
      </html>
    
  

1.3 Elastyczność układu (Fluid Layouts)

Elastyczność układu oznacza użycie elastycznych elementów, które mogą dostosowywać się do różnych rozmiarów ekranów. Może to obejmować użycie elastycznych kontenerów, które automatycznie zmieniają swoje rozmiary w zależności od wielkości ekranu.

Zalety elastyczności układu:

  • Poprawa wyświetlania treści na różnych urządzeniach
  • Lepsze dostosowanie do zmian rozmiarów ekranu
  • Zwiększenie wygody użytkowania i dostępności treści

Przykład:

HTML
    
      <div class="container">
        <div class="item-1">Content item 1</div>
        <div class="item-2">
          Etiam scelerisque lectus nulla, eget convallis orci convallis vel. Etiam sed interdum sem. Nunc vestibulum lectus nibh, in volutpat velit fermentum eget. Mauris in risus tincidunt, sodales odio et, rutrum ligula. In iaculis congue ex in laoreet. Sed id eros porttitor, finibus diam ultrices, consectetur leo. Fusce aliquam, nibh ac sollicitudin viverra, felis libero fringilla orci, nec auctor elit sapien non arcu. Proin dolor mi, iaculis ut velit id, vestibulum consectetur metus. Duis venenatis felis a diam elementum, eget ullamcorper leo scelerisque. Sed tempus euismod urna et tristique. Duis at odio quis libero commodo ullamcorper id vel odio. Maecenas volutpat rhoncus sodales. Mauris eget nunc accumsan, rhoncus massa at, placerat lorem.
          Etiam ullamcorper elementum tellus non euismod. Mauris euismod mi nisi, sed egestas ligula varius sed. Nunc tortor elit, hendrerit sed gravida in, tempus nec augue. Aliquam vitae condimentum velit. Sed id massa ac felis tempor elementum. Aenean at nulla ipsum. Fusce sed cursus tortor. Duis sodales rhoncus eros, non aliquam ante ultricies ut. Pellentesque auctor ultricies aliquet. In laoreet enim dolor, vel consectetur sapien laoreet eu.
          In efficitur pharetra ex convallis egestas. Praesent egestas, sapien fermentum consectetur vestibulum, quam dui pharetra urna, vitae finibus arcu lacus quis mauris. Quisque consectetur lorem sapien, nec pulvinar elit varius vitae. Cras elementum risus lacus, a interdum tellus euismod ac. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas pharetra, odio vel facilisis venenatis, ipsum leo viverra ligula, ut venenatis enim ipsum ut lectus. Fusce cursus mollis congue.
        </div>
        </div>
    
  
CSS
    
      .container {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
        color: white;
      }

      .item-1 {
        min-height: 50px;
        width: calc(100% / 3);
        float: left;
        background: purple;
      }

      .item-2 {
        background: gray;
      }
    
  

1.4 Hierarchia treści (Content Hierarchy)

Hierarchia treści jest ważna dla responsywnego projektowania, ponieważ pomaga zorganizować informacje tak, aby były dostępne i zrozumiałe na każdym urządzeniu. To obejmuje właściwe wykorzystanie nagłówków, akapitów, list i innych elementów do stworzenia klarownej i logicznej struktury.

Zalety hierarchii treści:

  • Poprawa czytelności i odbioru informacji
  • Zwiększenie dostępności treści dla wszystkich użytkowników
  • Łatwość nawigacji i interakcji z witryną

Przykład:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Hierarchia treści</title>
          <style>
            body {
              font-family: Arial, sans-serif;
              margin: 20px;
            }

            h1 {
              font-size: 2em;
            }

            h2 {
              font-size: 1.5em;
            }

            p {
              font-size: 1em;
              line-height: 1.5;
            }
          </style>
        </head>
        <body>
          <h1>Główny nagłówek</h1>
          <h2>Podnagłówek</h2>
          <p>
            To jest przykład akapitu tekstu, który następuje po podnagłówku.
            Tekst powinien być łatwo czytelny i zrozumiały dla wszystkich użytkowników.
          </p>
        </body>
      </html>
    
  
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION