CSS Fogli Di Stile

Moduli E Pulsanti

Moduli e pulsanti: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Tabelle.

Moduli, campi e pulsanti

Moduli, campi e pulsanti: fondamenti.

Un modulo deve usare etichette associate ai campi. label con for corrisponde all’id dell’input; un placeholder non è una sostituzione affidabile dell’etichetta. CSS controlla presentazione e stati, ma non rende corretto un campo privo di nome accessibile.

Come funziona: moduli, campi e pulsanti

Moduli, campi e pulsanti: comportamento nel browser.

Input e pulsanti possono avere stili predefiniti diversi dai normali paragrafi. font: inherit aiuta a rendere coerente la tipografia; padding, bordo e larghezza creano campi leggibili. Mantieni il focus visibile e uno stato disabled percepibile. Uno stile rosso non è da solo una spiegazione dell’errore: aggiungi un messaggio comprensibile.

Scelte di utilizzo e limiti

Moduli, campi e pulsanti: progetto e verifica.

Non rimuovere l’aspetto nativo di controlli complessi senza ripristinare tutte le indicazioni utili. Un pulsante di invio deve essere type="submit" quando svolge quel ruolo; un controllo di prova può essere type="button". L’aspetto non definisce il comportamento del modulo.

Idea chiave: L’etichetta è associata al campo; entrambi i controlli conservano la semantica nativa e un focus visibile. onsubmit impedisce l’invio dell’esempio, così puoi provare la validazione senza trasmettere dati.

Esempio commentato

Moduli, campi e pulsanti: HTML e CSS.

Esempio con stile esterno. Il documento index.html collega il file stile.css mediante il tag link nella head.

Documento HTML completo

<!doctype html>
<html lang="it">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Moduli e pulsanti</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<form onsubmit="event.preventDefault()"><label for="email">Indirizzo email</label><input id="email" name="email" type="email" required><button type="submit">Invia</button></form>
</body>
</html>

File stile.css

label { display: block; margin-bottom: 0.5rem; }
input, button { font: inherit; padding: 0.75rem; border: 1px solid navy; }
input { width: 100%; max-width: 25rem; box-sizing: border-box; }
button { background-color: #eef4fa; }
input:focus-visible, button:focus-visible { outline: 3px solid navy; outline-offset: 3px; }

L’etichetta è associata al campo; entrambi i controlli conservano la semantica nativa e un focus visibile. onsubmit impedisce l’invio dell’esempio, così puoi provare la validazione senza trasmettere dati.

ProprietàValore nell’esempioSignificato
displayblockTipo di scatola e contesto di layout.
margin-bottom0.5remMargine inferiore.
padding0.75remSpazio interno fra contenuto e bordo.
border1px solid navyAbbreviazione per spessore, stile e colore del bordo.
width100%Larghezza secondo box model e contesto.
max-width25remLimite superiore alla larghezza.
Attenzione: Il laboratorio è solo di presentazione: non raccoglie dati su un server. Non usare placeholder come unica etichetta.

LABORATORIO

Sperimentare: Moduli, campi e pulsanti

L’etichetta è associata al campo; entrambi i controlli conservano la semantica nativa e un focus visibile. onsubmit impedisce l’invio dell’esempio, così puoi provare la validazione senza trasmettere dati.

Obiettivo: Comprendere e applicare moduli, campi e pulsanti attraverso esempi e verifica nel browser.

Software: editor di testo e browser con DevTools; Tempo: 15 minuti.

Preparazione: scarica l’esempio completo e estrai lo ZIP. Apri index.html nel browser. Puoi anche aprire l’esempio online.

Apri il file stile.css nell’editor. Le lezioni iniziali usano un documento già preparato per concentrarsi sulle regole; il collegamento esterno e lo stile interno vengono spiegati nelle lezioni dedicate. Le modifiche nei DevTools sono normalmente temporanee.

Procedura passo passo

  1. Osserva il punto di partenza: apri l’esempio, confronta markup e regole e individua il selettore o il contesto di layout rilevante.
  2. Esegui la modifica: Naviga con Tab, attiva la validazione senza email e poi inserisci un valore formalmente valido.
  3. Salva e ricarica la pagina dopo ogni modifica. Confronta gli elementi che devono cambiare con quelli che devono restare invariati.
  4. Ispeziona il risultato: usa il menu Ispeziona e controlla Styles/Regole e Computed/Calcolato. Per layout Flex o Grid attiva l’overlay, se disponibile.
  5. Annota causa ed effetto: scrivi il valore o la struttura iniziale, il cambiamento e il risultato. Ripristina il punto di partenza prima dell’esercizio autonomo.
Cosa devi vedere — Output atteso

Il campo è etichettato e raggiungibile. La validazione del browser non sostituisce controlli e gestione lato server in un’applicazione reale.

Il font e alcuni dettagli dell’interfaccia dipendono dal browser. Valuta la proprietà e il comportamento descritti, non una corrispondenza perfetta con uno screenshot.

Verifica del risultato

ControlloCriterio
Effetto specificoIl campo è etichettato e raggiungibile. La validazione del browser non sostituisce controlli e gestione lato server in un’applicazione reale.
Corrispondenza del codiceIndividua la dichiarazione o la relazione HTML responsabile della differenza.
PersistenzaRiporta la modifica nel file e verifica dopo un ricaricamento.
SpiegazioneMotiva la differenza senza affidarti soltanto a uno screenshot.
Se il risultato non coincide: verifica file aperto, salvataggio, percorso del CSS, selettore e validità dei valori. Controlla poi la cascata e le dimensioni del viewport. Cambia una sola causa alla volta.

Esercizio autonomo

Aggiungi un campo nome con etichetta e ID diverso, mantenendo le regole condivise.

Consegna: file modificati e una breve spiegazione di selettore, proprietà e risultato. Criterio di riuscita: il cambiamento richiesto funziona dopo il ricaricamento e non taglia informazioni indispensabili.

Una possibile soluzione dell’esercizio
<label for="nome">Nome</label>
<input id="nome" name="nome" type="text">

Integra la soluzione nel punto pertinente: modifica o sostituisci le regole coinvolte invece di accumulare dichiarazioni contraddittorie. Le altre parti dell’esempio restano necessarie.

Verifica dei concetti

Moduli, campi e pulsanti: interpretazione e applicazione.

Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.

1. Quale associazione collega label e input? ▾
Risposta: for della label e id del campo. Un modulo deve usare etichette associate ai campi. label con for corrisponde all’id dell’input; un placeholder non è una sostituzione affidabile dell’etichetta. CSS controlla presentazione e stati, ma non rende corretto un campo privo di nome accessibile.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: L’etichetta è associata al campo; entrambi i controlli conservano la semantica nativa e un focus visibile. onsubmit impedisce l’invio dell’esempio, così puoi provare la validazione senza trasmettere dati.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: Il campo è etichettato e raggiungibile. La validazione del browser non sostituisce controlli e gestione lato server in un’applicazione reale.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: Il laboratorio è solo di presentazione: non raccoglie dati su un server. Non usare placeholder come unica etichetta.

Riferimento tecnico: MDN — riferimento CSS. Cerca le proprietà o i selettori utilizzati nell’esempio.