CodeGym /Corso Java /Frontend SELF IT /Migliorare il design e l'UX

Migliorare il design e l'UX

Frontend SELF IT
Livello 30 , Lezione 4
Disponibile

9.1 Migliorare l'interattività con i pseudo-classi

I pseudo-classi e i pseudo-elementi in CSS hanno strumenti potenti per migliorare il design e l'esperienza utente (UX) sulle pagine web. Con il loro aiuto è possibile creare elementi interattivi e dinamici, migliorare la percezione visiva e aumentare l'accessibilità.

Vediamo alcuni esempi di come si possono utilizzare i pseudo-classi e i pseudo-elementi a questi fini.

1. Hover

Il pseudo-classe :hover permette di cambiare lo stile di un elemento quando l'utente ci passa sopra con il cursore. È particolarmente utile per bottoni e link.

Esempio: Cambiare colore al bottone al passaggio del mouse

In questo esempio, il colore di sfondo del bottone cambia al passaggio del mouse, migliorando il feedback visivo e rendendo l'interfaccia più interattiva:

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

Il pseudo-classe :focus si usa per stilizzare gli elementi del form quando sono in focus. Questo aiuta gli utenti a vedere quale elemento del form stanno compilando.

Esempio: Stilizzazione del campo input al focus

In questo esempio, il campo input riceve un bordo blu e un'ombra quando è in focus, migliorando la visibilità dell'elemento attivo del form:

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. Stato attivo dell'elemento

Il pseudo-classe :active si applica a un elemento nel momento della sua attivazione (ad esempio, quando si clicca un bottone).

Esempio: Stilizzazione del bottone al click

In questo esempio, il bottone si riduce leggermente e cambia colore quando viene premuto, creando un effetto di pressione:

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

9.2 Migliorare la percezione visiva con i pseudo-elementi

4. Aggiunta di contenuto: ::before e ::after

I pseudo-elementi ::before e ::after permettono di aggiungere contenuto prima e dopo un elemento, senza cambiare il codice HTML.

Esempio: Aggiunta di un'icona davanti a un link

In questo esempio, un'icona viene aggiunta davanti al testo del link, migliorando la percezione visiva e suggerendo agli utenti che si tratta di un link:

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

Esempio: Aggiunta di un elemento decorativo dopo un paragrafo

In questo esempio, un elemento decorativo viene aggiunto dopo un paragrafo, migliorando il layout visivo della pagina:

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

5. Stilizzazione della prima lettera e linea: ::first-letter e ::first-line

I pseudo-elementi ::first-letter e ::first-line permettono di stilizzare la prima lettera e la prima linea di testo, creando effetti tipografici.

Esempio: Stilizzazione della prima lettera di un paragrafo

In questo esempio, la prima lettera di un paragrafo viene ingrandita e colorata di blu, creando un effetto di "prima lettera a capitello" spesso usato nel design delle riviste:

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

Esempio: Stilizzazione della prima linea di un paragrafo

In questo esempio, la prima linea di un paragrafo viene evidenziata con font grassetto e colore verde, migliorando la leggibilità del testo:

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

9.3 Migliorare l'accessibilità con i pseudo-classi e i pseudo-elementi

6. Stato degli elementi del form

I pseudo-classi del form permettono di stilizzare gli elementi in base al loro stato, migliorando l'accessibilità e l'interfaccia utente.

Esempio: Stilizzazione del checkbox selezionato

In questo esempio, il checkbox selezionato viene colorato di verde, migliorando il feedback visivo:

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

Esempio: Stilizzazione del campo input disabilitato

In questo esempio, il campo input disabilitato riceve uno sfondo grigio chiaro e testo, mostrando visivamente la sua indisponibilità:

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

Esempio: Stilizzazione del campo input non valido

In questo esempio, il campo input non valido riceve un bordo rosso, aiutando gli utenti a identificare gli errori nell'inserimento dei dati:

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

9.4 Esempio di implementazione completa

CSS
    
      /* Aggiunta di icona davanti al link */

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

      /* Stilizzazione della prima lettera del paragrafo al passaggio del mouse */

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

      /* Stilizzazione del bottone */

      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);
      }

      /* Stilizzazione del campo input al focus */

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

      /* Stilizzazione del checkbox selezionato */

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

      /* Stilizzazione del campo input disabilitato */

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

      /* Stilizzazione del campo input non valido */

      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>Esempi di utilizzo di pseudo-classi e pseudo-elementi</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <a href="#">Link con icona</a>
          <p>Passa il mouse su questo paragrafo per vedere l'effetto sulla prima lettera.</p>
          <button>Bottone</button>
          <form>
            <label>
              Inserisci testo:
              <input type="text" required>
            </label>
            <br>
            <label>
              Inserisci email:
              <input type="email" required>
            </label>
            <br>
            <label>
              <input type="checkbox" checked> Checkbox
            </label>
            <br>
            <button type="submit">Invia</button>
            <button type="button" disabled>Bottone disabilitato</button>
          </form>
        </body>
      </html>
    
  

I pseudo-classi e i pseudo-elementi offrono strumenti potenti per migliorare il design e l'esperienza utente sulle pagine web. Il loro utilizzo permette di creare elementi interattivi e dinamici, migliorare la percezione visiva, aumentare l'accessibilità e rendere le interfacce più confortevoli e piacevoli per gli utenti.

Comprendere e applicare correttamente questi strumenti apre molte possibilità per la creazione di design web moderni ed efficienti.

1
Опрос
Pseudo-elementi,  30 уровень,  4 лекция
недоступен
Pseudo-elementi
Pseudo-elementi
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION