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: