Il Fogli di Stile - CSS
Cosa sono i CSS ?



CSS è un linguaggio mediante il quale è possibile
definire la formattazione di documenti HTML, XHTML
e XML  ad es. siti web e relative pagine.
CSS è l’acronimo di:
 CASCADING
 STYLE
 SHEETS
In italiano: Fogli di Stile “a cascata”.
Cosa sono i CSS ?



Insieme di regole che indica il tipo di formattazione
da applicare.
Regole contenute in un insieme di direttive
(Recommendations) emanate a partire dal 1996 dal
W3C (WWW Consortium)
Sintassi delle regole:
selettore { proprietà: valore;
proprietà: valore;
...
}
UTILIZZO DEI CSS (Parte 1)

È possibile inserire le regole nella sezione HEAD
della pagina HTML (preambolo del documento):
<html>
<head>
<style type=“text/css”>
<!-h1 { color: red; }
p { font-family: sans-serif; }
-->
</style>
</head>
<body>
…
(CONTENUTI CORPO DELLA PAGINA)
</body>
</html>
UTILIZZO DEI CSS (Parte 2)

È possibile inserire le regole INLINE nel BODY della
pagina HTML (per ogni singolo elemento):
<html>
<head>
…
</head>
<body>
<h1 style=“color: blue”>
Titolo di colore blu
</h1>
<p> ... Paragrafo ... </p>
<h1> ... Titolo non formattato ... </h1>
</body>
</html>
UTILIZZO DEI CSS (Parte 3)

È possibile inserire le regole in un file esterno alla
pagina HTML.
(Attenzione: hanno minore precedenza)
<html>
<head>
<link rel=“stylesheet” href=“file_stile.css”
type=“text/css”>
</head>
<body>
<h1>Titolo di colore blu</h1>
<p> ... Paragrafo ... </p>
</body>
</html>
UTILIZZO DEI CSS (Parte 3bis)

È possibile inserire le regole in un file esterno alla
pagina HTML.
(Attenzione: hanno minore precedenza)
<html>
<head>
<style type="text/css"> @import
url(file_stile.css); </style>
</head>
<body>
<h1>Titolo di colore blu</h1>
<p> ... Paragrafo ... </p>
</body>
</html>
FILES CSS ESTERNI (Parte 1)


È possibile richiamare più di un file .CSS nella stessa
pagina web: l’ultimo ha la precedenza.
Una pagina web può essere visualizzata su dispositivi con
caratteristiche molto diverse: PC, smartphone, palmari,
stampanti, dispositivi braille, screen reader,…
<head>
<title> Esempio con differenti dispositivi </title>
<link rel=“stylesheet” media=“screen”
href=“screen.css” type=“text/css”>
<link rel=“stylesheet” media=“print” href=“print.css”
type=“text/css”>
<link rel=“stylesheet” media=“aural”
href=“screenreader.css” type=“text/css”>
</head>
FILES CSS ESTERNI (Parte 2)


È possibile richiamare più di un file .CSS nella stessa
pagina web: l’ultimo ha la precedenza.
Una pagina web può essere visualizzata su
dispositivi con caratteristiche molto diverse: PC,
smartphone, palmari, stampanti, dispositivi braille,
screen reader,…
<head>
<title> Esempio con differenti dispositivi </title>
<link rel=“stylesheet” media=“screen”
href=“screen.css” type=“text/css”>
<link rel=“stylesheet” media=“print”
href=“print.css” type=“text/css”>
</head>
L’ATTRIBUTO MEDIA

È anche possibile utilizzare gli operatori logici come
and, not e only.








screen: schermo di computer;
print: pagina stampata;
projection: presentazioni e proiezioni;
speech: dispositivi a sintesi vocale;
braille: supporti basati sull’uso del braille;
handheld: dispositivi mobili con schermo piccolo e in
genere dotati di browser con limitate capacità grafiche;
tty: dispositivi a carattere fisso come i terminali;
tv: visualizzazione su schermi televisivi.
<link rel=“stylesheet” media=“screen and (color) and
(device-aspect-ratio: 16/9)” href=“colore.css“ />"
REGOLE DI APPLICAZIONE

Uno stile applicato ad un elemento viene applicato
automaticamente anche a tutti i suoi sottoelementi
<body style=“color:blue”>
... testo ...
<div style=“color:green”>
... testo ...
</div>
<div> ... testo ... </div>
</body>

L’ultimo DIV cambia il colore del testo interno, anche
se non specificato!!
I SELETTORI (Parte 1)




DI TIPO: p { font-size : 8pt}
DI ATTRIBUTO: valori degli attributi class e id
<style type=“text/css”>
#p_idenficatore { color:blue; }
.p_classe { font-weight:bold; }
</style>
…
<p id=“p_identificatore”> Testo in blu </p>
<p class=“p_classe”> Testo in grassetto </p>
UNIVERSALI
 * { font_weight:bold; }
RAGGRUPPAMENTO DI SELETTORI
 h1, h2 { color:blue; font-size:10pt; }
I SELETTORI (Parte 2)


FIGLI E DISCENDENTI
 selettore di figli: h1 > p { ...}
 selettore di discendenza: h1 p { ...}
DI ADIACENZA
 p + div { ...}
ORDINE DI PRECEDENZA:
CSS INLINE  CSS esterni  Impostazioni personali
dell’utente  Impostazioni predefinite del browser (se non
definito o se il browser non supporta i CSS)
 Se vengono definite più regole con la stessa importanza
