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

Migliorare il design e l'UX

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
Compito
Frontend SELF IT,  livello 30lezione 4
Bloccato
Icona prima del link
Icona prima del link
1
Compito
Frontend SELF IT,  livello 30lezione 4
Bloccato
Campo di input al focus
Campo di input al focus
Commenti
  • Popolari
  • Nuovi
  • Vecchi
Devi avere effettuato l'accesso per lasciare un commento
Questa pagina non ha ancora commenti