css corso base (classi seconde, mod 1)
TRANSCRIPT
CSS corso base
Formattare e gestire graficamente l’HTML
Matteo Ziviani – scuolagrafica.sanzeno.org
CSS Cascading Sheet Style*
Laboratorio MultimedialeClassi seconde
IntroduzioneI CSS permettono di definire e formattare elementi HTML.
Questi attributi di formattazione possono essere definiti in 3 modi:1. Esternamente2. Internamente3. In-line
Quest’anno ci focalizzeremo solo su CSS ESTERNI. 2
CSS EsterniI css esterni sono composti da uno o più file con estensione css che possono essere collegati a più pagine.
Cambiando uno stile grafico nel css si cambierà la visualizzazione di tutti i file html collegati
3
index.html dove-siamo.html altri file html
layout.css
Collegare i CSS esterni
Per poter collegare uno stile css esterno è necessario utilizzare il tag <link> all’interno della <head>
<link rel=”stylesheet” href=”percorso” media=”media” />
Nell’attributo href va specificato il percorso di dove si trova il file css mentre nell’attributo media si specifica per quale media deve essere applicato lo stile (screen, print, all ecc…)
Se si vuole implementare uno stile internamente si utilizza, sempre nella <head> il tag <style>
•<style > </style>
Definizione CSSUno stile grafico CSS può essere gestito definendo due opzioni.
1. selettore: permette di selezionare l’elemento html da gestire graficamente
2. regole grafiche: permettono di definire le varie caratteristiche grafiche di colore, font, dimensione ecc… dell’elemento selezionato precedentemente mediante selettore. Le regole non hanno un ordine di scrittura.
ESEMPIO TESTUALESelettore: h1Regole: colore rosso, font Arial ecc...
5
Grammatica
selettore {attributo: valore;attributo: valore;attributo: valore;[ecc..]
}
Per le parentesi graffe {} ALT+SHIFT+[ALT+SHIFT+] 6
CSS corso base
Selettori
Matteo Ziviani – scuolagrafica.sanzeno.org
I selettoriI selettori possono essere di diverso tipo1. Tag2. ID (#)3. Classi (.)4. Combinazioni dei precedenti (bisogna conoscere il DOM del
documento HTML)
8
Esempio selettore TAG
h1 {attributo: valore;attributo: valore;attributo: valore;[ecc..]
}
Esempio di selettore di tag.In questo caso tutti i tag h1 della pagina (e dei documenti collegati in caso di css esterno) verranno formattati secondo gli attributi specificati 9
Esempio selettore ID
#pubblicita {attributo: valore;attributo: valore;attributo: valore;[ecc..]
}
Esempio di selettore di ID.In questo caso il tag con attributo id uguale a “pubblicita” verrà formattato secondo gli attributi specificati
10
Esempio html
<aside id=”pubblicita”>
</aside>
Combinazioni di selettoriCombinando i vari selettori id, tag e classi è possibile creare dei percorsi di selezione che verranno applicati ad una sezione particolare di html.
Per poterli definire correttamente è necessario conoscere il DOM del documento.
11
Esempio #11 <body>2 <section id=”capitolo1”>3 <h1>Titolo della sezione</h1>4 <article>5 <h1>titolo dellarticolo</h1>6 <p>testo di paragrafo</p>7 <h1>titolo 2 dell’articolo</h1>8 <p>testo di paragrafo</p>9 </article>10 </section>11 <section id=”capitolo2”>12 <h1>Titolo della sezione</h1>13 </section>14 </body>
12
Come posso formattare con un unico stile solo gli <h1> di riga 5 e 7?
Esempio #21 <body>2 <section id=”capitolo1”>3 <h1>Titolo della sezione</h1>4 <article>5 <h1>titolo dellarticolo</h1>6 <p>testo di paragrafo</p>7 <h1>titolo 2 dell’articolo</h1>8 <p>testo di paragrafo</p>9 </article>10 </section>11 <section id=”capitolo2”>12 <h1>Titolo della sezione</h1>13 </section>14 </body>
13
Come posso formattare con un unico stile solo gli <h1> di riga 5 e 7?
Cosa succede se utilizzo un selettore di questo tipo?
h1 {attributo: valore;
}
Esempio #21 <body>2 <section id=”capitolo1”>3 <h1>Titolo della sezione</h1>4 <article>5 <h1>titolo dellarticolo</h1>6 <p>testo di paragrafo</p>7 <h1>titolo 2 dell’articolo</h1>8 <p>testo di paragrafo</p>9 </article>10 </section>11 <section id=”capitolo2”>12 <h1>Titolo della sezione</h1>13 </section>14 </body>
14
Come posso formattare con un unico stile solo gli <h1> di riga 5 e 7?
Cosa succede se utilizzo un selettore di questo tipo?
h1 {attributo: valore;
}
Esempio #31 <body>2 <section id=”capitolo1”>3 <h1>Titolo della sezione</h1>4 <article>5 <h1 id=”t1”>titolo ...</h1>6 <p>testo di paragrafo</p>7 <h1 id=”t2”>titolo 2….</h1>8 <p>testo di paragrafo</p>9 </article>10 </section>11 <section id=”capitolo2”>12 <h1>Titolo della sezione</h1>13 </section>14 </body>
15
Come posso formattare con un unico stile solo gli <h1> di riga 5 e 7?
Se uso un selettore di id cosa dovrei fare?
#t1 {attributo: valore;
}
#t2 {attributo: valore;
}
Se uso due selettori quali sono gli svantaggi?
Esempio #41 <body>2 <section id=”capitolo1”>3 <h1>Titolo della sezione</h1>4 <article>5 <h1>titolo ...</h1>6 <p>testo di paragrafo</p>7 <h1>titolo 2….</h1>8 <p>testo di paragrafo</p>9 </article>10 </section>11 <section id=”capitolo2”>12 <h1>Titolo della sezione</h1>13 </section>14 </body>
16
Come posso formattare con un unico stile solo gli <h1> di riga 5 e 7?
USO I SELETTORI COMBINATI
1) DOM2) COSTRUZIONE DEL
SELETTORE
Esempio DOM #5
17
body
section#capitolo1 section#capitolo2
h1 article h1
h1 p h1 p
Esempio DOM #6
18
body
section#capitolo1 section#capitolo2
h1 article h1
h1 p h1 p
<h1> da gestire tramite CSS
Esempio SELETTORE #7
19
body
section#capitolo1 section#capitolo2
h1 article h1
h1 p h1 p
Segui il percorso per arrivare ai tag
Esempio SELETTORE #8
20
body
section#capitolo1 section#capitolo2
h1 article h1
h1 p h1 p
#capitolo1id
Esempio SELETTORE #9
21
body
section#capitolo1 section#capitolo2
h1 article h1
h1 p h1 p
#capitolo1 articleid tag
Esempio SELETTORE #10
22
body
section#capitolo1 section#capitolo2
h1 article h1
h1 p h1 p
#capitolo1 article h1id tag tag
Esempio SELETTORE #11
23
#capitolo1 article h1id tag tag
Tutti i tag H1 dentro ad un tag ARTICLE
Esempio SELETTORE #12
24
#capitolo1 article h1id tag tag
Tutti i tag H1 dentro ad un tag ARTICLE
il tag ARTICLE dentro ad un tag con id CAPITOLO1
ESERCIZIO1 <body>2 <section id=”capitolo1”>3 <h1>Titolo della sezione</h1>4 <article>5 <h1>titolo ...</h1>6 <p>testo di paragrafo</p>7 <h1>titolo 2….</h1>8 <p>testo di paragrafo</p>9 </article>10 <article>11 <h1>titolo….</h1>12 </article>13 </section>14 </body>
25
Utilizzando il selettore appena visto, a cosa si applicherebbe lo stile se avessimo questo codice?
#capitolo1 article h1
Prova a schematizzare il DOM
ESERCIZIO #21 <body>2 <section id=”capitolo1”>3 <h1>Titolo della sezione</h1>4 <article>5 <h1>titolo ...</h1>6 <p>testo di paragrafo</p>7 <h1>titolo 2….</h1>8 <p>testo di paragrafo</p>9 </article>10 <article>11 <h1>titolo….</h1>12 </article>13 </section>14 </body>
26
Utilizzando il selettore appena visto, a cosa si applicherebbe lo stile se avessimo questo codice?
#capitolo1 article h1
CSS corso base
Attributi● box model● testo, font e colore● sfondo● liste● pseudoclassi● varie
Matteo Ziviani – scuolagrafica.sanzeno.org
Box modelCapire il box model permette di poter gestire correttamente le dimensioni
28
oggetto (tag)
Box modelCapire il box model permette di poter gestire correttamente le dimensioni
29
padding (margine interno)
Box modelCapire il box model permette di poter gestire correttamente le dimensioni
30
margin (margine esterno)
Box modelCapire il box model permette di poter gestire correttamente le dimensioni
31
width (larghezza) border (bordo)
height (altezza)
Box modelCapire il box model permette di poter gestire correttamente le dimensioni
32
altezza reale = padding top + padding bottom + height + border top + border bottom
larghezza reale = padding left + padding right + width + border left + border right
EsercizioCalcola la larghezza e l’altezza reale
33
height: 28px;
width: 50px; border: 2px;margin: 10px;
padding: 5px;
EsercizioCalcola la larghezza e l’altezza reale
34
height: 28px;
width: 50px; border: 2px;margin: 10px;
padding: 5px;
altezza reale = padding top + padding bottom + height + border top + border bottom
42 = 5 + 5 + 28 + 2 + 2
EsercizioCalcola la larghezza e l’altezza reale
35
height: 28px;
width: 50px; border: 2px;margin: 10px;
padding: 5px;
larghezza reale = padding left + padding right + width + border left + border right
64 = 5 + 5 + 50 + 2 + 2
Attributi box model
36
attributo costruzione definizione
height auto, px, % altezza
width auto, px, % larghezza
margin-top auto, px, % margine superiore
margin-left auto, px, % margine sinistro
margin-bottom auto, px, % margine inferiore
margin-right auto, px, % margine destro
padding-top auto, px, % margine interno superiore
padding-left auto, px, % margine interno sinistro
padding-bottom auto, px, % margine interno inferiore
padding-right auto, px, % margine interno destro
Attributi box model
37
attributo costruzione definizione
border-top width(px) style1 color bordo superiore
border-left width(px) style1 color bordo sinistro
border-bottom width(px) style1 color bordo inferiore
border-right width(px) style1 color bordo destro
border-top-right-radius px, % arrotondamento angolo alto destra
border-top-left-radius px, % arrotondamento angolo alto sinistra
border-bottom-right-radius px, % arrotondamento angolo basso destra
border-bottom-left-radius px, % arrotondamento angolo basso sinistra
background-color px, % colore di sfondo
box-shadow o(px) h(px) blur(px) colore ombra del box
1 none, dotted, dashed, solid
Attributi box model
38
attributo costruzione definizione
border width(px) style color tutti e quattro i bordi
margin top(px) right(px) bottom(px) left(px) tutti e quattro i margini
padding top(px) right(px) bottom(px) left(px) tutti e quattro i margini interni
Quelli presentati sono una sintesi. Altri attributi si possono trovare sul pdf “css3 cheatsheet”
Alcune abbreviazioni
Colori e misureNei file CSS i colori possono essere definiti con diversi metodi.● #nnnnnn● rgb(n,n,n)● rgba(n,n,n,0-1)
Per quanto riguarda le misure esistono diverse metriche.Quest’anno ci focalizzeremo sull’utilizzo di misure assolute● px
Per tutti gli stili che utilizzano le misure è necessario specificare sempre la metrica.
h1 {width: 34px;
} 39
Box flottantiPer affiancare due tag blocco si usa l’attributo float
40
attributo costruzione definizione
float left, right flottare un oggetto a sinistra o destra
Esempio
h1 {width: 500px;height: 40px;margin: 20px 40px 20px 40px;padding: 0px 0px 0px 0px;border: 1px solid #000000;
float: left;}
41
Esercizi
Svolgere i seguenti esercizi2.12.22.32.4
Matteo Ziviani – scuolagrafica.sanzeno.org
Font e testo
43
attributo costruzione definizione
font-family nome, nome ecc, generico1 carattere
font-size px, em, % dimensione carattere
font-weight normal, bold rimozione o aggiunta di bold da stile
color colore colore del testo
Quelli presentati sono una sintesi. Altri attributi si possono trovare sul pdf “css3 cheatsheet”
attributo costruzione definizione
text-align left, right, center carattere
text-decoration none, underline, overline, line-through
decorazioni di carattere
text-shadow o(px) h(px) blur(px) colore ombra di testo
line-height px, em interlinea
1 serif, sans-serif, monospace
Colonne
44
attributo costruzione definizione
column-count numero numero di colonne di un test
column-gap px, em, % distanza tra le colonne
column-rule width(px) style1 color linea tra le colonne
1 none, dotted, dashed, solid
Quelli presentati sono una sintesi. Altri attributi si possono trovare sul pdf “css3 cheatsheet”
Esempio
h1 {font-family: Arial, Verdana, sans-
serif;font-size: 20px;text-align: center;line-height: 20px;text-shadow: 3px 3px 5px #000000;
color: #ffff66;}
45
Esercizi
Svolgere i seguenti esercizi2.52.6
Matteo Ziviani – scuolagrafica.sanzeno.org
Liste
47
attributo costruzione definizione
list-style-type disc, circle,decimal, decimal-leading-zero, lower-alpha, lower-greek, lower-roman, upper-alpha, upper-roman, none
definisce il tipo di simbolo della lista
list-style-image url(‘path/img.ext’), none immagine per il punto elenco
list-style-position inside, outside allineamento testo punto elenco
Quelli presentati sono una sintesi. Altri attributi si possono trovare sul pdf “css3 cheatsheet”
Esercizio
Svolgere il seguente esercizio 2.7
Matteo Ziviani – scuolagrafica.sanzeno.org
Varie
49
attributo costruzione definizione
display inline, block, inline-block, none
forza la visualizzazione se in linea, blocco o non visualizzato
min-width px, em, % larghezza minima
min-height px, em, % altezza minima
background-image url(‘imm.ext’), none immagine di sfondo
background-attachment fixed, scroll definisce come viene applicata l’immagine di sfondo
background-repeat repeat, repeat-x, repeat-y, no-repeat
se e come ripetere l’immagine di sfondo
background-position x(px) y(px), left top, left, center, left bottom, right top, ecc...
posizione dell’immagine di sfondo
Quelli presentati sono una sintesi. Altri attributi si possono trovare sul pdf “css3 cheatsheet”
Selettori vari
50
attributo costruzione definizione
:hover tag:hover, #id:hover stile di un oggetto quando il mouse ci passa sopra
:first-line tag:fist-line, #id:first-line stile per la prima riga di un testo
:focus tag:focus, #id:focus stile di un oggetto quando è in focus (url #id)
Quelli presentati sono una sintesi. Altri SELETTORI si possono trovare sul pdf “css3 cheatsheet”
Esercizio
Svolgere il seguente esercizio 2.8
Matteo Ziviani – scuolagrafica.sanzeno.org
Stili con lo stesso selettoreQuando si scrive uno stile è sempre bene verificare se esiste già un selettore specifico altrimenti si rischia di avere più selettori uguali e creare confusione.
52
h1 {color: #ff9895;font-family: Arial, sans-serif;font-size: 20px;
}
h1 {color: #06eb22;font-size: 20px;text-align: left;
}
Se il css è scritto in questo modo, che stile verrà applicato ad h1?
Stili con lo stesso selettore
53
h1 {color: #ff9895;font-family: Arial, sans-serif;font-size: 20px;
}
h1 {color: #06eb22;font-size: 25px;text-align: left;
}
h1 {color: #06eb22;font-family: Arial, sans-serif;font-size: 25px;text-align: left;
}
1. Leggere gli stili dall’alto verso il basso2. Gli stili uguali si sovrascrivono3. Gli stili diversi si aggiungono
Esercizio
54
p {color: #000000;font-family: Arial, sans-serif;font-size: 20px;line-height: 22px;
}
#articolo p {font-size: 15px;text-align: left;text-shadow: 3px 3px 5px
#000000;}
Se il css è scritto in questo modo, che stile verrà applicato ad p dentro ad un tag con id “articolo”?
Esempio selettore classe
.testorosso {attributo: valore;attributo: valore;attributo: valore;[ecc..]
}
Esempio di selettore di classe.Questo selettore permette di applicare lo stile a qualsiasi tag mediante l’attributo class
55
Esempio html
<p class=”testorosso”>
</p>
Esercizi
Svolgere i seguenti esercizi2.92.102.11
Matteo Ziviani – scuolagrafica.sanzeno.org