Cascading style sheets
Sintassi
La sintassi dei fogli di stile è realizzata in tre parti: un elemento,
una proprietà e un valore secondo questa regola:
ELEMENTO {proprietà: valore}
L’elemento è normalmente il tag HTML al quale si vuole applicare
uno stile.
Per esempio:
BODY {color:black}
Indica che tutto il testo della pagina sarà di colore nero
1
Lezione 6
Cascading style sheets
Sintassi
Quando una proprietà ha un valore composto da più attributi questi
devono essere racchiusi tra virgolette, per esempio
P {font-family: “sans serif”}
Si possono assegnare più proprietà allo stesso elemento ma queste
devono essere separate da “;”, per esempio:
P {color: red;
font-family: “times new roman”
}
2
Lezione 6
Cascading style sheets
Sintassi
Si può definire lo stesso stile per più di un elemento, bisgona però
separare gli elementi con delle virgole, per esempio:
H1, H2 {color: red}
Ad una stessa proprietà possono corrispondere più valori, il browser
in questo caso riconoscerà come valida la prima che è in grado di
riconoscere, per esempio:
P {font-family: “sans serif”, courier, arial }
3
Lezione 6
Cascading style sheets
Inserimento delle pagine di stile
Pagine esterne
Una pagina di stile esterna è la soluzione migliore quando lo stile
viene applicato a più di una pagina. Questo permette di modificare
l’aspetto di un sito web modificando solo la pagina di stile.
La sintassi per inserire una pagina esterna, per esempio la pagina
mystyle.css è la seguente:
<HEAD>
<LINK rel=“stylesheet” type=“text/css” href=“mystyle.css”>
</HEAD>
4
Lezione 6
Cascading style sheets
Inserimento delle pagine di stile
Pagine interne
Una pagina web interna può essere usata quando un singolo
documento deve avere un proprio stile.
Per inserire uno stile in una singola pagina si usa il tag STYLE tra i
tag HEAD come di seguito:
<HEAD>
<STYLE type=“text/css”>
H1 {color: red}
P {margin: 20px}
</STYLE>
5
Lezione 6
Cascading style sheets
Inserimento delle pagine di stile
Stili inline
Per usare gli stili inline si usa l’attributo STYLE nel tag di cui si vuole
modificare l’aspetto come di seguito:
<P STYLE=“color: red”>
</P>
Uno stile inline perde molti dei vantaggi delle pagine di stile.
Va usato solo quando uno stile deve essere applicato ad un solo
elemento una sola volta.
6
Lezione 6
Cascading style sheets
Ordine di inserimento
Quale stile viene usato quando siamo in presenza di più di uno stile
per un elemento?
Tutti gli stili seguono sempre questa priorità:
1. Stili inline
2. Pagina di stile interna (definita nel tag HEAD)
3. Pagina di stili esterna (definita nel file .css)
7
Lezione 6
Cascading style sheets
L’attributo media
Grazie ad esso siamo in grado di impostare un foglio di stile per ogni
supporto su cui la nostra pagina verrà distribuita. Una possibilità
davvero interessante e che andrà sempre più diffondendosi con
l'ampliarsi dei mezzi di diffusione delle pagine (X)HTML.
Dove prima c'era unicamente un browser, domani potranno sempre più
esserci palmari, cellulari e altri dispositivi. Per non parlare dei software
usati da disabili come i browser vocali. Ciascuno di questi supporti
presenta caratteristiche diverse in termini di memoria, ampiezza dello
schermo e funzionalità. Riuscire ad adattare uno stile unico a tutti è
praticamente impossibile, oltre che controproducente. La soluzione
ideale sta quindi nella creazione di fogli di stile ad hoc.
8
Lezione 6
Cascading style sheets
L’attributo media
L'attributo media può accompagnare sia l'elemento <LINK> che l'elemento
<STYLE>. Ecco due esempi di sintassi:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
<style type="text/css" media="screen">...</style>
Per sfruttare a fondo questa opzione è fondamentale conoscere i diversi valori
possibili per l'attributo:
1. all. Il CSS si applica a tutti i dispositivi di visualizzazione.
2. screen. Valore usato per la resa sui normali browser web.
3. print. Il CSS viene applicato in fase di stampa del documento.
4. projection. Usato per presentazioni e proiezioni a tutto schermo.
5. aural. Da usare per dispositivi come browser a sintesi vocale.
6. braille. Il CSS viene usato per supporti basati sull'uso del braille.
7. embossed. Per stampanti braille.
8. handheld. Palmari e simili.
9. tty. Dispositivi a carattere fisso.
10.tv.Web-tv.
9
Lezione 6
Cascading style sheets
L’attributo media
L'uso più tipico dell’attributo media consiste nel collegare al documento
vari fogli di stile adatti a ciascun supporto. Lo user agent che
visualizzerà la pagina sarà in grado, se conforme agli standard, di
caricare quello giusto:
<link rel="stylesheet" type="text/css" media="screen"
href="screen.css" />
<link rel="stylesheet" type="text/css" media="print, tv, aural"
href="print.css" />
10
Lezione 6
Cascading style sheets
Proprietà singole e a sintassi abbreviata
Nelle definizione delle regole è posssibile fare uso di proprietà singole
e proprietà a sintassi abbreviata. Con questa espressione
traduciamo il termine inglese shorthand properties reso spesso, alla
lettera, con il termine scorciatoie.
Le proprietà singole sono la maggior parte: impostano per un dato
elemento o selettore un singolo aspetto.
Con le shorthand properties, è possibile invece definire con una sola
dichiarazione un insieme di proprietà.
11
Lezione 6
Cascading style sheets
Fogli di stile alternativi
In un singolo documento è possibile collegare più fogli di stile.
Gli autori della specifica (X)HTML hanno esplicitamente previsto questo
scenario introducendo due valori possibili per l'attributo rel all'interno
dell'elemento <LINK>:
1. stylesheet
2. alternate stylesheet
Il primo identifica il foglio di stile che servirà a formattare normalmente
il documento, diciamo il CSS di default. Il secondo identifica un CSS
come alternativo rispetto a quello standard. Ecco un esempio di codice:
<link rel="stylesheet" type="text/css" href="stile.css" />
<link rel="alternate stylesheet" type="text/css"
href="stile_alternativo.css" />
Sta all'autore implementare un sistema che consenta all'utente di scegliere dinamicamente
lo stile alternativo sostituendolo al primo. La via più semplice è di farlo con un semplice
Javascript in grado di intervenire su proprietà e attributi dell'elemento <LINK>
12
Lezione 6
Cascading style sheets
Proprietà singole e a sintassi abbreviata
Esempio:
Ogni elemento presenta sui suoi quattro lati un certo margine rispetto a
quelli adiacenti. È possibile definire per ciascuno di essi un valore
usando quattro proprietà singole separate:
1. margin-top
2. margin-right
3. margin-bottom
4. margin-left
La regola sarebbe questa:
div {
margin-top: 10px;
margin-right: 5px;
margin-bottom: 10px;
margin-left: 5px;
}13
Lezione 6
Cascading style sheets
Proprietà singole e a sintassi abbreviata
Lo stesso risultato si può ottenere usando la proprietà a sintassi
abbreviata margin:
div {margin: 10px 5px 10px 5px;}
Oppure
div {margin: 10 px}
14
Lezione 6
Cascading style sheets
Proprietà dello sfondo
Le proprietà di sfondo permettono di controllare il colore (o l’immagine)
di background della pagina web.
15
Proprietà
Valori
ammessi
Descrizione
backgroundcolor
Nome, valore,
RGB, valore
esadecimale
Red, rgb(255,
0, 0)
#000000,
Trasparent
Colore
trasparente
Lezione 6
Permette di
impostare il
colore di
sfondo
Cascading style sheets
Proprietà dello sfondo
Esempio:
body {
background-color: #6ACC00;
}
16
Lezione 6
Cascading style sheets
Proprietà dello sfondo
17
Proprietà
Valori ammessi
background-image
1. url dell’immagine Permette di
2. none (nessuna
impostare una
immagine
immagine di sfondo
background-repeat
1. Top left
2. Top center
3. Top right
4. Center left
5. Center right
6. Center center
7. Bottom left
8. Bottom right
9. Bottom center
10.-x, -y
11.No-repeat
Lezione 6
Descrizione
Permette scegliere
come ripetere
l’immagine di
sfondo
Cascading style sheets
Proprietà dello sfondo
Proprietà
Valori ammessi
Descrizione
backgroundattachment
1. Scroll (si muove
con il testo)
2. Fixed (immagine
fissa)
Indica se l’immagine
di sfondo è fissa o so
muove con la pagina
18
Lezione 6
Cascading style sheets
Proprietà dello sfondo
Esempio:
body {
background-image: url(halloween.jpg);
background-repeat: no-repeat;
background-position: left;
background-attachment: scroll;
}
19
Lezione 6
Cascading style sheets
Proprietà del testo
Le proprietà del testo permettono di scegliere uno stile per il testo, una
dimensione, un colore ecc..
Proprietà
Valori ammessi
Descrizione
color
1. Rgb, esadecimale, nome
colore
Imposta il colore di un testo
letter-spacing
1. Normal
2. Value (valore in pixel)
Permette di definire la
spaziatura tra le lettere del
testo
text-align
1.
2.
3.
4.
Center
Left
Right
Justify
Permette di definire
l’allineamento del testo
text-decoration
1.
2.
3.
4.
5.
None
Underline
Overline
Blink
Line-through
Aggiunge decorazioni al
testo
20
Lezione 6
Cascading style sheets
Proprietà del testo
body {
background-color: transparent;
color: #4169E1;
}
p{
letter-spacing: normal;
text-align: center;
text-decoration: underline;
}
21
Lezione 6
Cascading style sheets
Proprietà del testo
Le proprietà del testo permettono di scegliere uno stile per il testo, una
dimensione, un colore ecc..
Proprietà
Valori ammessi
Descrizione
text-indent
1. Valore
Indenta la prima linea del
testo
text-transform
1.
2.
3.
4.
Controll il maiuscolo e il
minuscolo
22
None
Capitalize
Uppercase
lowercase
Lezione 6
Cascading style sheets
Proprietà del testo
body {
background-color: transparent;
color: #4169E1;
}
p{
letter-spacing: normal;
text-align: center;
text-decoration: underline;
text-indent: 20px;
text-transform: capitalize;
}
23
Lezione 6
Cascading style sheets
Font
Le proprietà del carattere permettono di cambiare la forma del
carattere, il grado di grassetto, la dimensione del testo ecc..
Proprietà
Valori ammessi
Descrizione
font-family
1.
2.
3.
4.
5.
6.
Definisce la forma del carattere
font-size
1. Xx-small
2. X-small
3. Small
4. Medium
5. Large
6. Xx-large
7. X-large
8. Smaller
9. Larger
10. Valore in pixel
24
Serif
Sans-serif
Monospace
Cursive
Fantasy
Nome carattere a scelta
Definisce la dimensione del
testo
Lezione 6
Cascading style sheets
Proprietà del testo
p{
letter-spacing: normal;
text-align: center;
text-decoration: underline;
text-indent: 20px;
text-transform: capitalize;
font-family: fantasy;
font-size: 30px;
}
25
Lezione 6
Cascading style sheets
Font
Proprietà
Valori ammessi
Descrizione
font-style
1. Normal
2. Italic
3. oblique
Sceglie tra normale e
obliquo
font-variant
1. Normal
2. Small-caps
Imposta il maiuscolo
font-weight
1.
2.
3.
4.
5.
Imposta il grado di
grassetto
26
Normal
Bold
Bolder
Lighter
100/200/300/400/500/60
0 (400 è valore normale,
700 è grassetto)
Lezione 6
Cascading style sheets
Proprietà del testo
p{
letter-spacing: normal;
text-align: center;
text-decoration: underline;
text-indent: 20px;
text-transform: capitalize;
font-family: sans;
font-size: 30px;
font-style: italic;
font-variant: normal;
font-weight: 700;
}
27
Lezione 6
Cascading style sheets
Liste
Le proprietà delle liste permettono di scegliere tra diversi marcatori di
una voce di lista o di impostare una immagine come marcatore.
Proprietà
Valori ammessi
Descrizione
list-style-image
1. None
2. url
Permette di definire una
immagine come marcatore
list-styleposition
1. Inside
2. Outside
Posiziona il marcatore
list-style-type
1.
2.
3.
4.
5.
6.
7.
8.
9.
Permette di definire la
forma del marcatore
28
None
Disc
Circle
Square
Decimal
Lower-roman
Upper-roman
Lower-alpha
Upper-alpha
Lezione 6
Cascading style sheets
Liste
ul {
list-style-image: url(quote.gif);
list-style-position: outside;
}
29
Lezione 6
Cascading style sheets
I box
Il riquadro o box è formato da un’area per il contenuto che può essere
un testo o una immagine, da una spaziatura (padding) che racchiude
l’area del contenuto, da un bordo e da un margine.
Top
Margin
Border
Padding
Left
Contenuto
Bottom
30
Lezione 6
Right
Cascading style sheets
I box
Le dimensioni di un box dipendono da diversi fattori.
La larghezza del box è determinata
dalla somma dell’ampiezza del
contenuto e delle ampiezze di
sinistra e destra del margine,
del bordo e del padding.
Analogamente per l’altezza.
31
Lezione 6
Cascading style sheets
I box
Proprietà
Valori ammessi
Descrizione
margin
1. Valore
2. Auto
3. %
Definisce la distanza tra il
bordo del box e il bordo del
browser
border-width
1.
2.
3.
4.
Spessore del bordo
border-style
1. None
2. Hidden
3. Dotted (punteggiato)
4. Dashed (tratteggiato)
5. Solid (linea continua)
6. Double (doppio)
7. Groove (incassato)
8. Ridge (in rilievo)
9. Inset (all’interno)
10.Outset (all’esterno)
32
Thin
Medium
Thick
Valore
Stile del bordo
Lezione 6
Cascading style sheets
I box
Proprietà
Valori ammessi
Descrizione
padding
1. Valore
2. %
Definisce la distanza
tra il contenuto e il
margine del box
height
1. Valore
2. Auto
3. %
Imposta l’altezza del
box
width
1. Valore
2. Auto
3. %
Imposta la larghezza
del box
Display
1. None
2. Block (aggiunge una riga prima e dopo il
box)
3. Inline (senza interruzione di riga)
4. list-item (viene considerato come la voce di
una lista)
5. Run-in (il browser sceglie tra block e inline)
33
Lezione 6
Cascading style sheets
I box
Proprietà
Valori ammessi
Descrizione
position
1. Static (statica rispetto al browser)
2. Relative (sposta l’elemento a partire dalla
posizione assunta dal browser)
3. Absolute (in un punto qualsiasi della
pagina)
4. Fixed (come absolute, ma supporta lo
“scrolling”)
Posiziona l’elemento
1. Valore
Specifica la posizione
dell’elemento rispetto al
valore specificato
1.
2.
3.
4.
Specifica come deve
essere visualizzato il
contenuto di un box se
oltrepassa le dimensioni
Top
Bottom
Right
Left
•
•
•
•
Overflow
34
Visible
Hidden
Auto
Scrolling
Lezione 6
Cascading style sheets
I floating box
La proprietà float viene usata per trascinare un box a sinistra o a destra
sulla linea corrente.
Un box “flottante” viene trattato come un box e viene trascinato a
sinistra o a destra fino a che il suo margine esterno non tocca il
margine del box che lo contiene.
Proprietà
Valori ammessi
Descrizione
float
1. Left
2. Right
3. None
Sposta il box a sinistra o a
destra sulla linea corrente
35
Lezione 6
Cascading style sheets
Esempi
Vogliamo costruire con l’aiuto di un foglio di stile un menu orizzontale.
Per farlo useremo le liste.
<body>
Esempio di menu con css
<ul>
<li><a href="#">Link1</a></li>
<li><a href="#">Link2</a></li>
<li><a href="#">Link3</a></li>
<li><a href="#">Link4</a></li>
</ul>
<p>Testo Testo Testo Testo Testo Testo
Testo Testo Testo Testo Testo Testo Testo Testo </p>
</body>
36
Lezione 6
Cascading style sheets
Esempi
ul {
float: left;
width: 100%;
}
li {
display: inline;
}
37
Lezione 6
Cascading style sheets
Esempi
a{
margin-left: 5px;
margin-right: 5px;
color: white;
font-weight: bold;
background-color: Purple;
padding-left: 15px;
padding-right: 15px;
padding-bottom: 5px;
padding-top: 5px;
text-align: center;
}
38
Lezione 6
Cascading style sheets
Esempi
39
Lezione 6
Cascading style sheets
Esempi
Si possono definire molte altre proprietà per i link.
ul {
float: left;
width: 100%;
}
li {
display: inline;
}
40
Lezione 6
Cascading style sheets
Esempi
a{
margin-left: 5px;
margin-right: 5px;
padding-left: 15px;
padding-right: 15px;
padding-bottom: 5px;
padding-top: 5px;
text-align: center;
color: white;
font-weight: bold;
background-color: Purple;
text-decoration: none;
}
41
Lezione 6
Cascading style sheets
Esempi
a:hover {
color: Purple;
background: White;
text-decoration: none;
font-weight: bold;
}
42
Lezione 6
Cascading style sheets
Esempi
43
Lezione 6
Scarica

Lezione 6