Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
È un linguaggio per descrivere l’aspetto, lo stile degli elementi di un documento HTML [CSS non
può esistere senza HTML]. Ogni elemento HTML è caratterizzato da attributi, a cui è associato un
valore di default. Il CSS, quindi, modifica i valori di base.
Se sono presenti più definizioni di stile per lo stesso elemento, prevale l’ultima [dal generale
all’elemento specifico]: CSS di default del browser, CSS esterno, CSS embedded e infine CSS inline.
<html>
<head>
<title>…</title>
<style type=“text/css”>
p {
color: red;
}
</style>
</head>
elemento {
attributo: valore;
…
}
È possibile specificare più classi per lo stesso elemento, applicando tutte le regole corrispondenti
ed evitando di creare classi apposite per ogni combinazione di classi definite [attenzione: se le regole
operano sugli stessi elementi, prevale l’ultima].
Usando le classi, è possibile creare delle versioni diverse dello stesso elemento di base. È quindi
possibile restringere il campo di applicazione dei selettori.
• selettori raggruppati (separati da una virgola): si applicano tutte le regole, ad ognuno dei selettori
[es: p, a { … }]
• selettori annidati (separati da spazio): si applicano tutte le regole solo quando un elemento
rispetta l’annidamento, da destra verso sinistra ad ognuno dei selettori [es: #link a p { … }
ovvero un paragrafo, con all’interno un link, con id: link]
• color:…;
Da specificare nell’elemento <body>. Utilizza colori pre-impostati [es: color:red;], valori RGB [es:
color:rgb(0,0,255);] o valori esadecimali [es: color:#0000FF; → sistema in base 16, con valori
da 0 a 9, da A a F. Le prime due cifre corrispondono al rosso, le successive al verde, le ultime al blu].
• width:…; height:…;
Le unità di misura assolute mantengono uguale dimensione, a prescindere dalla grandezza della
finestra del browser [es: pt - testi, px - blocchi].
Le unità di misura relative dipendono dalla dimensione della finestra del browser. Esse sono: %
(dimensione in percentuale rispetto allo schermo), em (unità di misura definita in base alla
dimensione del carattere M maiuscolo del font usato nell’elemento contenitore).
[è utile definire menù e barra di ricerca in px, mentre gli altri elementi in %]
> layout
struttura box model: ogni elemento HTML definisce un contenitore, box, a strati, a cui applicare
uno stile CSS. Ogni box è definito da quattro elementi, dall’interno verso l’esterno: content,
padding, border e margin.
> content
Specifica l’area dell’elemento, tutto ciò che è visibile all’utente.
Per definire alcune proprietà di dimensione, l’oggetto dev’essere di tipo blocco [es: <span> è un
contenitore in linea, non un blocco].
• height (altezza), width (larghezza) seguite da un valore numerico con unità di misura, un
valore percentuale o auto (dimensione determinata dal contenuto)
• min-height, max-height, min-width, max-width: dimensioni minime e massime, seguite
da un valore numerico con unità di misura o un valore percentuale
> padding
È uno spazio vuoto, regolabile in ogni lato [padding-top, padding-right, padding-left,
padding-bottom], tra il contenuto e il bordo delle elemento.
I valori possono essere numerici, percentuali oppure calcolati automaticamente rispetto alla
larghezza dell’elemento contenitore (auto).
[quando si specifica lo sfondo di un elemento, esso occuperà l’area definita da content + padding].
> border
È il bordo, regolabile in ogni lato, con tre possibili attributi: style, width, color.
• style, obbligatorio per visualizzare i successivi: solid (linea continua), dotted (a punti),
none o hidden (nessun bordo), dashed (a trattini), double (doppio bordo) oppure con effetti
tridimensionali, non sempre supportati dai browser: groove, ridge, inset, outset
• width, seguito da valore numerico con unità di misura, thin, medium, thick
• color
proprietà applicate a tutti e quattro i lati: border:…; [valido anche per padding e margin]
sintesi delle caratteristiche dei bordi: border: dimensione stile colore;
[es: border-top: 2px solid black;]
Attenzione all’ordine di scrittura: l’ultima proprietà sovrascrive le precedenti.
> margin
È l’involucro esterno del box, regolabile in ogni lato. Consente di definire la spaziatura fra elementi.
[attenzione: l’altezza del contenuto non corrisponde all’altezza del box]
Nel caso di un contenitore dentro l’altro, le dimensioni in percentuale del box interno si riferiscono
a quello esterno.
Uno stile applicato ad un blocco esterno viene ereditato dai blocchi in esso contenuti.
Alcune proprietà, quali quelle di formattazione del box model, non vengono ereditate. È necessario
creare nuove classi. L’obbiettivo è ridurre al minimo i valori da specificare.
> posizionamento
> float
È possibile estrarre un elemento dal normale flusso del documento, affiancandolo al lato opposto
del suo contenitore, rispetto a quello indicato come valore di float.
• float:none; : l’elemento mantiene la sua posizione di default
• float:left; : l’elemento viene spostato sul lato sinistro del box, il contenuto scorre a destra
• float:right; : l’elemento viene spostato sul lato destro del box, il contenuto scorre a sinistra
• mantiene la sua posizione di default
> clear
Impedisce il posizionamento di altri elementi, a fianco di un elemento float.
• clear:none;
• clear:left; : impedisce il posizionamento a sinistra
• clear:right; : impedisce il posizionamento a destra
• clear:both; : impedisce il posizionamento su entrambi i lati
> display
Modifica l’apparenza alle categorie blocco, inline, lista, di ogni elemento.
• display:inline; : l’elemento diventa di tipo inline
• display:block; : l’elemento diventa di tipo blocco
• display:list-item; : l’elemento diventa di tipo lista
• display:none; : l’elemento viene trattato come se non ci fosse, non occupa spazio e non
viene mostrato [mentre invece visibility:hidden; nasconde l’elemento, ma mostra lo spazio
occupato]
[è utile modificare un elemento inline in blocco, per abilitare le proprietà del box model]
> position
Permette di gestire la posizione degli elementi.
• position:static; : posizionamento di default nel flusso
• position:absolute; : il box dell’elemento viene posizionato rispetto al primo elemento con
un attributo position differente da static.
• position:relative; : l’elemento viene posizionato relativamente al box che avrebbe
occupato nel flusso di default
• position:fixed; : posizionamento rispetto alla finestra del browser [specifica un margin, poi
fissa il box]
Poi, è necessario definire una sequenza di @keyframes. From definisce l’inizio, to la fine, i valori
intermedi sono specificati in percentuale.