際際滷

際際滷Share a Scribd company logo
CSS - Stuffs #3
Pseudo-classi, priorit e media
stati degli elementi
Io sono quello che tu non sei, ovvero quello che
dovresti essere e che se non sei non puoi essere
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
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
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.
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.
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.
!
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.
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.
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
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.
pseudo-classi
vorrei essere una classe ma non posso esserlo
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
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
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
: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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
priorit
Solo una cosa 竪 veramente importante: capire che nulla 竪 veramente importante.
Manlio Cecovini, Dizionarietto di filosofia quotidiana, 2002
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.
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
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.
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
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.
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
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.
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
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
media query
Siam tre piccoli porcellin,
siamo tre fratellin ,
mai nessun ci divider ,
trallallero trallall
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, ).
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
Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Tipi di media ( per laccessibilit)
speech Sintetizzatore vocale
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
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 />
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
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.
Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info
Direttiva @media
1. @media screen{
2. .evidence{
3. background-color: yellow;
4. }
5. }
6. @media print{
7. .evidence{
8. background-color: transparent;
9. font-weight: bold;
10. }
11. }
http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-24.html
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.
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
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
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
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
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
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
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
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
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)
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
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).
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.
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.
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
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
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/
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.

More Related Content

Css stuffs #3

  • 1. CSS - Stuffs #3 Pseudo-classi, priorit e media
  • 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.
  • 12. pseudo-classi vorrei essere una classe ma non posso esserlo
  • 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.
  • 51. Diego La Monica - diego.lamonica@gmail.com - http://diegolamonica.info Direttiva @media 1. @media screen{ 2. .evidence{ 3. background-color: yellow; 4. } 5. } 6. @media print{ 7. .evidence{ 8. background-color: transparent; 9. font-weight: bold; 10. } 11. } http://diegolamonica.info/demo/corso-wp-css/stuffs3/stuff-24.html
  • 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.