per uno stesso elemento, l’ultima definita è quella che verrà
applicata
 Ereditarietà: ogni figlio eredita le impostazioni del padre

I SELETTORI (Parte 3)
LE PSEUDOCLASSI: I LINK

Non definisce un elemento ma un suo particolare
stato
 Es. a:link:hover {font-size:3 cm; color:#F00;}
 Es2. p:first-child {font-size:12px; color:#000;}
PSEUDOCLASSE
:link
:visited
:active
:hover
:focus
RISULTATO
link non visitato
link visitato
link attivo
vi si trova sopra il mouse
elemento attivo (tab)
GLI PSEUDOELEMENTI


Consentono un controllo approfondito sui formati
tipografici degli elementi dei blocchi
 Es. p:first-letter { color:red; }
Attenzione:non sempre sono supportati dai browser!
PSEUDOELEMENTO
:first-letter
:first-line
:before
:after
RISULTATO
prima lettera di un blocco
prima riga di un blocco
testo da aggiungere prima
o dopo un elemento
UNITÁ DI MISURA

Esistono diverse unità di misura; si dividono in:
 relative: ex, em, percentuale
 assolute: cm, mm, in, pt, px, pc
Unità
Definizione
Esempio
em
ex
px
in
cm
mm
pt
pc
%
Altezza media del font utilizzato
Altezza della x nel font utilizzato
Numero di pixel nello schermo
Inch, pollici (1 in = 2,54 cm)
Centimetri
Millimetri
Punti (1 pt = 1/72 pollici)
Pica (1 pc = 12 punti)
Valore in percentuale relativo a
quello dell’elemento principale
h1 { margin: 0.5em }
h2 { margin: 1ex }
p { font-size: 12px }
p { font-size: 0.5in }
p { font-size: 0.3cm }
p { font-size: 3mm }
p { font-size: 12pt }
p { font-size: 1pc }
p { line-height: 120% }
I COLORI


Espressi con il formato RGB (Red, Green, Blue)
 #RRGGBB
 #FFFFFF  bianco
#FF0000  rosso
 #00FF00  verde
#0000FF  blu
 rgb(y,y,y) oppure rgb(y%, y%, y%)
 rgb(255,0,0) o rgb(100%,0%,0%)
rappresentano il rosso brillante
Colori predefiniti che funzionano su tutti i browser:




aqua
gray
fuchsia
…
black
green
maroon
white
lime
purple
IL POSIZIONAMENTO



statico (tipico di HTML): ogni elemento è
posizionato in base al flusso di dati del documento;
assoluto: permette di astrarre il CSS dal flusso dei
dati, consentendo di posizionarlo in qualsiasi punto
della pagina (elementi che possono anche venire
sovrapposti).
relativo: non esce dal flusso di dati, nè produce
alcuna modifica rispetto agli elementi posizionati in
modo statico. Se vengono impostate le proprietà left
e right, si spostano gli elementi a sinistra e in alto di
quello che lo precede.
ATTRIBUTO ABSOLUTE
<DIV STYLE="position:absolute;
top:100px; left:100px;">
<IMG SRC="elemento01.gif" border="0">
</DIV>
ATTRIBUTO RELATIVE
<P>Esempio di posizionamento
<SPAN STYLE="position:relative; top:10px;
left:10px;"><B>relativo</B></SPAN>
usando il marcatore SPAN all’interno del …
alla parola precedente "posizionamento".
</P>
PROPRIETÀ VISIBILITY




Determina se un elemento debba essere visibile o
nascosto. Si applica a tutti gli elementi e non è
ereditata.
l’elemento non viene rimosso dal flusso del
documento e occupa lo spazio relativo alle sue
dimensioni (c’è ma non si vede).
I valori possibili sono:
– visible: default, l’elemento è visibile
– hidden: elemento nascosto (apparirà una zona
vuota)
– collapse: usato nelle tabelle (per righe,colonne e
celle).
Differente dalla proprietà “display: none”.
PROPRIETÀ Z-INDEX (Parte 1)



Imposta l'ordine di posizionamento dei vari elementi
sulla base di una scala di livelli.
Stabilisce la disposizione degli elementi posizionati
lungo l’asse perpendicolare allo schermo.
Esempio:
– <div style="z-index: 1">
– <div style="z-index: 2">
– <div style="z-index: 3">
PROPRIETÀ Z-INDEX (Parte 2)

Codice HTML:
<BODY>
<div class="div1">TESTO DEL PRIMO DIV</div>
<div class="div2">TESTO DEL SECONDO DIV</div>
<div class="div3">TESTO DEL TERZO DIV</div>
</BODY>
PROPRIETÀ Z-INDEX (Parte 3)

Codice HTML:
<STYLE>
div
{ border: #000 solid 2px;
height: 200px;
width: 400px;
padding: 30px;
position: absolute; }
.div1
{ background-color: #DDD;
top: 20px;
left: 20px;
z-index: 1;
visibility: visible; }
.div2
{ background-color: #AAA;
top: 80px;
left: 150px;
z-index: 2;
visibility: visible; }
.div3
{ background-color: #666;
top: 160px;
left: 300px;
z-index: 3;
visibility: visible; }
</STYLE>
PROPRIETÀ Z-INDEX (Parte 4)

Risultato finale:
Scarica

I Fogli di Stile CSS