Proprietà - Digididattica

Transcript

Proprietà - Digididattica
CSS – 5
Proprietà
Proprietà di CSS
 Esistono
proprietà:
le seguenti sei famiglie di
– Testo
– Background e colori
– Font
– Liste
– Contenitori (box model)
– Posizionamento
 Non
sempre il supporto da parte dei
browser è uguale
Tecnologie di Sviluppo per il WEB
2
Proprietà 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
…
Tecnologie di Sviluppo per il WEB
3
Indentazione del testo
 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
4
Allineamento orizzontale
 text-align
– Permette di allineare il contenuto (e.g.,
testo) relativamente al blocco contenitore
 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
Decorazione del testo
 text-decoration
– Descrive il tipo di decorazione aggiunta al
testo
 Valori
–
–
–
–
–
none
underline
overline
line-through
blink (non necessariamente supportata)
Tecnologie di Sviluppo per il WEB
6
Spaziatura di lettere
 letter-spacing
– Permette di specificare la spaziatura tra le
lettere
 Valori
– normal
– <length>
BLOCKQUOTE { letter-spacing: 0.1em }
Tecnologie di Sviluppo per il WEB
7
Spazio tra le parole
 word-spacing
– Permette di stabilire quanto spazio lasciare
tra le parole
 Valori
– normal (default)
• Il valore dipende dal browser
– <length>
• Indica un valore da aggiungere allo spazio
lasciato di default tra le parole
 H1
{ word-spacing: 1em }
Tecnologie di Sviluppo per il WEB
8
Esempio
Tecnologie di Sviluppo per il WEB
9
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
10
Spazio bianco
 white-space
– specifica la gestione dei ritorni a capo e del
collassamento dei whitespace all'interno di
un elemento
 Valori
– normal (va a capo quando necessario)
– pre (considera i line-break nel sorgente)
– nowrap (ignora i line break)
Tecnologie di Sviluppo per il WEB
11
Background e colori
Colori e background



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
13
Il colore
 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
14
Esempio
 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 }
Tecnologie di Sviluppo per il WEB
15
Colore di sfondo
 background-color
– Setta il colore di sfondo di un elemento
 Valori
– <color>
– trasparent (default)
 Esempio
H1 { background-color: #F00 }

Suggerimento
– Quando si assegna un colore allo
assegnare anche il colore di primo piano
Tecnologie di Sviluppo per il WEB
sfondo
16
Immagine di sfondo
 background-image
– Setta un’immagine come sfondo
 Valori
– <uri>
– none (default)
 Esempio
– P {background-image: url(img/pic1.gif) }
Tecnologie di Sviluppo per il WEB
17
Ripetizione sfondo
 background-repeat
– 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
Tecnologie di Sviluppo per il WEB
18
Posizionamento sfondo

background-position
– Specifica la posizione iniziale dell’immagine di
sfondo

Valori
–
–
–
–
–
<percentage>
<percentage> <percentage>
<length>
<length> <length>
kw1 kw2
• dove kw1 ∈ {top , center , bottom}
• dove kw2 ∈ {left , center , right}
Tecnologie di Sviluppo per il WEB
19
Esempi
 background-position:
85% 14%
– Il punto dell’immagine che si trova 85% in
basso e a 14% a destra , è allineato con il
punto che si trova a 85% in basso e 14%
a destra rispetto l’area da riempire
 Esempi
BODY {background-position: 0% 100% }
È equivalente a:
BODY {background-position: top right }
Tecnologie di Sviluppo per il WEB
20
Esempio
14%
14%
85%
14%
85%
85%
Tecnologie di Sviluppo per il WEB
21
Esempio

Vogliamo inserire un’immagine sullo sfondo.
– Deve essere centrata rispetto alla finestra del
browser
– Deve comparire su tutta la altezza della finestra
BODY {
background-image: url("logo.gif");
background-position: top center;
background-repeat: y-repeat;
background-color: green;
}
Tecnologie di Sviluppo per il WEB
22
Risultato
Tecnologie di Sviluppo per il WEB
23
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
esempio2
Tecnologie di Sviluppo per il WEB
24
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
Esempio
fixed; }
Tecnologie di Sviluppo per il WEB
25
I font
I font e CSS2
 CSS2
