dicembre 2022 Aggiornata giugno 2023

CSS

(Cascading Stile Sheets)

Solo con gli oggetti html la pagina verrebbe letta come un foglio di testo tipo word dall’alto verso il basso.

Per vestire graficamente la pagina ci vengono incontro i CSS.

I CSS danno istruzioni agli oggetti HTML su come devono essere visualizzati a livello di layout e grafico.

Per riconoscere gli oggetti che vogliamo formattare tramite CSS è necessario identificarli con un selettore: Il selettore identifica l’oggetto HTML che vogliamo formattare.

Avremo quindi nell'HTML una serie di oggetti identificabili (tramite tag o tramite classe), e nel foglio CSS una serie di "regole" che danno istruzioni ai selettori su come devono essere formattati.

Una regola css consiste in un selettore e un blocco di dichiarazioni.
Sintassi:
selettore {proprietà:valore; proprietà:valore }

il selettore può essere un qualsiasi tag HTML oppure una classe CSS creata da noi:
tag HTML:
h1{}
div{}
p{}

Classe CSS:
.myclass-01{}
.myclass-02{}
...
con le classi abbiamo la possibilità di dare un nome (classe) a qualsiasi oggetto HTML in modo che possa essere riconosciuto e richiamato come selettore .

la classe CSS è una proprietà che viene data all’ oggetto HTML

CSS
<style>
.myclass-01{color: red}
</style>

HTML
<div class=”myclass-01”>

È bene organizzare i CSS con una logica di gerarchia e di ereditarietà, in modo di evitare ripetizioni e regole ridondanti e incrociate, partendo da macro-indicazioni per poi scendere a cascata (per quello si chiamano così) nello specifico.

Esempio 01:

Tutti i titoli (h1) avranno una dimensione di 20px e colore blu, ma solo un alcuni casi avranno un margine e un bordo sotto.

CSS
<style>
h1{font-size:20px}
.my-border{margin: 0 0 20px 0; border-bottom: 3px solid blue}
</style>

HTML
<h1>titolo normale</h1>
<h1 class=”my-border”>titolo con bordo</h1>

Esempio 02:

Tutti i paragrafi avranno una dimensione di 14px, ma solo quelli inseriti in un contenitore con classe”.paragrafo-speciale”, saranno in corsivo e bold

CSS
<style>
p{font-size:14px}
.paragrafo-speciale p{font-style: italic; font-weight: bold}
</style>

HTML
<p>paragrafo normale</p>
<div class=”paragrafo-speciale”> <p>Testo paragrafo speciale</p>
</div>

in questo caso abbiamo sfruttato il concetto di ereditarietà, perchè siamo andati a cercare un oggetto figlio di un altro oggetto ( il “p” dentro il “paragrafo-speciale” )