CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2...

41
CSS – 2 I selettori e le classi

Transcript of CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2...

Page 1: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

CSS – 2

I selettori e le classi

Page 2: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 2

Tipi di selettori

Selettore generale Selettori tipo (quelli singoli) Selettori di gruppo (raggruppamento) Selettori contestuali Selettori figli Selettori fratelli adiacenti Selettori di attributi

Page 3: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 3

Selettore generale

Il selettore generale, indicato con * (asterisco) corrisponde a qualsiasi elemento nella pagina HTML

* {color:red;}– Qualsiasi elemento della pagina sarà di

colore rosso

Page 4: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 4

Raggruppamento di selettori

Si possono raggruppare i selettori. È sufficiente separare ogni selettore con una virgola.

Nell’esempio che segue ogni elemento header sarà di colore verde:

H1, H2, H3, H4, H5, H6 { color:green;

}

Page 5: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 5

Albero del documento

Ci serviremo di quest’albero per gli esempi sui selettori

h2 p

b

ol

li li li

p

b

title

html

head body

Page 6: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 6

Selettori contestuali – 1

I selettori contestuali ci permettono di avere un controllo fine sul modo di apparire di elementi HTML quando essi sono associati ad altri elementi HTML. Specificano una gerarchia di appartenenza a cui associare lo stile

I selettori contestuali sono separati da uno spazio

Page 7: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 7

Selettori contestuali – 2

I selettori contestuali sono anche chiamati selettori discendenti

Un selettore contestuale della forma “A B”

è applicato quando un elemento B è un arbitrario discendente di un elemento antenato A (B non deve essere necessariamente figlio di A)

Page 8: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 8

Esempio di selettore contestuale

P EM {color: blue }– Gli elementi <em> contenuti in un

paragrafo saranno di colore blue

Page 9: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 9

P EM {color: blue }<P> Esempio di stile con selettori<B><EM> contestuali </EM></B> </P>Testo <EM>enfatizzato</EM> senza...

P

B

EM

Page 10: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 10

Selettore figlio

Un selettore figlio della forma “A > B”

è applicato quando l’elemento B è figlio dell’elemento A

– Può consistere anche di più selettori separati dal simbolo “>”• DIV OL > LI P

Page 11: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 11

DIV OL > LI P

Il precedente selettore corrisponde ad un elemento P che è un discendente dell’elemento LI

L’elemento LI deve essere un figlio dell’elemento OL

L’elemento OL deve essere un discendente dell’elemento DIV

Page 12: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 12

Esempio – 1

Il selettore div > strong

selezionerà l’elemento <strong> (enfasi più forte) nel seguente esempio– <div> Questo è il <strong> nocciolo </strong>

della questione</div>Ma non lo selezionerà nel seguente esempio <div> <p>Questo è il <strong>nocciolo</strong> della questione</p> </div>

Page 13: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 13

Esempio – 2

P > EM {color: blue }Netscape 6

Page 14: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 14

Selettori “fratelli adiacenti”

Un selettore fratello adiacente (adjacent sibling) è della forma

“A + B” si applica quando gli elementi A e B

hanno lo stesso genitore e il tag A precede immediatamente il tag B

Page 15: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 15

Esempio di adjacent sibling

<p>L’ <strong>unica</strong> persona <em>fidata</em> a cui inviare mail è

<a href="mailto:[email protected]"> Collina </a> </p> Gli elementi <strong>, <em> e <a> sono tutti

fratelli:– <strong> e <em> sono adiacenti – <em> e <a> sono adiacenti

Page 16: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 16

Risultato STRONG + EM {color: red} EM + A {color: blue}

Netscape 6

Page 17: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 17

Selettori di attributi (attribute selector)

Con i selettori di attributi si seleziona un elemento in base ai suoi attributi ed ai loro valori

Ci sono quattro modi per specificare i selettori di attributi. Verranno selezionati gli elementi che corrispondono alle specifiche

Page 18: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 18

Selettori di attributi – 1

1.[att]– Corrisponde quando l’elemento ha settato

l’attributo att a prescindere dal suo valore

2.[att=value]– Corrisponde quando l’attributo att

dell’elemento assume il valore value

Page 19: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 19

Esempio

H1[title] { color: blue}– Selezionerà tutti gli elementi H1 che hanno

specificato l’attributo title, l’intestazione sarà di colore blu.

P[ALIGN=“LEFT”] { color: red}– Selezionerà tutti gli elementi P che hanno

settato il valore dell’attributo ALIGN a LEFT

Page 20: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 20

Selettori di attributi – 2

3.[att~=value]– Corrisponde quando il valore dell’attributo

att è costituito da una lista di “parole” separate da spazio una delle quali è esattamente value.

– Quando si usa questo tipo di selettore le “parole” contenute nel valore non possono contenere lo spazio.

Page 21: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 21

Selettori attributi – 3

4.[att |= value]– Corrisponde quando il valore dell’attributo

att è costituito da una lista di “parole” separate da trattino ( - ) che iniziano per value

[LANG |= “en”]– Selezionerà tutti gli elementi in cui il valore

dell’attributo LANG inizia per en, tipo “en”, “en-US”, “en-cockney”.

Page 22: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 22

Attributi di HTML – 1 HTML 4.0 introduce due nuovi attributi

per TUTTI gli elementi del documento HTML: ID e CLASS– ID assume un valore arbitrario purché

univoco su tutto il documento. Questo permette di identificare uno specifico elemento tra tutti gli altri

