CSS Fogli Di Stile

Progetto Finale

Progetto finale: teoria, esempi e sperimentazione nel browser.

Prerequisiti: Organizzazione del foglio di stile.

Progetto finale e diagnosi

Progetto finale e diagnosi: fondamenti.

Quando una regola non produce l’effetto previsto, procedi per ipotesi verificabili. Controlla prima che il file corretto sia caricato, poi che il selettore corrisponda all’elemento. Verifica la validità del valore e infine la dichiarazione vincente nella cascata. Una modifica casuale di colore o un nuovo !important può nascondere la causa. Durante il debug cambia una cosa alla volta e annota il risultato, così ogni prova fornisce un’informazione utile.

Come funziona: progetto finale e diagnosi

Progetto finale e diagnosi: comportamento nel browser.

La scheda Styles o Regole mostra dichiarazioni applicabili, ereditate e superate. Computed o Calcolato mostra i valori risultanti e aiuta a trovare l’origine delle proprietà. Il diagramma del box model permette di confrontare dimensioni dichiarate e spazio effettivo. Le modifiche effettuate nei DevTools sono normalmente temporanee: riporta nel file sorgente le correzioni che vuoi conservare e ricarica per verificare che non dipendano solo dalla sessione di ispezione.

Scelte di utilizzo e limiti

Progetto finale e diagnosi: progetto e verifica.

Realizza una pagina con titolo, introduzione e tre schede di lezioni. Deve usare un CSS esterno, selettori di classe, proprietà personalizzate e una griglia a una colonna che si espande su schermi ampi. I collegamenti devono avere un focus visibile, il testo non deve traboccare e la pagina deve restare leggibile con zoom. Non serve copiare il layout di un sito famoso: l’obiettivo è dimostrare di saper spiegare ogni scelta e correggere un errore intenzionale.

Idea chiave: Ogni classe rappresenta un componente. La griglia parte da una colonna e il breakpoint ne introduce tre. Lo spazio condiviso mantiene una relazione coerente fra padding e gap.

Esempio commentato

Progetto finale e diagnosi: 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>Progetto finale</title>
<link rel="stylesheet" href="stile.css">
</head>
<body>
<main class="pagina">
<h1>Le mie lezioni</h1>
<p>Un piccolo catalogo responsive.</p>
<div class="catalogo">
<article class="scheda" id="html"><h2>HTML</h2><a href="#html">Ripassa HTML</a></article>
<article class="scheda" id="css"><h2>CSS</h2><a href="#css">Ripassa CSS</a></article>
<article class="scheda" id="layout"><h2>Layout</h2><a href="#layout">Ripassa il layout</a></article>
</div>
</main>
</body>
</html>

File stile.css

:root { --accento: #174a7e; --spazio: 1rem; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: Arial, sans-serif; line-height: 1.6; color: #222; }
.pagina { max-width: 65rem; margin-inline: auto; padding: var(--spazio); }
.catalogo { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--spazio); }
.scheda { border: 1px solid var(--accento); padding: var(--spazio); overflow-wrap: anywhere; }
a { color: var(--accento); }
a:focus-visible { outline: 3px solid var(--accento); outline-offset: 3px; }
@media (min-width: 48rem) {
  .catalogo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

Ogni classe rappresenta un componente. La griglia parte da una colonna e il breakpoint ne introduce tre. Lo spazio condiviso mantiene una relazione coerente fra padding e gap.

ProprietàValore nell’esempioSignificato
box-sizingborder-boxConvenzione per includere o escludere padding e bordo dalle dimensioni dichiarate.
margin0Spazio esterno della scatola.
font-familyArial, sans-serifFamiglie di font, provate nell’ordine indicato.
line-height1.6Altezza della riga; un numero senza unità è un fattore.
color#222Colore del testo; non imposta lo sfondo.
max-width65remLimite superiore alla larghezza.
Attenzione: No. Normalmente sono temporanee: bisogna riportarle nei sorgenti e verificare dopo il ricaricamento.

LABORATORIO

Sperimentare: Progetto finale e diagnosi

Ogni classe rappresenta un componente. La griglia parte da una colonna e il breakpoint ne introduce tre. Lo spazio condiviso mantiene una relazione coerente fra padding e gap.

Obiettivo: Comprendere e applicare progetto finale e diagnosi attraverso esempi e verifica nel browser.

Software: editor di testo e browser con DevTools; Tempo: 30 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: Correggi il selettore nel file, salva e ricarica.
  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

Le schede hanno bordo e padding dopo la correzione; il layout cambia con la larghezza e i collegamenti restano raggiungibili e riconoscibili da tastiera.

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 specificoLe schede hanno bordo e padding dopo la correzione; il layout cambia con la larghezza e i collegamenti restano raggiungibili e riconoscibili da tastiera.
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 una quarta scheda con testo lungo senza scrivere nuovi selettori e senza fissare l’altezza.

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
<article class="scheda" id="verifica">
  <h2>Verifica finale</h2>
  <p>Una descrizione più lunga deve poter occupare più righe senza essere tagliata.</p>
  <a href="#verifica">Rivedi la verifica</a>
</article>

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

Progetto finale e diagnosi: interpretazione e applicazione.

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

1. Quale consegna dimostra anche la comprensione del progetto? ▾
Risposta: HTML, CSS e motivazione delle scelte. Quando una regola non produce l’effetto previsto, procedi per ipotesi verificabili. Controlla prima che il file corretto sia caricato, poi che il selettore corrisponda all’elemento. Verifica la validità del valore e infine la dichiarazione vincente nella cascata. Una modifica casuale di colore o un nuovo !important può nascondere la causa. Durante il debug cambia una cosa alla volta e annota il risultato, così ogni prova fornisce un’informazione utile.
2. Come si interpreta il codice dell’esempio? ▾
Risposta: Ogni classe rappresenta un componente. La griglia parte da una colonna e il breakpoint ne introduce tre. Lo spazio condiviso mantiene una relazione coerente fra padding e gap.
3. Quale risultato permette di verificare la modifica del laboratorio? ▾
Risposta: Le schede hanno bordo e padding dopo la correzione; il layout cambia con la larghezza e i collegamenti restano raggiungibili e riconoscibili da tastiera.
4. Quale attenzione evita un’interpretazione sbagliata? ▾
Risposta: No. Normalmente sono temporanee: bisogna riportarle nei sorgenti e verificare dopo il ricaricamento.

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