JavaRush /Курси /Frontend SELF UA /Покращення дизайну та UX

Покращення дизайну та UX

Frontend SELF UA
Рівень 30 , Лекція 4
Відкрита

9.1 Покращення інтерактивності за допомогою псевдокласів

У псевдокласів і псевдоелементів в CSS є потужні інструменти для покращення дизайну та користувацького досвіду (UX) на веб-сторінках. З їх допомогою можна створювати інтерактивні та динамічні елементи, покращувати візуальне сприйняття та підвищувати доступність.

Розглянемо кілька прикладів, як можна використовувати псевдокласи і псевдоелементи для цих цілей.

1. Наведення курсора

Псевдоклас :hover дозволяє змінювати стиль елемента, коли користувач наводить на нього курсор. Це особливо корисно для кнопок та посилань.

Приклад: Зміна кольору кнопки при наведенні

У цьому прикладі колір фону кнопки змінюється при наведенні курсору, що покращує візуальний зворотний зв'язок і робить інтерфейс більш інтерактивним:

CSS
    
      button {
        background-color: #3498db;
        color: white;
        border: none;
        padding: 10px 20px;
        cursor: pointer;
      }

      button:hover {
        background-color: #2980b9;
      }
    
  
HTML
    
      <button>Click Me</button>
    
  

2. Фокусування елемента

Псевдоклас :focus використовується для стилізації елементів форми, коли вони знаходяться у фокусі. Це допомагає користувачам бачити, який елемент форми вони зараз заповнюють.

Приклад: Стилізація поля введення при фокусі

У цьому прикладі поле введення отримує синю рамку та тінь при фокусі, що покращує видимість активного елемента форми:

CSS
    
      input[type="text"] {
        border: 1px solid #ccc;
        padding: 10px;
      }

      input[type="text"]:focus {
        border-color: #3498db;
        box-shadow: 0 0 5px rgba(52, 152, 219, 0.5);
      }
    
  
HTML
    
      <input type="text">
    
  

3. Стан активного елемента

Псевдоклас :active застосовується до елемента в момент його активації (наприклад, при натисканні кнопки миші).

Приклад: Стилізація кнопки в момент натискання

У цьому прикладі кнопка трохи зменшується і змінює колір при натисканні, створюючи ефект натискання:

CSS
    
      button:active {
        background-color: #2c3e50;
        transform: scale(0.98);
      }
    
  
HTML
    
      <button>Click Me</button>
    
  

9.2 Покращення візуального сприйняття за допомогою псевдоелементів

4. Додавання контенту: ::before та ::after

Псевдоелементи ::before і ::after дозволяють додавати контент до і після елемента, не змінюючи HTML-код.

Приклад: Додавання іконки перед посиланням

У цьому прикладі іконка додається перед текстом посилання, покращуючи візуальне сприйняття та підказуючи користувачам, що це посилання:

CSS
    
      a::before {
        content: "🔗";
        margin-right: 5px;
      }
    
  
HTML
    
      <a href="#">Here</a>
    
  

Приклад: Додавання декоративного елемента після абзацу

У цьому прикладі декоративний елемент додається після абзацу, покращуючи візуальне оформлення сторінки:

CSS
    
      p::after {
        content: "❦";
        display: block;
        text-align: right;
        color: #e74c3c;
      }
    
  
HTML
    
      <p>Content</p>
    
  

5. Стилізація першої букви і рядка: ::first-letter і ::first-line

Псевдоелементи ::first-letter та ::first-line дозволяють стилізувати першу букву та перший рядок тексту, створюючи типографічні ефекти.

Приклад: Стилізація першої букви абзацу

У цьому прикладі перша буква абзацу збільшується і забарвлюється в синій колір, створюючи ефект "втягнутої" першої букви, що часто використовується в журнальному дизайні:

CSS
    
      p::first-letter {
        font-size: 2.5em;
        font-weight: bold;
        color: #3498db;
        float: left;
        margin-right: 0.1em;
      }
    
  
HTML
    
      <p>Content</p>
    
  