specifica i font secondo le
seguenti caratteristiche
– Font family
– Font style
– Font variant
– Font weight
– Font stretch
– Font size
Tecnologie di Sviluppo per il WEB
27
Specificare il tipo di font
 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
28
Famiglie generiche di font
 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)
(wingdings    )
(Courier)
Tecnologie di Sviluppo per il WEB
29
font-style
 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 }
Tecnologie di Sviluppo per il WEB
30
font-variant
 Specifica
il modo di apparire del font
 Valori
– normal (default)
– small-caps
Tecnologie di Sviluppo per il WEB
31
font-weight
 Specifica
lo spessore o peso del font
 Valori:
– normal, bold, bolder, lighter
– 100, 200, 300, 400, 500,
– 600, 700, 800, 900
 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.
Tecnologie di Sviluppo per il WEB
32
Esempio
Tecnologie di Sviluppo per il WEB
33
font-stretch
 Indica
riga
 Valori
come il testo deve disporsi in una
– 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
34
font-size
 Specifica
la grandezza del font
 Valori
– <length>
– <percentage>
– smaller, larger
– xx-small, x-small, small
– medium
– large, x-large, xx-large
Tecnologie di Sviluppo per il WEB
35
font
 Tramite
questa proprietà si possono
indicare contemporaneamente ed in
qualsiasi ordine tutte le proprietà già
esaminate (pag 195 specificaCss2.pdf)
 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
 Sezione
“altro” del sito del corso
Tecnologie di Sviluppo per il WEB
36
Selezione dei 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
37
Descrizione di font
 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
38
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; }
(cf. pg 230 SpecificaCSS2.pdf )

Tecnologie di Sviluppo per il WEB
39
Generazione del contenuto:
numerazione automatica
le liste
:before e :after
 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
 e da Internet Explorer...?
Tecnologie di Sviluppo per il WEB
41
es1
Esempi
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
es2
(quoting)
42
content
 Questa
proprietà è utilizzata con:before
e :after per generare del contenuto in
un documento
 Valori
– <string>
– <uri>
– <counter> (lo vedremo con i contatori)
– attr(X)
(valore dell’attributo X)
– open-quote, close-quote
– no-open-quote, no-close-quote
Tecnologie di Sviluppo per il WEB
43
Contatori automatici e numerazione


In CSS la numerazione automatica viene
controllata da due proprietà (non supportate
da IE6 e N7)
counter-reset
– Valori: <identifier> <integer>
none

counter-increment
opzionale
– Valori: <identifier> <integer>
none

Per accedere al valore di un contatore si usa
la funzione counter() oppure counters()
Tecnologie di Sviluppo per il WEB
44
Incrementi e decrementi

counter-increment cnt
– Incrementa di un’unità cnt


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
45
Esempi
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
46
Liste
 Per
modificare come appaiono le liste in
CSS possiamo utilizzare tre proprietà
 list-style-image
– Indica l’immagine da usare come
marcatore
 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
47
list-style-image
 Valori
– none
– <url>
UL { list-style-image: url(marker.gif); }
Tecnologie di Sviluppo per il WEB
48
Esempio di list-style-image
LI {
list-style-image: url(freccia.gif);
margin-left: 20px;
text-indent: 5px;
}
LI.importante {
background-color:red;
width:170px;
}
Tecnologie di Sviluppo per il WEB
49
Risultato
Tecnologie di Sviluppo per il WEB
50
Nota su list-style-image
 Se
il marker è
troppo grande
bisogna lasciare
dello spazio a
sinistra di LI per
contenerlo
UL.lista LI {margin-left: 1.7em; }
Tecnologie di Sviluppo per il WEB
51
Suggerimento
 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
Tecnologie di Sviluppo per il WEB
52
list-style-type
 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
53
OL.hebrew {list-style-type: hebrew; }
OL.georgian {list-style-type: lower-greek}
Tecnologie di Sviluppo per il WEB
54
Esempio di list-style-position
 Per
un controllo
maggiore delle liste
bisogna usare il
valore marker della
proprietà display
– Poi lo vediamo
Tecnologie di Sviluppo per il WEB
55
Forma abbreviata
 list-style
– 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
UL { list-style: upper-roman inside }
UL > UL { list-style: circle outside }
Tecnologie di Sviluppo per il WEB
56