– NAME veniva usato per lo scopo che ha adesso ID, ma non era disponibile per tutti gli elementi, e soprattutto non era richiesta l’univocità del nome

Page 23: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 23

Attributi di HTML – 2 CLASS assume un valore stringa

qualunque– Più elementi possono condividere lo stesso

valore. Questo permette di assegnare gli elementi ad una classe: <p class="spiegazione"> … </p><p class="esempio"> … </p>

CSS permette di assegnare regole di presentazione agli elementi per NAME, per CLASS e per ID

Page 24: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 24

Selettori classe

La sintassi per la definizione –(in un file .css) è:

• nome_tag.nome_classe {proprietà : valore}

La sintassi per il suo utilizzo–(in un file .html) è:

• <nome_tag CLASS=“nome_classe”>

Page 25: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 25

Esempio –1

P.abstract {text-align:center; font-family:arial;

font-size:11pt; }

<P CLASS=abstract> Qui va inserito l’abstract

dell’articolo </P>

Nel file .css

Nel file .html

Page 26: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 26

Esempio – 2 <STYLE>P.centered { text-align:center; margin-left:0.5cm; }P.red { color:red; font-style:italic; }</STYLE>

….<P CLASS=“red”>Questo paragrafo ha il testo rosso

</P><P CLASS=“centered”>Questo paragrafo ha il testo

centrato</P>

Page 27: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 27

Risultato

Page 28: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 28

Elementi generici

È possibile definire classi per elementi generici, quindi riusabili in tag distinti

La sintassi per la definizione è:– .nome_classe {proprietà : valore}– Il punto iniziale è importante!!!

La sintassi per il suo uso è:– <nome_tag CLASS=“nome_classe”>

Page 29: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 29

Esempio

.cent_arial {text-align:center; font-family:arial;

font-size:11pt; }

<P CLASS=“cent_arial”>…….

<DIV CLASS=“cent_arial”>

Nel file .css

Nel file .html

Page 30: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 30

Elementi SPAN e DIV SPAN

– si applica a una porzione di testo– si utilizza per dare caratteristiche di

formattazione particolari a una porzione di testo limitata

• Text level

DIV– si utilizza per assegnare uno stile a uno o

più blocchi di testo• Block level

Page 31: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 31

Esempio<HTML><HEAD>...</HEAD><BODY><H1>titolo</H1><DIV><P> primo paragrafo </P><P> secondo paragrafo </P></DIV><P> terzo paragrafo<A

HREF="pippo.html">link</A>

</P></BODY></HTML>

HTML

HEAD

BODYH1

P LINK

P

P

Page 32: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 32

Il tag DIV

Il tag DIV serve a dividere il documento in diverse porzioni– Ogni porzione del documento contiene tag HTML– È possibile posizionare ogni “DIV” all’interno della

pagina– Utilizzeremo DIV e CSS per “simulare” frame

Utilizzando gli attributi ID e CLASS è possibile applicare diversi stili a diverse porzioni della pagina

Page 33: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 33

Utilizzo del tag DIV

Definizione di selettori – ID

• #abstract,

– CLASS• .new o DIV.new

Uso dei selettori– <DIV ID=“abstract” …> …testo... </DIV>– <DIV CLASS=“new”> …testo… </DIV>

Page 34: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 34

Il tag SPAN – 1

Gli stili possono essere applicati al contenuto di un tag

Non è possibile combinare direttamente due classi

<P CLASS=“small, fun”> …. </P> NO!!! È possibile applicare uno stile anche a

porzioni di contenuto del tag usando il tag SPAN

Il tag contenitore SPAN è utilizzato per applicare uno stile ad un gruppo di caratteri

Page 35: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 35

Il tag SPAN – 2

Se si desidera applicare due classi contemporaneamente si deve procedere come segue:<P CLASS=“small”> … testo1 … <SPAN CLASS=“fun”> … testo2… </SPAN> …. testo3…. </P>

Page 36: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 36

Esempio

.green {color:green;}

.red {color:red;}

<P class=“green”>Il testo che sto scrivendo &egrave; verde <SPAN class=“red”> questo &egrave; rosso </SPAN> e ancora verde </P>

Page 37: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 37

Risultato

Page 38: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 38

Selettori ID

Quasi tutti i tag accettano come attributo ID Nella stessa pagina HTML non ci possono

essere due attributi ID con lo stesso valore L’attributo ID può essere utilizzato per

identificare univocamente gli elementi di un documento

La sintassi del selettore ID è simile a quella delle classi; invece del punto (.) si usa il cancelletto (#) – #style-name {proprietà:valore;}

Page 39: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 39

Sintassi del selettore ID

#SpecialCase { prop1:val1; prop2:val2;}

<NomeTag ID=“SpecialCase”>

nel file CSS

nel file HTML

Page 40: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 40

Esempio

P#NotaGen { color:yellow; font-size:12pt;}

<P ID=“NotaGen”> testo </P>

nel file CSS

nel file HTML

Page 41: CSS – 2 · 2013-10-25 · CSS – 2 I selettori e le classi. Tecnologie di Sviluppo per il WEB 2 Tipi di selettori ... un elemento in base ai suoi attributi ed ai loro valori ...

Tecnologie di Sviluppo per il WEB 41

Validatore CSS

Per validare i fogli di stile possiamo utilizzare il validatore fornito da W3C– http://jigsaw.w3.org/css-validator

Controlliamo sempre i nostri fogli di stile