2. stati degli elementi
Io sono quello che tu non sei, ovvero quello che
dovresti essere e che se non sei non puoi essere
3. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Pseudo-classe
uninformazione che, se segue un selettore
in una regola di stile, descrive lelemento
selezionato in un particolare stato
4. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
stati nelle regole di stile
:link link non visitato con attributo href
:visited il link 竪 stato gi visitato dallutente
:hover il mouse 竪 posizionato sopra allelemento
:active lelemento 竪 attivo (click con il mouse sul link)
:focus lelemento di input (e non solo) 竪 selezionato
:target lelemento 竪 la destinazione dellancora
5. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Stato :link
a:link{ color: red; }
Lo stato :link 竪 usato per dare uno stile di formattazione ai link non
visitati sulla pagina.
Mentre a{ } verrebbe applicato a tutti gli elementi a sulla pagina,
con a:link ci si riferisce solo ai link che hanno lattributo href.
6. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Stato :visited
a:visited{ color: red; }
Lo stato :visited 竪 utilizzato per dare uno stile di formattazione ai
link presenti sulla pagina gi visitati dallutente.
7. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Stato :hover
a:hover{ color: red; }
Lo stato :hover 竪 la condizione in cui si trova un link quando il mouse
viene fatto muovere sopra lelemento.
Attenzione: ha effetto sui dispositivi mobili perch辿 lutente non dispone di un mouse.
Ai fini dell'accessibilit, si suggerisce di usare la medesima regola anche per la la pseudo-classe
:focus.
!
8. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Stato :active
a:active{ color: red; }
Lo stato :active 竪 tipicamente usato per dare uno
stile di formattazione al link appena cliccato.
comunque applicabile a qualsiasi elemento della
pagina.
9. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Stato :target
a:target{ color: red; }
Lo stato :target 竪 usato per formattare una sezione
di destinazione relativo ad unancora.
applicabile a qualsiasi elemento della pagina.
10. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Lordine di definizione degli stati 竪 fondamentale
La definizione degli ordini 竪 fondamentale. Per
semplificare la memorizzazione dellordine basta
ricordare i termini contrari LOVE HATE (Amore Odio).
Link
OVisited
E Hover
Active
TE
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-1.html
11. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Stato :focus
input:focus{ color: red; }
Lo stato :focus 竪 assunto da un elemento di input
(input, textarea, button) usato per dare una
formattazione allelemento attivo.
comunque applicabile a qualsiasi elemento della pagina purch竪 sia focusable. Per consentire ad
un elemento non di input di assumere tale stato 竪 necessario definire lattributo tab-index.
13. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi di posizione
:before e :after
consentono di definire un contenuto precedente e
successivo allelemento descritto dal selettore.
Font Awesome e molte altre librerie CSS utilizzano proprio queste due pseudo-classi per arricchire il
contenuto con altri elementi.
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-2.html
14. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per i controlli del modulo
:checked :focus
:disabled :enabled
:invalid :valid
:required :optional
:read-write :read-only
:out-of-range :in-range
consentono di definire
regole di stile speciali per
elementi di un form.
La pseudo-classe :checked 竪 utile per rappresentare una casella di input di tipo checkbox o radio con una grafica
personalizzata.
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-3.html
15. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per la tipografia
:first-line
:first-letter
consentono di formattare il
testo contenuto in un
elemento, intervenendo
rispettivamente sulla prima
lettera e sulla prima riga.
La pseudo-classe :first-letter 竪 tipicamente utilizzata per rappresentare la prima lettera di un capitolo di un libro
Specie se utilizzato in un CSS per la stampa
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-4.html
16. :not
possibile usare la pseudo-classe :not per
escludere dallinsieme dei nodi interessati
dal selettore, una serie di nodi che sono
interessati dalla regola racchiusa nelle sue
parentesi.
.included:not(.excluded)
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-not.html
17. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
consentono di formattare gli
elementi rispetto alla loro
posizione in un insieme.
18. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona ogni primo
elemento relativo ad un
elemento parent.
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-5.html
19. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona ogni ultimo
elemento relativo ad un
elemento parent.
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-6.html
20. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona lennesimo
elemento relativo ad un
elemento parent
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-7.html
21. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento ( :nth-child )
td:nth-child(2) {
background: yellow;
}
td:nth-child(2n + 4) {
background: green;
}
Seleziona tutte le seconde celle.
Seleziona tutte le celle pari a partire
dalla quarta della sequenza.
(nota: nessuno spazio tra 2 e n)
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-8.html
22. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento ( :nth-child )
td:nth-child(0n + 2) {
}
td:nth-child(2) {
}
Hanno lo
stesso
significato
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-9.html
23. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento ( :nth-child )
td:nth-child(2n + 0) {
}
td:nth-child(2n) {
}
Hanno lo
stesso
significato
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-10.html
24. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento ( :nth-child )
td:nth-child(2n + 2) {
}
td:nth-child(even) {
}
Hanno lo
stesso
significato
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-11.html
25. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento ( :nth-child )
td:nth-child(2n + 1) {
}
td:nth-child(odd) {
}
Hanno lo
stesso
significato
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-12.html
26. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona ogni ennesimo
elemento relativo ad un
elemento parent contando gli
elementi a ritroso
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-13.html
27. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona il primo
elemento di uno
specifico tipo nel
contesto del parent
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-14.html
28. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona lultimo
elemento di uno
specifico tipo nel
contesto del parent
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-15.html
29. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona ogni ennesimo
elemento di uno specifico
tipo nel contesto di un
elemento parent
30. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Valgono le stesse regole
della pseudo-classe
:nth-child
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-16.html
31. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Seleziona ogni ennesimo
elemento di uno specifico
tipo nel contesto di un
elemento parent contando gli
elementi dallultimo verso il
primo.
32. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
pseudo-classi per il posizionamento
:first-child :last-child
:nth-child :nth-last-child
:first-of-type :last-of-type
:nth-of-type :nth-last-of-type
Valgono le stesse regole
della pseudo-classe
:nth-child
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-17.html
33. priorit
Solo una cosa 竪 veramente importante: capire che nulla 竪 veramente importante.
Manlio Cecovini, Dizionarietto di filosofia quotidiana, 2002
34. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
La regola delladdizione
Le regole dei selettori si sommano tra loro
quando si applicano allo stesso elemento,
purch辿 non vadano in conflitto tra loro.
35. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
La regola delladdizione
Regole definite:
1. p { background-color: red; }
2.
3. p { color: yellow;}
Regola applicata:
p { background-color: red; color: yellow;}
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-18.html
36. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Lultima parola 竪 quella che conta
Se pi湛 regole si applicano allo stesso
elemento le regole vengono applicate
secondo lordine in cui sono descritte nel
foglio di stile.
37. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
La regola delladdizione
Regole definite:
1. p { background-color: red; }
2.
3. p {
4. background-color: blue;
5. color: yellow;
6. }
Regola applicata:
p { background-color: blue; color: yellow; }
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-19.html
38. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Lo specifico vince sempre sul generico
Se un selettore 竪 pi湛 specifico di un altro avr
maggiore importanza nella determinazione
delle regole per lelemento da esso
influenzato.
39. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Lo specifico vince sempre sul generico
Regole definite:
1. p.red { background-color: red; }
2.
3. p {
4. background-color: blue;
5. color: yellow;
6. }
<p class="red">Ciao</p> Ciao
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-20.html
40. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Alterare specificit e ordine
Se per una regola viene specificata la direttiva
!important, essa non sar sovrascritta da
nessunaltra regola, ad eccezione di quelle che si
applicano allo stesso elemento e che hanno la
medesima direttiva !important.
41. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
La regola del pi湛 importante
Regole definite:
1. p.red { background-color: red; }
2.
3. p {
4. background-color: blue !important;
5. color: yellow;
6. }
<p class="red">Ciao</p> Ciao
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-21.html
42. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
La regola dei pi湛 importanti
Regole definite:
1. p.red { background-color: red !important; }
2.
3. p {
4. background-color: blue !important;
5. color: yellow;
6. }
<p class="red">Ciao</p> Ciao
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-22.html
43. media query
Siam tre piccoli porcellin,
siamo tre fratellin ,
mai nessun ci divider ,
trallallero trallall
44. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media
lidentificazione della classe di dispositivo
con cui si fruisce il contenuto di una pagina
Web (Es. una stampante, un computer, uno
screen reader, ).
45. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Tipi di media (pi湛 usati)
all Tutti i dispositivi
screen Schermo
print Stampante/Anteprima di stampa
46. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Tipi di media ( per laccessibilit)
speech Sintetizzatore vocale
47. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Tipi di media (deprecati)
handheld Dispositivi di dimensioni contenute (device)
projection Presentazioni proiettate
tv Televisioni
braille Dispositivi braille
embossed Stampanti braille
tty Terminale/browser testuali
48. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Attributo media
Per differenziare il caricamento di un foglio
di stile in dipendenza del dispositivo tramite
il quale 竪 elaborato il contenuto, usare
lattributo media dellelemento <link />
49. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Attributo media
1. <link rel="stylesheet" media="screen"
2. type="text/css" href="style-for-screen.css" />
3.
4.
5. <link rel="stylesheet" media="print"
6. type="text/css" href="style-for-print.css" />
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-23.html
50. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Direttiva @media
Per differenziare parti dello stesso foglio di
stile in dipendenza del dispositivo che
visualizza il contenuto, usare la direttiva
@media.
52. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Usi speciali di @media e (attributo) media
not|only mediatype and (media feature)
Il valore di media pu嘆 essere anche pi湛
complessa del semplice print o screen.
53. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (proporzioni della ViewPort)
aspect-ratio
La proporzione tra larghezza e altezza dellarea interna della finestra
del browser (detta anche ViewPort)
min-aspect-ratio
La proporzione minima tra larghezza ed altezza della ViewPort
max-aspect-ratio
La massima proporzione tra larghezza ed altezza della ViewPort
54. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (proporzioni del Dispositivo)
device-aspect-ratio
La proporzione tra la larghezza e laltezza del dispositivo
max-device-aspect-ratio
La proporzione massima tra larghezza ed altezza del dispositivo
min-device-aspect-ratio
La proporzione minima tra larghezza ed altezza del dispositivo
55. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (altezza della ViewPort)
height
Laltezza esatta della ViewPort
max-height
Laltezza massima della ViewPort
min-height
Laltezza minima della ViewPort
56. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (larghezza della ViewPort)
width
La larghezza esatta della ViewPort
max-width
La massima dimensione della ViewPort
min-width
La dimensione minima della ViewPort
57. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (altezza del dispositivo)
device-height
Laltezza esatta del dispositivo
max-device-height
Laltezza massima del dispositivo
min-device-height
Laltezza minima del dispositivo
58. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (larghezza del dispositivo)
device-width
La larghezza esatta del dispositivo
max-device-width
La larghezza massima del dispositivo
min-device-width
La larghezza minima del dispositivo
59. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (numero colori)
color-index
Il numero di colori che il dispositivo 竪 in grado di visualizzare
max-color-index
Il numero massimo di colori che il dispositivo pu嘆 visualizzare
min-color-index
Il numero minimo di colori che il dispositivo deve supportare
60. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (profondit colore)
color
Il numero di bit utilizzato per descrivere il colore
max-color
Il numero massimo di bit per colore utilizzabili dal dispositivo
min-color
Il numero minimo di bit per colore supportati dal dispositivo
61. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
monochrome
Il numero di bit per colore in un dispositivo monocromatico (scala di
grigi)
max-monochrome
Il numero massimo di bit per colore su dispositivo monocromatico
min-monochrome
Il numero massimo di bit per colore su dispositivo monocromatico
Media features (scala di grigi)
62. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (grid)
grid
Determina se il dispositivo ha una visualizzazione a
griglia (terminale, o anche conosciuto come tty) o di
tipo bitmap (finestra del browser, stampante, ecc.).
Tramite questa media feature 竪 facilmente identificabile il media tty ormai deprecato
63. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (risoluzione video)
resolution
La risoluzione del dispositivo utilizzando unit di misura in dpi oppure in dpcm
max-resolution
Risoluzione massima del dispositivo
min-resolution
Risoluzione minima del dispositivo
dpi 竪 dpcm sono due unit di misura, la prima indica dots per inch (punti per pollice), la seconda
indica invece dots per centimeter (punti per centimetro).
64. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (orientamento del display)
orientation
Lorientamento della viewport
Pu嘆 assumere i valori landscape oppure portrait.
Utile a determinare se la visualizzazione su un dispositivo mobile 竪 in modalit panoramica
(landscape) oppure verticale (portrait). Lorientamento non 竪 riconosciuto se lorientamento sul
dispositivo risulta bloccato.
65. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Media features (scansione verticale)
scan
La modalit di scansione delle righe orizzontali.
Pu嘆 essere interlace oppure progressive.
Alcuni monitor usano la modalit interlacciata, dove per ogni frame video si alternano le righe
pari e dispari, sfruttando la capacit cognitiva di correzione dellimmagine . Ci嘆 consente di
simulare un maggior valore FPS (Frame per Second) con la met delle risorse.
Su uno schermo interlacciato, gli autori non dovrebbero utilizzare animazioni particolarmente
rapide a schermo per evitare leffetto pettine e devono assicurarsi che i dettagli sullo schermo
siano di dimensioni maggiori di un 1px per evitare lo sfarfallio.
66. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Usi speciali di @media e (attributo) media
screen and (max-width: 320px)
Dispositivi la cui risoluzione video
orizzontale non supera i 320px
67. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
screen and (min-width: 321px) and (max-width: 640px)
Dispositivi la cui risoluzione video
orizzontale 竪 compresa tra 321px e 640px
Usi speciali di @media e (attributo) media
68. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
@media screen
and (device-width: 320px)
and (device-height: 640px)
and (-webkit-device-pixel-ratio: 2) {
}
Media query per il riconoscimento di un
Samsung Galaxy S3
Usi speciali di @media e (attributo) media
https://css-tricks.com/snippets/css/media-queries-for-standard-devices/
69. Creative Commons BY-NC-SA 4.0
https://creativecommons.org/licenses/by-nc-sa/4.0/
Prima di riutilizzare queste slide ricorda che:
Attribution You must give appropriate credit, provide a link to the license, and indicate if changes were made.
You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
NonCommercial You may not use the material for commercial purposes.
ShareAlike If you remix, transform, or build upon the material, you must distribute your contributions under the
same license as the original.