CSS (Cascading Style Sheets) è un linguaggio di stile utilizzato per descrivere la presentazione di un documento scritto in HTML o XML (inclusi i dialetti XML come SVG o XHTML). CSS definisce come gli elementi del documento devono essere visualizzati sullo schermo, sulla stampa, nella voce o su altri media. Originariamente creato nel 1996, CSS è fondamentale per lo sviluppo web moderno e consente agli sviluppatori di separare il contenuto dalla presentazione.
I selettori CSS permettono di scegliere gli elementi HTML ai quali applicare lo stile. Ogni regola di stile consiste in un selettore e un blocco di dichiarazione, dove si specificano le proprietà e i valori desiderati.
Il modello a scatola di CSS descrive il design e il layout di ogni elemento della pagina come una scatola rettangolare. Questo modello include margin
, border
, padding
e l'area di content
.
CSS offre diversi metodi per organizzare il layout di una pagina, inclusi flexbox, grid, e posizionamento. Questi strumenti consentono di creare layout complessi e reattivi.
Sebbene CSS non sia un linguaggio di programmazione nel senso tradizionale e non supporti strutture di controllo come if-else o cicli, CSS3 ha introdotto funzionalità come le variabili (custom properties) e le funzioni (calc()
, var()
) che offrono maggiore flessibilità nella definizione degli stili.
Le Media Queries permettono di applicare stili diversi a seconda delle caratteristiche del dispositivo di visualizzazione, come la larghezza della viewport o l'orientamento dello schermo, rendendo i siti web reattivi e accessibili su un'ampia gamma di dispositivi.
Preprocessori come Sass, Less e Stylus estendono CSS con funzionalità come variabili, nesting, mixins e funzioni, permettendo una gestione più efficiente e modulare dei fogli di stile.
Framework come Bootstrap, Foundation e Tailwind CSS offrono collezioni predefinite di codice CSS, HTML e JavaScript per accelerare lo sviluppo di siti web responsive e mantenere la coerenza nel design.
CSS continua a evolversi con l'aggiunta di nuove proprietà, selettori e funzionalità, come CSS Grid Layout e le variabili CSS. La comunità di sviluppatori collabora per mantenere il linguaggio al passo con le esigenze del design web moderno, migliorando l'accessibilità, la performance e la facilità d'uso.
CSS è un pilastro dello sviluppo web, essenziale per creare interfacce utente attraenti e funzionali. La sua capacità di separare il contenuto dalla presentazione migliora l'accessibilità e la manutenibilità dei progetti web, mentre l'evoluzione continua del linguaggio assicura che rimanga al passo con le esigenze degli sviluppatori e degli utenti.