CSS – 5

Transcript

CSS – 5
Proprietà di CSS
Esistono le seguenti sei famiglie di
proprietà:
CSS – 5
– Testo
– Background e colori
– Font
– Liste
– Contenitori (box model)
– Posizionamento
Proprietà
Non sempre il supporto da parte dei
browser è uguale
Tecnologie di Sviluppo per il
WEB
Proprietà del testo
2
Indentazione del testo
Attraverso questo tipo di proprietà è
possibile modificare il modo in cui il
contenuto dei tag appare
Si può modificare la posizione del testo
in relazione al resto della linea
Si possono inserire apici e pedici
text-indent
– Permette di indentare la prima linea del
testo
Valori
– Lunghezza
– Percentuale
• Si riferisce al blocco contenitore
…
P { text-indent: 3em }
Tecnologie di Sviluppo per il
WEB
3
Tecnologie di Sviluppo per il
WEB
4
Allineamento orizzontale
Decorazione del testo
text-align
text-decoration
– Permette di allineare il contenuto (e.g.,
testo) relativamente al blocco contenitore
– Descrive il tipo di decorazione aggiunta al
testo
Valori
Valori
– left, right, center, justify
– <string>
–
–
–
–
–
• Permette di allineare relativamente ad una
stringa (e.g., text-align: “.”)
• Si applica solo alle tabelle, ma non è
supportato da Netscape o Internet Explorer
Tecnologie di Sviluppo per il
WEB
5
Tecnologie di Sviluppo per il
WEB
Ombreggiatura del testo
Esempi
Crea un’ombra in basso e verso destra
grande il 20% della grandezza di H1
H1 { text-shadow: 0.2em 0.2em }
– Indica una serie di effetti di ombreggiatura,
separati da virgola, da aggiungere al testo
Un effetto di ombreggiatura indica
– L’offset dell’ombra (a destra ed in basso)
– Il blur radius – raggio di sfuocamento (opzionale)
(opzionale)
– Il colore
H1 { text-shadow: 3px 3px 5px }
H1 { text-shadow: 3px 3px 5px red }
H2 { text-shadow: 3px 3px red,
yellow -3px 3px 2px,
3px -3px }
Valori
6
text-shadow
none
underline
overline
line-through
blink (non necessariamente supportata)
– none, <color>, <length>
Non è supportato
Tecnologie di Sviluppo per il
WEB
7
Tecnologie di Sviluppo per il
WEB
8
Spaziatura di lettere e parole
Spazio tra le parole
letter-spacing e word-spacing
word-spacing
– Permette di specificare la spaziatura tra
lettere e parole, rispettivamente
– Permette di stabilire quanto spazio lasciare
tra le parole
Valori
Valori
– normal
– <length>
– normal (default)
• Il valore dipende dal browser
– <length>
BLOCKQUOTE { letter-spacing: 0.1em }
H1 { word-spacing: 1em }
Tecnologie di Sviluppo per il
WEB
• Indica un valore da aggiungere allo spazio
lasciato di default tra le parole
9
Tecnologie di Sviluppo per il
WEB
Esempio
10
Trasformazione della forma delle lettere
text-transform
– Cambia il modo in cui compaiono le lettere in un
testo
Valori
– capitalize
• Trasforma in maiuscolo lettera iniziale di ogni
parola
– uppercase
– lowercase
– none
Tecnologie di Sviluppo per il
WEB
11
Tecnologie di Sviluppo per il
WEB
12
Spazio bianco
white-space
– specifica la gestione dei ritorni a capo e del
collassamento dei whitespace all'
interno di
un elemento
Valori
Colori e background
– normal
– pre
– nowrap
Tecnologie di Sviluppo per il
WEB
13
Colori e background
Il colore
Attraverso alcune proprietà CSS, gli autori di
pagine WEB possono specificare il colore di
sfondo e quello di primo piano di un qualsiasi
elemento.
Lo sfondo può essere un colore od
un’immagine
Le proprietà sul background permettono di
posizionare
un’immagine,
ripeterla
e
dichiarare se l’immagine è fissa o meno
rispetto al punto di vista dell’utente
(viewpoint).
Tecnologie di Sviluppo per il
WEB
15
color
– Setta il colore di primo piano del contenuto
testuale di un elemento
Valore
– <color>
Esempi
EM { color: red }
P { color: rgb(255,0,0) }
Tecnologie di Sviluppo per il
WEB
16
Esempio
Colore di sfondo
background-color
Possiamo facilmente assegnare un
colore qualsiasi ai controlli di un
modulo senza far ricorso ad una classe
È sufficiente usare i selettori attributi
Esempio
INPUT[type=“radio”] { color: #336699 }
INPUT[type=“checkbox”] { color: #963 }
– Setta il colore di sfondo di un elemento
Valori
– <color>
– trasparent (default)
Esempio
H1 { background-color: #F00 }
Suggerimento
– Quando si assegna un colore allo sfondo
assegnare anche il colore di primo piano
Tecnologie di Sviluppo per il
WEB
17
Immagine di sfondo
Tecnologie di Sviluppo per il
WEB
Ripetizione sfondo
background-image
background-repeat
– Setta un’immagine come sfondo
Valori
– <uri>
– Specifica come l’immagine di sfondo deve
essere ripetuta
Valori
– repeat (default)
– repeat-x (immagine ripetuta in orizzontale)
– repeat-y (immagine ripetuta in verticale)
– no-repeat
– none (default)
Esempio
– P {background-image: url(img/pic1.gif) }
Tecnologie di Sviluppo per il
WEB
18
19
Tecnologie di Sviluppo per il
WEB
20
Posizionamento sfondo
Esempi
background-position
background-position: 14% 85%
– Specifica la posizione iniziale dell’immagine di
sfondo
Valori
<percentage>
<percentage> <percentage>
<length>
<length> <length>
– kw1 kw2
–
–
–
–
– Il punto che si trova a 14% a destra e 85%
in basso rispetto all’immagine è allineato
con il punto che si trova a 14% a destra e
85% in basso rispetto l’area da riempire
Esempi
BODY {background-position: 100% 0% }
BODY {background-position: right top }
• dove kw1 ∈ {top , center , bottom}
• dove kw2 ∈ {left , center , right}
Tecnologie di Sviluppo per il
WEB
21
Tecnologie di Sviluppo per il
WEB
Esempio
22
Esempio
14%
14%
– Deve essere centrata rispetto alla finestra del
browser
– Deve comparire su tutta la lunghezza della
finestra
85%
BODY {
background-image: url("logo.gif");
background-position: top center;
background-repeat: y-repeat;
background-color: green;
}
14%
85%
85%
Tecnologie di Sviluppo per il
WEB
Vogliamo inserire un’immagine sullo sfondo.
23
Tecnologie di Sviluppo per il
WEB
24
Risultato
Sfondo e viewpoint
background-attachment
– Specifica se l’immagine di sfondo è fissa o
meno rispetto al punto di vista (viewpoint)
dell’utente
Valori
– scroll
– fixed
esempio
Tecnologie di Sviluppo per il
WEB
25
Tecnologie di Sviluppo per il
WEB
Tutto insieme
background
– Attraverso questa proprietà possiamo indicare
contemporaneamente ed in qualsiasi ordine tutte
le proprietà che abbiamo visto prima
BODY{background:
url("Ebollizione.jpg")
60px 200px
repeat-y
white
fixed; }
Tecnologie di Sviluppo per il
WEB
I font
27
esempio2
26
I font e CSS2
Specificare il tipo di font
CSS2 specifica i font secondo le
seguenti caratteristiche
– Font family
– Font style
– Font variant
– Font weight
– Font stretch
– Font size
font-family
– Indica una lista di nomi di font e/o nomi di
font generici separati da virgola
– I nomi che vengono prima hanno priorità
maggiore
Esempio
BODY { font-family: Baskerville,
"Heisi Mincho W3", Symbol, serif
}
Tecnologie di Sviluppo per il
WEB
29
Famiglie generiche di font
Tecnologie di Sviluppo per il
WEB
font-style
Invece di un nome di font, è possibile
indicare una famiglia generica. In
questo modo il browser sa sempre
come rendere un font
Tipi di famiglie
– serif
– sans-serif
– cursive
– fantasy
– monospace
(Times New Roman)
(MS Arial)
Specifica lo stile di un font
Valori
– normal (default)
– italic
– oblique
Non ben supportato
Esempio
P.uno { font-style: italic }
P.due { font-style: oblique }
(wingdings )
(Courier)
Tecnologie di Sviluppo per il
WEB
30
31
Tecnologie di Sviluppo per il
WEB
32
font-variant
font-weight
Specifica il modo di apparire del font
Valori
Specifica lo spessore o peso del font
Valori:
– normal (default)
– small-caps
– normal, bold, bolder, lighter
– 100, 200, 300, 400, 500,
– 600, 700, 800, 900
Tecnologie di Sviluppo per il
WEB
33
Per alcuni font non esistono tutti i valori
da normal a lighter oppure da 100 a
900. A gruppi differenti corrisponde lo
stesso “peso” del font.
Esempio
Tecnologie di Sviluppo per il
WEB
34
font-stretch
Indica come il testo deve disporsi in
una riga
Valori
Tecnologie di Sviluppo per il
WEB
35
– normal, wider, narrower,
– ultra-condensed, extra-condensed
– condensed, semi-condensed
– semi-expanded, expanded
– extra-expanded, ultra-expanded
Non supportato
Tecnologie di Sviluppo per il
WEB
36
font-size
font
Specifica la grandezza del font
Valori
– <length>
– <percentage>
– smaller, larger
– xx-small, x-small, small
– medium
– large, x-large, xx-large
Tramite questa proprietà si possono
indicare contemporaneamente ed in
qualsiasi ordine tutte le proprietà già
esaminate (pag 195 specificaCss2.pdf)
Tecnologie di Sviluppo per il
WEB
Possiamo indicare che il browser
utilizzi il font che usa il sistema su cui
gira (cf. pag. 209 specificaCss2.pdf)
– Valori: caption, icon, menu, message-box,
small-caption, status-bar
37
Selezione dei font
Tecnologie di Sviluppo per il
WEB
Descrizione di font
A volte pagine web che richiedono
delle
elaborazioni
tipografiche
sofisticate hanno bisogno di font che
possono non essere disponibili sul PC
dell'
utente.
Con CSS si possono specificare font
anche non disponibili, fornendo un
meccanismo per scaricarlo dal server,
oppure per trovare tra i font quello più
simile a quello specificato
Tecnologie di Sviluppo per il
WEB
38
39
Per descrivere il font si usa una @-rule
@font-face { <font-description> }
dove <font-description> ha la forma:
descrittore: valore;
descrittore: valore;
[...]
descrittore: valore;
Tecnologie di Sviluppo per il
WEB
40
Esempio
Per scaricarlo da un server
@font-face {
font-family: "Robson Celtic";
src: url("http://site/fonts/rob-celt")
format(“truetype”)}
Per cercare quello “più vicino”
@font-face {
src: local("Alabama Italic");
panose-1: 2 4 5 2 5 4 5 9 3 3;
font-family: Alabama, serif;
font-weight: 300, 400, 500; }
Tecnologie di Sviluppo per )
il
(cf. pg 230 SpecificaCSS2.pdf
Generazione del contenuto
numerazione automatica
le liste
41
WEB
es1
:before e :after
Esempi
Con gli pseudo-elementi :before e :after
è possibile inserire del testo prima e
dopo il contenuto di un qualsiasi
elemento
Possono essere usati in congiunzione
alla numerazione automatica per
numerare le sezioni di un documento
Questi
pseudo-elementi
sono
supportati da Netscape 7 ma non da
Internet Explorer 6
Q:before {
content: open-quote;
color: red
}
BODY:after {
content: "The End";
display: block;
margin-top: 2em;
text-align: center;
}
Tecnologie di Sviluppo per il
WEB
43
Tecnologie di Sviluppo per il
WEB
es2
(quoting)
44
content
Contatori automatici e numerazione
In CSS la numerazione automatica viene
controllata da due proprietà (non supportate
da IE6 e N7)
counter-reset
Questa proprietà è utilizzata con:before
e :after per generare del contenuto in
un documento
Valori
– <string>
– <uri>
– <counter> (lo vedremo con i contatori)
(valore dell’attributo X)
– attr(X)
– open-quote, close-quote
– no-open-quote, no-close-quote
Tecnologie di Sviluppo per il
WEB
counter-increment cnt 3
counter-reset cnt
– Setta a 0 cnt
counter-reset cnt 2
– Setta a 2 cnt
Se un elemento incrementa/decrementa un
contatore e lo usa, il contatore è usato dopo
che è avvenuto l’incremento/decremento
Tecnologie di Sviluppo per il
WEB
Per accedere al valore di un contatore si usa
la funzione counter() oppure counters()
Tecnologie di Sviluppo per il
WEB
46
Esempi
– Incrementa di un’unità cnt
opzionale
– Valori: <identifier> <integer>
none
45
counter-increment cnt
counter-increment
Incrementi e decrementi
– Valori: <identifier> <integer>
none
47
H1:before {
content: "Capitolo " counter(capitolo) ". ";
counter-increment: capitolo;
/* aggiunge 1 a capitolo */
counter-reset: sezione; /* Setta sezione a 0 */
}
H2:before {
content: counter(capitolo) "." counter(sezione) " ";
counter-increment: sezione;
}
Tecnologie di Sviluppo per il
WEB
48
Liste (poco supportate)
list-style-image
Per modificare come appaiono le liste
in CSS possiamo utilizzare tre proprietà
list-style-image
– Indica l’immagine da usare come
marcatore
Valori
– none
– <url>
list-style-type
– Specifica quale marcatore utilizzare
list-sytle-position
– outside (il marcatore è esterno all’item)
– inside (il marcatore fa parte dell’item)
Tecnologie di Sviluppo per il
WEB
UL { list-style-image: url(marker.gif); }
49
Esempio di list-style-image
Tecnologie di Sviluppo per il
WEB
50
Tecnologie di Sviluppo per il
WEB
52
Risultato
LI {
list-style-image: url(freccia.gif);
margin-left: 20px;
text-indent: 5px;
}
LI.important {
background-color:red;
width:170px;
}
Tecnologie di Sviluppo per il
WEB
51
Nota su list-style-image
Suggerimento
Se il marker è
troppo grande
bisogna lasciare
dello spazio a
sinistra di LI per
contenerlo
Bisogna lasciare dello spazio tra il
marker e il contenuto di LI
Con Netscape 7 è automatico, ci sono
dei problemi con Internet Explorer 6
Per risolvere il problema, si potrebbe
lasciare uno spazio trasparente a
destra dell’immagine
UL.lista LI {margin-left: 1.7em; }
Tecnologie di Sviluppo per il
WEB
53
list-style-type
Tecnologie di Sviluppo per il
WEB
54
OL.hebrew {list-style-type: hebrew; }
OL.georgian {list-style-type: lower-greek}
Serve a specificare il tipo di marcatore
da usare in una lista
Valori:
– none, disc, circle, square, decimal,
decimal-leading-zero, lower-roman,
upper-roman hebrew, armenian, georgian,
katakana, cjk-ideographic, hiragana,
hiragana- iroha, katakana-iroha,
– lower-alpha, lower-latin, upper-alpha,
upper-latin, lower-greek
Tecnologie di Sviluppo per il
WEB
55
Tecnologie di Sviluppo per il
WEB
56
Esempio di list-style-position
Forma abbreviata
Per un controllo
maggiore delle liste
bisogna usare il
valore marker della
proprietà display
– Setta le proprietà viste prima tutte in una
volta
Valori (non devono essere tutti
presenti)
– <’list-style-type’> <’list-style-position’>
<’list-style-image’>
– Possono comparire in qualsiasi ordine
– Maggiori dettagli in
seguito
Tecnologie di Sviluppo per il
WEB
list-style
57
UL { list-style: upper-roman inside }
UL > UL { list-style: circle outside }
Tecnologie di Sviluppo per il
WEB
58