Corso di CSS / Che cos’è il CSS e in cosa si distingue dall’HTML?
CSS (Cascading Style Sheets) controlla l'aspetto e il layout di un documento HTML, inclusi colori, font, spaziatura e posizionamento degli elementi. HTML descrive il contenuto e la sua struttura; CSS determina come quella struttura viene presentata.
Come HTML e CSS dividono le responsabilità
Immagina di creare una pagina informativa su un giardino. Il fatto che “Small Garden” (piccolo giardino) sia il titolo più importante della pagina è rappresentato da h1 in HTML. Il CSS determina se il titolo viene visualizzato in verde e quale sia la dimensione del carattere. Solo perché il colore è verde non significa che un normale paragrafo abbia il significato di un titolo.
| Tecnologia | Ruolo nella pagina Small Garden | esempio |
|---|---|---|
| HTML | Indicare qual è il contenuto e quale ruolo svolge | Il titolo è h1, la descrizione è p, il collegamento è a |
| CSS | Specifica la rappresentazione visiva di quell'elemento | Colore del titolo, bordo avviso e padding |
| JavaScript | Elabora azioni e modifiche dei dati in base agli eventi | Cambia lo stato della prenotazione premendo un pulsante |
JavaScript è un linguaggio di programmazione che aggiunge comportamento alle pagine web. Anche il CSS può cambiare la forma o mostrare animazioni quando il mouse passa sopra, quindi cambiare lo schermo non significa necessariamente che sia stato usato JavaScript. Qui ci concentriamo prima sulla separazione dei contenuti e dell'aspetto.
Perché una pagina ha stili prima che tu scriva CSS
I browser hanno stili predefiniti. Questo è il motivo per cui i titoli appaiono grandi, c'è spazio tra i paragrafi e i link appaiono sottolineati senza dover scrivere CSS direttamente. I font e i margini predefiniti possono variare a seconda del browser e delle impostazioni dell'utente. Aggiungendo CSS, puoi personalizzare l'aspetto di cui hai bisogno.
Incolla il seguente HTML in un editor di testo, salvalo come index.html in formato UTF-8 e aprilo nel browser. Assicurati che il nome del file non sia index.html.txt. Se l'estensione del file è nascosta, controlla l'estensione nel formato di salvataggio dell'editor e nelle proprietà del file.
<main>
<h1>Small Garden</h1>
<p>A place to grow plants and take a break.</p>
<p class="notice">We open at 9 a.m. every day.</p>
<a href="#visit">Visitor Information</a>
<h2 id="visit">What to bring</h2>
<p>Bring a water bottle and comfortable shoes.</p>
</main>
Questo frammento è un esempio della struttura del testo. Se vuoi iniziare subito, usa l'esempio completo qui sotto. Se leggi prima il titolo e il testo guida, è facile distinguere se il contenuto effettivo o solo l'aspetto è cambiato quando si modifica il CSS.
Leggi selettori, proprietà e valori
h1 {
color: #087f5b;
}
h1 è il selettore, color è la proprietà e #087f5b è il suo valore. Una proprietà e un valore uniti da due punti formano una dichiarazione, come color: #087f5b;. Il colore esadecimale a sei cifre rappresenta i componenti rosso, verde e blu. Per ulteriori dettagli, vedi Sintassi CSS: selettori, dichiarazioni, commenti ed errori.
Questa regola cambia il colore del testo dell'elemento h1 in HTML in verde. Non traduce frasi né aggiunge paragrafi. Per distinguere e decorare solo il testo guida, aggiungi class="notice" a HTML e seleziona .notice da CSS. Il punto è una notazione del selettore di classe in CSS e non è incluso nel nome della classe in HTML.
Una spiegazione che il CSS è responsabile della presentazione dei documenti web può anche essere trovata in introduzione al CSS di MDN.
Esegui l'esempio completo Small Garden
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Small Garden</title>
<style>
body {
margin: 24px;
color: #333;
background-color: #f4f7f5;
font-family: sans-serif;
line-height: 1.7;
}
main { max-width: 640px; }
h1 { color: #087f5b; }
.notice {
padding: 16px;
border: 1px solid #087f5b;
background-color: #e9f7ef;
}
</style>
</head>
<body>
<main>
<h1>Small Garden</h1>
<p>A place to grow plants and take a break.</p>
<p class="notice">We open at 9 a.m. every day.</p>
<a href="#visit">Visitor Information</a>
<h2 id="visit">What to bring</h2>
<p>Bring a water bottle and comfortable shoes.</p>
</main>
</body>
</html>
Quando apri il file salvato, vedrai un titolo verde su uno sfondo chiaro, e le informazioni sugli orari di apertura avranno un bordo e uno spazio. Il contenuto all'interno dell'elemento style è CSS. La tabella seguente fornisce una descrizione minima per leggere le proprietà utilizzate negli esempi.
| Proprietà | Ruolo nell'Esempio |
|---|---|
| color / background-color | Specifica rispettivamente il colore del testo e il colore di sfondo. |
| font-family / line-height | Specifica la famiglia di caratteri e l'altezza della linea. 1,7 senza unità è un'altezza della linea pari a 1,7 volte la dimensione del carattere. |
| margin / padding | Il margine è lo spazio esterno all'elemento, e il padding è lo spazio dall'interno del bordo al contenuto. |
| border | Specifica insieme lo spessore del bordo, la forma della linea e il colore. 1px solid è una linea continua spessa 1 pixel. |
| max-width | Limita la larghezza massima dell'area del contenuto. Se lo schermo è stretto, non occupa necessariamente la larghezza di questo valore. |
Non è necessario memorizzare ogni proprietà in questa fase. Prima identifica quale elemento corrisponde al selettore e quale aspetto di quell'elemento viene modificato da ciascuna dichiarazione. Un foglio di stile esterno ti permette di riutilizzare lo stesso design su più pagine. Per ulteriori dettagli, vedi Applica CSS con stili Inline, Interni ed Esterni.
Cambia tre valori e confronta i risultati
- Sostituisci
colorinh1con#1d4ed8. Se salvi e ricarichi, solo il titolo grande sarà blu. I colori degli h2 e dei paragrafi generali della guida per i visitatori non sono soggetti a questa regola. - Modifica
line-heightdibodyda1.7a2. L'altezza della linea del corpo sarà maggiore. Puoi vedere più facilmente le differenze inserendo un paragrafo con più di due righe o restringendo la finestra. - Sostituisci
background-colorin.noticecon#fff4cc. Solo lo sfondo delle informazioni sugli orari di apertura diventa giallo. L'intero sfondo della pagina è specificato separatamente nel corpo, quindi rimane lo stesso.
Invece di cambiare tutti e tre i valori contemporaneamente, salva e controlla ogni volta che modifichi un elemento. Se i risultati sono diversi, verifica se il file modificato e il file aperto nel browser sono gli stessi e se le parentesi graffe e i due punti sono presenti. Quando hai finito l'esercizio, ripristina i tre valori al loro stato originale, aggiorna e confronta con lo schermo originale. Durante questo processo, la chiave è mantenere la struttura del titolo HTML, del paragrafo e del link.




