Prerequisiti: Selettori di fratelli.
Selezionare mediante attributi
Selezionare mediante attributi: fondamenti.
Un selettore di attributo controlla attributi presenti nell’HTML. [disabled] richiede la presenza dell’attributo, mentre input[type="email"] richiede un determinato valore. Puoi combinarlo con un selettore di tipo per limitare l’effetto. L’attributo non deve essere una classe: può essere href, target, type o un attributo data-* previsto dal componente.
Come funziona: selezionare mediante attributi
Selezionare mediante attributi: comportamento nel browser.
Esistono operatori per controllare parti del valore: ^= verifica l’inizio, $= la fine, *= una sottostringa. a[href$=".pdf"] corrisponde a valori che terminano esattamente con .pdf: una query dopo l’estensione impedisce quella corrispondenza. Il selettore non analizza il contenuto del file e non garantisce che la risorsa sia realmente un PDF.
Scelte di utilizzo e limiti
Selezionare mediante attributi: progetto e verifica.
Le regole riflettono il valore scritto nell’attributo, non un significato dedotto liberamente dal browser. Sono utili per segnalare varianti già descritte dal markup, ma non sostituiscono etichette accessibili o comportamenti applicativi. Un bordo particolare su un campo email non valida l’indirizzo: la validazione è un altro compito.
Esempio commentato
Selezionare mediante attributi: 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>Selettori di attributo</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<label>Email <input type="email" name="email"></label>
<label>Nome <input type="text" name="nome"></label>
<button disabled>Invio non disponibile</button>
</body>
</html>
File stile.css
input[type="email"] { border: 2px solid navy; }
[disabled] { opacity: 0.6; }
Risultato nel browser
Il campo email riceve il bordo; il campo testo no. Il pulsante disabilitato viene selezionato dalla presenza di disabled.
| Proprietà | Valore nell’esempio | Significato |
|---|---|---|
border | 2px solid navy | Abbreviazione per spessore, stile e colore del bordo. |
opacity | 0.6 | Opacità dell’intera resa dell’elemento. |
LABORATORIO
Sperimentare: Selezionare mediante attributi
Il campo email riceve il bordo; il campo testo no. Il pulsante disabilitato viene selezionato dalla presenza di disabled.
Obiettivo: Comprendere e applicare selezionare mediante attributi 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
- Osserva il punto di partenza: apri l’esempio, confronta markup e regole e individua il selettore o il contesto di layout rilevante.
- Esegui la modifica: Cambia type="email" in type="text" e osserva quale bordo rimane.
- Salva e ricarica la pagina dopo ogni modifica. Confronta gli elementi che devono cambiare con quelli che devono restare invariati.
- Ispeziona il risultato: usa il menu Ispeziona e controlla Styles/Regole e Computed/Calcolato. Per layout Flex o Grid attiva l’overlay, se disponibile.
- 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.
La regola di attributo non corrisponde più al campo modificato. Ripristina poi il tipo email.
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
| Controllo | Criterio |
|---|---|
| Effetto specifico | La regola di attributo non corrisponde più al campo modificato. Ripristina poi il tipo email. |
| Corrispondenza del codice | Individua la dichiarazione o la relazione HTML responsabile della differenza. |
| Persistenza | Riporta la modifica nel file e verifica dopo un ricaricamento. |
| Spiegazione | Motiva la differenza senza affidarti soltanto a uno screenshot. |
Esercizio autonomo
Seleziona link con target="_blank" e assegna una sottolineatura più spessa.
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.
a[target="_blank"] { text-decoration-thickness: 3px; }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
Selezionare mediante attributi: interpretazione e applicazione.
Seleziona una domanda per visualizzare la risposta e confrontarla con la tua.
1. Che cosa richiede [disabled]? ▾
2. Come si interpreta il codice dell’esempio? ▾
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Riferimento tecnico: MDN — riferimento CSS. Cerca le proprietà o i selettori utilizzati nell’esempio.