Приклад: Стилізація першого рядка абзацу

У цьому прикладі перший рядок абзацу виділяється жирним шрифтом і зеленим кольором, покращуючи читабельність тексту:

CSS
    
      p::first-line {
        font-weight: bold;
        color: #2ecc71;
      }
    
  
HTML
    
      <p>Content</p>
    
  

9.3 Покращення доступності за допомогою псевдокласів та псевдоелементів

6. Стан елементів форми

Псевдокласи форми дозволяють стилізувати елементи залежно від їхнього стану, покращуючи доступність та користувацький інтерфейс.

Приклад: Стилізація вибраного чекбокса

У цьому прикладі вибраний чекбокс забарвлюється у зелений колір, що покращує візуальний зворотний зв'язок:

CSS
    
      input[type="checkbox"]:checked {
        background-color: #2ecc71;
      }
    
  
HTML
    
      <input type="checkbox" checked>
    
  

Приклад: Стилізація вимкненого поля введення

У цьому прикладі вимкнене поле введення отримує світло-сірий фон та текст, що візуально показує його недоступність:

CSS
    
      input:disabled {
        background-color: #f0f0f0;
        color: #999;
      }
    
  
HTML
    
      <input type="text" disabled>
    
  

Приклад: Стилізація некоректного поля введення

У цьому прикладі некоректне поле введення отримує червону границю, що допомагає користувачам ідентифікувати помилки при введенні даних:

CSS
    
      input:invalid {
        border-color: #e74c3c;
      }
    
  
HTML
    
      <input type="text">
    
  

9.4 Приклад повної реалізації

CSS
    
      /* Додавання іконки перед посиланням */

      a::before {
        content: "🔗";
        margin-right: 5px;
      }

      /* Стилізація першої букви абзацу при наведенні курсору */

      p:hover::first-letter {
        font-size: 2.5em;
        font-weight: bold;
        color: #3498db;
      }

      /* Стилізація кнопки */

      button {
        background-color: #3498db;
        color: white;
        border: none;
        padding: 10px 20px;
        cursor: pointer;
      }

      button:hover {
        background-color: #2980b9;
      }

      button:active {
        background-color: #2c3e50;
        transform: scale(0.98);
      }

      /* Стилізація поля введення при фокусі */

      input[type="text"]:focus,
      input[type="email"]:focus {
        border-color: #3498db;
        box-shadow: 0 0 5px rgba(52, 152, 219, 0.5);
      }

      /* Стилізація вибраного чекбокса */

      input[type="checkbox"]:checked {
        background-color: #2ecc71;
      }

      /* Стилізація вимкненого поля введення */

      input:disabled {
        background-color: #f0f0f0;
        color: #999;
      }

      /* Стилізація некоректного поля введення */

      input:invalid {
        border-color: #e74c3c;
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Приклади використання псевдокласів та псевдоелементів</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <a href="#">Посилання з іконкою</a>
          <p>Наведи курсор на цей абзац, щоб побачити ефект на першій букві.</p>
          <button>Кнопка</button>
          <form>
            <label>
              Введіть текст:
              <input type="text" required>
            </label>
            <br>
            <label>
              Введіть email:
              <input type="email" required>
            </label>
            <br>
            <label>
              <input type="checkbox" checked> Чекбокс
            </label>
            <br>
            <button type="submit">Відправити</button>
            <button type="button" disabled>Вимкнена кнопка</button>
          </form>
        </body>
      </html>
    
  

Псевдокласи та псевдоелементи надають потужні засоби для покращення дизайну та користувацького досвіду на вебсторінках. Їх використання дозволяє створювати інтерактивні та динамічні елементи, покращувати візуальне сприйняття, підвищувати доступність і робити інтерфейси більш зручними та приємними для користувачів.

Розуміння та правильне застосування цих інструментів відкриває безліч можливостей для створення сучасних і ефективних вебдизайнів.

1
Опитування
Псевдоелементи, рівень 30, лекція 4
Недоступний
Псевдоелементи
Псевдоелементи
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