CodeGym /Kurs Javy /Frontend SELF PL /Animacje dla poprawy UX

Animacje dla poprawy UX

Frontend SELF PL
Poziom 24 , Lekcja 3
Dostępny

9.1 Animacje na hover (Hover Effects)

Animacje odgrywają ważną rolę w poprawie doświadczenia użytkownika (UX) na stronach internetowych. Mogą zwracać uwagę użytkownika, dostarczać feedback, ułatwiać nawigację oraz sprawiać, że interfejsy są bardziej intuicyjne i przyjemne w użyciu. Teraz przejrzymy przykłady wykorzystania animacji do poprawy UX.

Przykład: Animacja przycisku na hover

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Animacja przycisku na hover</title>
          <style>
            .button {
              padding: 10px 20px;
              background-color: #3498db;
              color: white;
              border: none;
              cursor: pointer;
              transition: background-color 0.3s ease, transform 0.3s ease;
            }

            .button:hover {
              background-color: #2980b9;
              transform: scale(1.1);
            }
          </style>
        </head>
        <body>
          <button class="button">Hover me</button>
        </body>
      </html>
    
  

Wyjaśnienie kodu:

  • .button: definiuje style dla przycisku, w tym płynne przejścia zmiany tła i skalowania na hover
  • .button:hover: po najechaniu kursorem na przycisk kolor tła zmienia się, a przycisk nieco się powiększa

9.2 Animacje ładowania (Loading Animations)

Animacje ładowania informują użytkowników, że proces ładowania lub przetwarzania danych trwa, co pomaga zmniejszyć odczucie oczekiwania.

Przykład: Animacja ładowania

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Animacja ładowania</title>
          <style>
            .spinner {
              width: 50px;
              height: 50px;
              border: 5px solid #f3f3f3;
              border-top: 5px solid #3498db;
              border-radius: 50%;
              animation: spin 1s linear infinite;
            }

            @keyframes spin {
              0% {
                transform: rotate(0deg);
              }

              100% {
                transform: rotate(360deg);
              }
            }
          </style>
        </head>
        <body>
          <div class="spinner"></div>
        </body>
      </html>
    
  

Wyjaśnienie kodu:

  • .spinner: definiuje styl dla spinnera, w tym granice i animację obrotu
  • @keyframes spin: definiuje animację obrotu spinnera od 0 do 360 stopni

9.3 Animacje przejść stron (Page Transition Animations)

Animacje przejść między stronami lub sekcjami aplikacji pomagają użytkownikom się zorientować i sprawiają, że interakcja jest bardziej płynna.

Przykład: Animacja przejścia strony

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Animacja przejścia strony</title>
          <style>
            .page {
              opacity: 0;
              transform: translateY(20px);
              transition: opacity 0.5s ease, transform 0.5s ease;
            }

            .page.active {
              opacity: 1;
              transform: translateY(0);
            }
          </style>
        </head>
        <body>
          <div class="page">Content of the page</div>
          <script>
            document.addEventListener('DOMContentLoaded', function() {
              document.querySelector('.page').classList.add('active');
            });
          </script>
        </body>
      </html>
    
  

Wyjaśnienie kodu:

  • .page: definiuje styl dla strony, w tym początkową przezroczystość i przesunięcie w dół
  • .page.active: po dodaniu klasy active strona staje się całkowicie widoczna i powraca do pierwotnej pozycji
  • JavaScript: przy ładowaniu strony dodawana jest klasa active do elementu .page, inicjując animację

9.4 Animacje przy kliknięciu (Click Animations)

Animacje przy kliknięciu na elementy mogą poprawić feedback dla użytkowników i sprawić, że interakcja będzie bardziej angażująca.

Przykład: Animacja kliknięcia przycisku

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Animacja kliknięcia przycisku</title>
          <style>
            .button {
              padding: 10px 20px;
              background-color: #e74c3c;
              color: white;
              border: none;
              cursor: pointer;
              transition: transform 0.1s ease;
            }

            .button:active {
              transform: scale(0.95);
            }
          </style>
        </head>
        <body>
          <button class="button">Click me</button>
        </body>
      </html>
    
  

Wyjaśnienie kodu:

  • .button: definiuje styl dla przycisku, w tym płynne przejście dla skalowania
  • .button:active: po kliknięciu na przycisk element nieco się zmniejsza, tworząc efekt kliknięcia
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION