Federico Parrella
10 dicembre 2010
Fogli di stile
Introduzione ai CSS per il web
© Dicembre 2010 Federico Parrella
Questo è un documento didattico ad uso interno.
Non può essere ridistribuito in tutto o in parte, né può essere riprodotto in nessuna forma senza il preventivo assenso di Federico Parrella
che ne detiene la proprietà intellettuale. Non può essere utilizzato per fini commerciali, né trasformato o alterato per creare un altro documento.
CSS
introduzione
[email protected]
Cascading Style Sheet
Introdotti a partire dal 1996 dal W3C,e
i fogli di stile sono utilizzati per aggiungere
stile (tipografia, colore, spaziature, etc.)
alle pagine web.
1 Il W3C è il consorzio nato nell’ottobre
del 1994 con lo scopo di definire protocolli
comuni per il World Wide web.
Comprende oltre 500 membri internazionali
che contribuiscono a definire gli standard,
le specifiche, le linee guida, le applicazioni
ed i programmi di supporto per ottimizzare
al pieno le potenzialità del web.
2
CSS
introduzione
[email protected]
I css consentono di dividere i contenuti delle
pagine web descritti nel codice (x)htmle,
dalla loro veste grafica attraverso delle regole
di stile.
1 Acronimo di HyperText Markup Language,
è un linguaggio usato per descrivere la
struttura dei documenti ipertestuali disponibili
su Internet. Tutti i siti web sono scritti in
HTML, codice che viene letto ed elaborato dal
browser, il quale genera la pagina che viene
visualizzata sullo schermo del computer.
L’HTML non è un linguaggio di programmazione,
ma un linguaggio di markup, ossia
descrive il contenuto, testuale e non,
di una pagina web. (Wikipedia).
3
CSS
xhtml
xHTML
Presupposti per lavorare con i CSS
[email protected]
4
CSS
xhtml
[email protected]
Semantic Markup
Il corretto utilizzo dei fogli di stile prevede
una conoscenza adeguata della struttura
di un documento xHTML.
Contrariamente a quanto sviluppato
per il web negli anni precedenti,e il codice
xHTML non deve contenere elementi
descrittivi per la presentazione grafica.
1 Ancora oggi si utilizzano
HTML 4 e precedenti in molti siti
web, per scarsa conoscenza degli
standard e pigrizia progettuale.
L’HTML “base” si utilizza nella composizione
di rich email (principalmente newsletter
promozionali) per via della bassa
compatibilità dei client email nel rendering
xHTML e css. A questo scopo sono utili i
Tips & Resourcer di Campaign Monitor:
http://www.campaignmonitor.com/resources/
5
CSS
xhtml
[email protected]
L’xHTML è un linguaggio di marcatura che
consente di aggiungere strutture e significati
semantici al contenuto delle pagine web.
Per farlo si avvale di marcatori HTML,
come titoli <h1>…</h6>, paragrafi <p>,
elenchi <ul><li>, link ipertestuali <a href>, etc.
6
CSS
xhtml
[email protected]
L’xHTML descrive gli elementi di una pagina
web (un collegamento ad un sito, una lista di
elementi, un paragrafo di testo, etc).e
Non descrive le informazioni grafiche:
un elenco puntato con il fondo celeste,
un titolo dal font graziato corpo 24px, una
colonna larga con il bordo viola, etc.
(Questo è il lavoro dei fogli stile)
1 Ad oggi solo alcuni siti hanno una
struttura realmente semantica. L’attuale
versione CSS 2.1 necessita di codice aggiuntivo
per l’impaginazione a griglia, l’uso di sfondi
multipli, la scelta di font incorporati, etc.
I CSS 3 superano i limiti attuali dando
flessibilità ai progettisti, ma sono supportati,
in parte, solo da Firefox e Safari.
7
CSS
xhtml
[email protected]
Modalità di sviluppo delle pagine web
OGGI
IERI
XHTML
HTML
Struttura
e presentazione
CSS
JAVASCRIPT
Struttura
Presentazione
Comportamenti
e interazione utente
JAVASCRIPT
Comportamenti
e interazione utente
8
CSS
xhtml
[email protected]
CSS Zen Garden
“Una dimostrazione di cosa si può realizzare
per mezzo del design basato sui CSS”
9
CSS
xhtml
CSS Zen Garden
http://www.csszengarden.com/tr/italiano/
[email protected]
10
CSS
xhtml
CSS Zen Garden #145
http://www.csszengarden.com/?cssfile=/145/145.css&page=0
[email protected]
11
CSS
xhtml
CSS Zen Garden #171
http://www.csszengarden.com/?cssfile=/171/171.css&page=0
[email protected]
12
CSS
xhtml
CSS Zen Garden #178
http://www.csszengarden.com/?cssfile=/178/178.css&page=0
[email protected]
13
CSS
xhtml
CSS Zen Garden #209
http://www.csszengarden.com/?cssfile=/209/209.css&page=0
[email protected]
14
CSS
xhtml
CSS Zen Garden #213
http://www.csszengarden.com/?cssfile=/213/213.css&page=0
[email protected]
15
CSS
xhtml
[email protected]
Adottare un approccio semantico per il codice
delle pagine web ha molti vantaggi:
Usabilità
La pagina web visualizzata senza codice css o javascript rimane in
ogni caso navigabile e fruibile.e
Accessibilità
Browser per non vedenti, ad esempio, leggeranno la pagina con
l’enfasi data dalla marcatura.r
Indicizzazione
I motori di ricerca sapranno attribuire il significato e il giusto peso
ad ogni elemento della pagina.t
1 Provate a disabilitare i fogli di stile di
un sito. Riuscite ancora a capire la tipologia
e gerarchia dei contenuti in pagina?
2 Esistono alcune regole per aiutare la
scansione di pagine web per non vedenti,
ipovedenti e disabili in genere.
Molte partono da un codice semantico.
http://www.pubbliaccesso.gov.it/
3 Le tecniche attuali SEO (Search engine
optimization) si basano, tra l'altro, sul markup
delle pagine e sull'ottimizzazione dei contenuti.
16
CSS
xhtml
[email protected]
Elementi HTML maggiormente utilizzati
per realizzare strutture semantiche
Elemento
Proprietà
address
Consente di contrassegnare gli indirizzi
dl, dt, dt
Indica un elenco di definizione, termine e descrizione di definizione
ol li, ul li
Indica una lista ad elenco ordinata o non ordinata
blockquote
Definisce un blocco di testo come citazione
q
Definisce una citazione in linea con il testo
label
Etichetta per i moduli
th
Contrassegna le intestazioni delle colonne e le righe all'interno delle tabelle
thead
Contrassegna l’intestazione di una tabella
tfoot
Contrassegna il piè di pagina di una tabella
fieldset
Gruppi di elementi per un modulo
button
Pulsanti per un modulo
cite
Specifica le citazioni o riferimenti ad altre fonti
abbr
Specifica la forma abbreviata per parole o frasi
acronym
Indica gli acronimi
17
CSS
xhtml
Utilizzo di tag non strutturati
Sebbene i marcatori <div> e <span>e siano
molto potenti se utilizzati in combinazione
con i CSS, questi ultimi non hanno alcun
valore semantico.
1 DIV e SPAN sono i marcatori xHTML
maggiormente utilizzati nelle pagine web
non completamente semantiche.
[email protected]
18
CSS
xhtml
[email protected]
Generalmente i <div> (elementi block)e
vengono utilizzati per assemblare i contenuti
della pagina per settori, creando delle “zone”
di impaginazione.
Corretto
<div id="contenitore">
<div id="testata"> [...] </div>
</div>
Corretto
Non corretto
<div>Paragrafo di testo</div>
1 Un elemento BLOCK in una pagina xHTML
è un elemento che forma un blocco separato:
— Forma un blocco e si dispone “a capo”
— Assume la massima larghezza possibile
in rapporto alle misure del suo contenitore
— Modifica l’altezza
<p>Paragrafo di testo</p>
in rapporto al suo contenuto
— Può contenere altri elementi di tipo block
e/o inline (es: un <p> dentro un <div>)
— Con l’ausilio dei css si può attribuire
all’elemento block una dimensione fissa
o variabile (in larghezza e/o in altezza)
— Esempi di elementi HTML di block:
<div>, <h1>…<h6>, <p>, <ul>, <ol>,
<dl>, <table>, <blockquote>, <form>
19
CSS
xhtml
[email protected]
Il tag <span> (elemento inline)e
è un marcatore ignorato dai motori di ricerca
che viene (mal) utilizzato per differenziare
alcuni elementi all’interno di un contenuto.
Non corretto
<h1>Un titolo con un <span>enfasi particolare</span></h1>
Corretto
<h1>Un titolo con un <em>enfasi particolare</em></h1>
1 Un elemento INLINE in una pagina
xHTML è un elemento che rimane in
linea con il resto del contenuto:
— Prende larghezza e altezza
in rapporto al suo contenuto
— Può contenere elementi di tipo inline (es:
un <img> dentro un <a>) e non di tipo block
— Con l’ausilio dei css non gli si
possono attribuire misure fisse
— Esempio di elementi HTML
inline: <span>, <a>, <strong>, <em>,
<img>, <abbr>, <acronym>
20
CSS
Regole di base
CSS
Regole di base
[email protected]
21
CSS
Regole di base
I CSS possono essere:
— incorporati nella pagina web
— collegati ad una o più pagine di un sito
e dichiarati pr media diversi.
[email protected]
22
CSS
Regole di base
[email protected]
Esempio di stile incorporato nel codice di
una pagina xHTML all’interno del tag <head>e
tra i tag specifici <style> e </style>
<html>
<head>
[...]
<style type="text/css" media="screen">
h1 { font-size:24px; color: red }
.box { display: block; color: red }
</style>
[...]
</head>
1 Si può applicare il codice css all’interno
del tag <head> in singole pagine xHTML o in
pagine che necessitano interventi mirati.
23
CSS
Regole di base
[email protected]
Sconsigliato!
Esempio di stile incorporato inline
nel codice di una pagina xHTML nel tag
<body>e
[...]
</head>
<body>
<div id="container">
<h1 style="margin:5px; color: #f00">Il mio nuovo sito</h1>
[...]
</div>
[...]
</body>
</html>
1 Questo approccio è sconsigliato.
In questo modo gli aspetti visuali
degli elementi della pagina sono
dichiarati nella struttura xHTML.
Difficilmente si può forzare una
regola dichiarata inline.
Gli svantaggi sono enormi, specie se il vostro
layout è destinato a supporti e media diversi.
24
CSS
Regole di base
[email protected]
Esempio di stile esternoe collegato nel codice
di una pagina html all’interno del tag <head>r
tramite il tag specifico <link>
<link href="stile.css" rel="stylesheet" type="text/css" media="screen" />
1 In questo caso viene creato un nuovo
2 È senza dubbio la scelta da preferire,
documento con estensione .css che contiente
tutte le regole di stile. Questo file viene
collegato ad ogni pagina xHTML del sito
cosicché tutte sfruttino le stesse regole.
dati i vantaggi in termini di centralità,
controllo ed uniformità dell’aspetto visuale
del sito, sia in fase di progettazione che
in fase di manutenzione evolutiva.
25
CSS
Regole di base
[email protected]
Sconsigliato!
Esempio di stile esterno collegato nel codice
di una pagina xHTML all’interno del tag <head>
tra i tag specifici <style> e </style>
<html>
<head>
[...]
<style type="text/css" media="screen">
@import url(stile.css);
</style>
[...]
</head>
Nota Per questioni di performance nel
caricamento delle pagine web, specialmente su
IE per Windows, è preferibile richiamare un css
esterno con il metodo <link> anziché @import.
26
CSS
Regole di base
[email protected]
Si possono specificare fogli di stile diversi
per consentire una visualizzazione ottimizzata
su media differenti. Ad esempio:
alle > aural
>
braille > embossed > handheld >
printr
>
projection > screen > tty > tv > tutti i dispositivi
sintetizzatori vocali (utilizzati principalmente dai non vedenti)
dispositivi braille a lettura tattile (utilizzati principalmente dai non vedenti)
stampanti braille
dispositivi palmari e smartphone
stampanti e anteprima di stampa dei browser
proiettori per presentazioni
schermo di un pc desktop, laptop, etc.
dispositivi con caratteri a larghezza fissa (telescriventi)
televisori
Nota La tipologia di media contrassegnata
con il colore è quella maggiormente utilizzata
dai siti web, anche perché sono quelli
maggiormente supportati dai browser moderni.
1 All è il valore di default dell’attributo media
2 Nella stampa di un documento xHTML,
grazie all’uso dei css, si possono ottimizzare
corpi e colori dei caratteri, nascondere
elementi non necessari in stampa, etc.
27
CSS
Regole di base
[email protected]
Esempio di chiamata ad un foglio di stile
esterno e di un foglio di stile aggiuntivo
ottimizzato per la stampa in una pagina
xHTML all’interno del tag <head> tramite il tag
specifico <link>
<link href="stile.css" rel="stylesheet" type="text/css" media="all" />
<link href="stampa.css" rel="stylesheet" type="text/css" media="print" />
1 In questo esempio vengono chiamati,
in ordine, due fogli di stile esterni. Il
primo è valido per tutti i supporti, mentre
il secondo solo per la stampa.
In quest'ultimo, genericamente, vengono
nascosti alcuni elementi non necessari
in pagina (menu di navigazione, banner,
contenuti specifici, etc), ottimizzati i colori
in funzione delle stampanti ed adattato
il contenuto ad un formato A4.
È fondamentale l'ordine di chiamata degli
stili (prima lo stile generico, poi quello per la
stampa). Approfondiremo più avanti il motivo.
28
CSS
Sintassi
Sintassi CSS
[email protected]
29
CSS
Sintassi
[email protected]
La sintassi CSS è di facile comprensione,
si basa su una serie di dichiarazionie e regole.
Ad esempio:
h1 {
font-size: 24px;
color: red
}
h2 { font-size:20px;color:red }
Nota Non esistono regole per l’utilizzo
degli spazi nella scrittura delle dichiarazioni
css. Molti utenti preferiscono scrivere una
regola per ogni linea di testo, così come l’ultimo
punto e virgola (;) può essere omesso.
selettore {
proprietà1: valore;
proprietà2: valore
}
selettore { proprietà:valore; [...] }
Lo stile di scrittura dei selettori è case
sensitive, ovvero sensibile alle maiuscole
e minuscole. Proprietà e valori sono case
insesitive e devono essere scritti in minuscolo,
pertanto si consiglia di non utilizzare mai
il maiuscolo, neanche nei selettori.
1 Trovate le più comuni dichiarazioni
in appendice a questo documento.
30
CSS
Sintassi
[email protected]
Selettori
Tramite i selettori si possono dichiarare regole
di stile per:
— ridefinire i marcatori html
— aggiungere classi generiche
— utilizzare id specifici
— richiamare pseudo elementi e pseudo classi
— ridefinire tutti gli elementi di un insieme
31
CSS
Sintassi
[email protected]
Ridefinizione di marcatori html
Ogni tag ha delle impostazioni di stile
predefinite determinate dal browser utilizzato
dall’utente.e
Si possono ridefinire le regole per ogni
marcatore html tramite un selettore di tipo.
Notate delle differenze se provate a visualizzare
le vostre pagine web prima con Microsoft
Internet Explorer 6 e poi con Firefox 3?
Con Pc o Mac? La logica di
interpretazione del codice xHTML varia
a seconda del browser in uso.
32
CSS
Sintassi
[email protected]
Sintassi di un selettore di tipo
Tag di apertura
XHTML
Tag di chiusura
<h1>Titolo d’esempio</h1>
Dichiarazione
CSS
h1 { color: orange; font-size: 24px}
Tag
dichiarazione
selettore { proprietà: valore;}
33
CSS
Sintassi
[email protected]
Classi
Utilizzate come attributo di un tag html
applicano uno stile ad un sottoinsieme
di elementi di una pagina web con
caratteristiche e funzionalità comuni.
Caratteristica primaria delle classi è
la loro applicabilità multipla e la loro
flessibilità, per questo sono tra i selettori
più utilizzati all’interno delle pagine web.
I nomi delle classi sono sempre
preceduti da un period (.).
34
CSS
Sintassi
[email protected]
Sintassi di una classe
Tag di apertura
XHTML
Tag di chiusura
<p class="warning">Mangiate frutta e verdura di stagione</p>
Nome della classe
Attributo del tag
Dichiarazione
CSS
.warning { color: red; font-size: 1.2em}
Nome della classe
Carattere identificativo
Nota I nomi dei selettori possono contenere
solo lettere, numeri, underscores (_), hyphens
(-) e nessun carattere speciale (!"£$%&/ etc. ).
— Le classi e gli ID non possono
contenere altri segni di interpunzione
se non underscore (_) e hyphen (-).
— Il primo carattere di un selettore non
può essere un numero o un hyphen (-).
Ad esempio, mio_nome2-1 è un nome
valido per una classe o un ID, ma i nomi
1,1mio_nome, -mio_nome, my:name,
my.name e my,name non sono validi.
— un tag html può condividere più classi,
sommando le regole di stile. Ad esempio:
<p class="warning high code">[...]</p>
35
CSS
Sintassi
[email protected]
Utilizzo e riuso delle classi
XHTML
CSS
<p class="advice">Salute: basta cambiare alcune abitudini.</p>
<p>Comprare <em class="advice">frutta e verdura di stagione</em>:
i prodotti fuori stagione sono nel supermercato perché hanno
fatto un lungo viaggio in nave, in macchina o in aereo, oppure
sono cresciuti in serra grazie…</p>
.advice { color: green; }
p.advice { font-size: 120%; }
em.advice { color: greenyellow; }
36
CSS
Sintassi
[email protected]
ID
Utilizzati come attributo di un tag html,
definiscono lo stile di un unico elemento
di una pagina web.
Gli ID devono essere utilizzati una sola
volta all'interno di un documento XHTML.
Vengono utilizzati principalmente per
identificare ampie zone di impaginazione
(testata, corpo, piè di pagina, etc.).
I nomi degli ID sono sempre
preceduti da un hash (#).
37
CSS
Sintassi
[email protected]
Sintassi di un id
Tag di apertura
XHTML
Tag di chiusura
<p id="warning">Mangiate frutta e verdura di stagione</p>
Nome dell’id
Attributo del tag
Dichiarazione
CSS
#warning { color: red; font-size: 1.2em}
Nome della classe
Carattere identificativo
Nota I nomi dei selettori possono contenere
solo lettere, numeri, underscores (_), hyphens
(-) e nessun carattere speciale (!"£$%&/ etc. ).
— Le classi e gli ID non possono
contenere altri segni di interpunzione
se non underscore (_) e hyphen (-).
— Il primo carattere di un selettore non
può essere un numero o un hyphen (-).
Ad esempio, mio_nome2-1 è un nome
valido per una classe o un ID, ma i nomi
1,1mio_nome, -mio_nome, my:name,
my.name e my,name non sono validi.
— un tag html può condividere classi e id,
sommando le regole di stile. Ad esempio:
<p id="warning" class="high">[...]</p>
38
CSS
Sintassi
[email protected]
Gruppi di selettori
Quando più selettori condividono le stesse
regole possono essere raggruppati, separati
da una virgola.
h1 { color: purple }
h2 { color: purple }
h3 { color: purple }
>
h1,h2,h3 { color: purple }
39
CSS
Sintassi
[email protected]
Esempio di gruppi di selettori
/* stato iniziale */
/* raggruppamento 1 */
h1 { color: silver; background: white }
h1, h2, h4 { color: silver }
h2 { color: silver; background: gray }
h2, h3 { background: gray }
h3 { color: white; background: gray }
>
h1, h4, strong { background: white }
h4 { color: silver; background: white }
h3 { color: white }
strong { color: gray; background: white }
strong {color: gray }
/* raggruppamento 2 */
h1, h4 { color: silver; background: white}
>
h2 { color: silver }
h3 { color: white }
h2, h3 { background: gray }
In questo caso la logica è complessa
e di lettura non immediata. Meglio
aggiungere delle classi specifiche per ogni
elemento o per un gruppo di elementi.
strong {color: gray; background: white }
40
CSS
Sintassi
[email protected]
Regole di stile “a cascata”
Quando più regole di stile si riferiscono
allo stesso oggetto, anche con selettori diversi,
le dichiarazioni si “sommano” creando spesso
dei conflitti.
/* dichiarazioni dello stesso elemento */
h1 { color: silver; background: white; margin: 10px;}
h1 { color: black; background: purple }
/* risultato */
>
Un tag h1 di colore nero,
sfondo viola con un margine
su tutti i lati di 10px
41
CSS
Sintassi
[email protected]
L’interpretazione delle regole in caso
di conflitti segue la priorità:
eGerarchia degli id
rGerarchia di classi e pseudoclassi
tUltima dichiarazione: se le dichiarazioni
hanno lo stesso livello di importanza
e condividono le stesse proprietà “vince”
l’ultima regola dichiarata
I fogli di stile a cascata prendono in esame
anche il foglio di stile che un utente, tramite
il suo browser, può avere personalizzato per
sovrascrivere le regole dei siti che naviga.
42
CSS
Sintassi
[email protected]
Selettori
* {}
Seleziona tutti gli elementi
p {}
Seleziona tutti gli elementi <p>
*.c {}
Seleziona tutti gli elementi che hanno la classe="c"
p.c {}
Seleziona tutti gli elementi <p> che hanno la classe="c"
#main {}
Seleziona l’unico elemento con attributo id="main"
a:link {}
Seleziona tutti i link non visitati
a:visited {}
Seleziona tutti i link visitati
a:hover {}
Seleziona tutti i link nello stato “al passaggio del mouse”
a:active {}
Seleziona tutti i link nello stato “al click del mouse”
a:focus {}
Seleziona tutti i link nello stato “focus”
p:first-letter {}
Seleziona la prima lettera di tutti gli elementi <p>
p:first-line {}
Seleziona la prima linea di tutti gli elementi <p>
p:first-child {}
Seleziona il primo elemento trovato di tutti gli elementi <p>
#n *.c :first-line {}
Esempio di selettore discendente
#n>*.c > :first-line {}
Esempio di selettore figlio
#n+*.c + :first-line {}
Esempio di selettore fratello
#n,*.c , :first-line {}
Applica un selettore indipendente per ogni dichiarazione separata da (,)
*[title] {}
Seleziona tutti gli elementi che contengono l’attributo title
*[title~="WORD"] {}
Seleziona tutti gli elementi che contengono nell’attributo title la parola "WORD"
*[title="VALORE_TITLE"] {}
Seleziona tutti gli elementi che contengono nell’attributo title la dicitura esatta
43
CSS
proprietà
Proprietà CSS
[email protected]
44
CSS
proprietà
[email protected]
Proprietà comuni nei Css
display
visibility
float
clear
position
z-index
overflow
cursor
left
right
width
min-width
max-width
top
bottom
height
min-height
max-height
margin
margin-left
margin-right
margin-top
margin-bottom
border
border-left
border-left-color
border-left-width
border-left-style
border-right
border-right-color
border-right-width
border-right-style
border-top
border-top-color
border-top-width
border-top-style
border-bottom
border-bottom-color
border-bottom-width
border-bottom-style
Alcune proprietà, come widows o outline,
sono state volutamente tralasciate.
padding
padding-left
padding-right
padding-top
padding-bottom
background
background-color
background-image
background-repeat
background-attachment
background-position
text-indent
text-align
color
font
font-family
font-size
font-style
font-variant
font-weight
text-decoration
text-transform
vertical-align
line-height
white-space
word-spacing
letter-spacing
direction
unicode-bidi
list-style
list-style-type
list-styleposition
list-style-image
border-collapse
table-layout
page-break-after
page-break-before
45
CSS
proprietà
[email protected]
Proprietà e valori comuni nei Css / e
i
Proprietà
Valore
display
inline, none, block, inline-block, list-item, table-cell, table, table-row
visibility
visible, hidden
background-color
transparent, COLOR
background-image
none, url("file.jpg")
background-repeat
repeat, repeat-x, repeat-y, no-repeat
background-attachment
scroll, fixed
background-position
0% 0%, H%V%, HV, lefttop, leftcenter, leftbottom, right top, right center, right bottom,
center top, center center, center bottom
border
WIDTH STYLE COLOR
border-width
medium, LENGTH, thin, thick
border-style
none, hidden, dotted, dashed, solid, double, groove, ridge, inset, outset
border-color
black, COLOR
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
46
CSS
proprietà
[email protected]
Proprietà e valori comuni nei Css / r
Proprietà
Valore
border-left
WIDTH STYLE COLOR
border-left-width
same as border-width
border-left-style
same as border-style
border-left-color
same as border-color
border-right
WIDTH STYLE COLOR
border-right-width
same as border-width
border-right-style
same as border-style
border-right-color
same as border-color
border-top
WIDTH STYLE COLOR
border-top-width
same as border-width
border-top-style
same as border-style
border-top-color
same as border-color
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
47
CSS
proprietà
[email protected]
Proprietà e valori comuni nei Css / t
i
Proprietà
Valore
border-bottom
WIDTH STYLE COLOR
border-bottom-width
same as border-width
border-bottom-style
same as border-style
border-bottom-color
same as border-color
cursor
auto, default, pointer, help, wait, progress, move, crosshair, text, n-resize, s-resize,
e-resize, w-resize
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
48
CSS
proprietà
[email protected]
Proprietà e valori di contenuto nei Css / e
Proprietà
Valore
padding
0, LENGTH
padding-left
0, LENGTH
padding-right
0, LENGTH
padding-top
0, LENGTH
padding-bottom
0, LENGTH
i
font
caption, icon, menu, message-box, small-caption, status-bar
i
font-family
serif, FONTLIST, sans-serif, monospace, fantasy, cursive
i
font-size
medium, LENGTH, %ParentElementFontSize, xx-small, x-small, smaller, small, large, larger,
x-large, xx-large
i
font-style
normal, italic, oblique
i
font-variant
normal, small-caps
i
font-weight
normal, lighter, bold, bolder, 100, 200, 300, 400, 500, 600, 700, 800, 900
i
text-decoration
none, underline, line-through, overline
i
text-transform
none, lowercase, uppercase, capitalize
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
49
CSS
proprietà
[email protected]
Proprietà e valori di contenuto nei Css / r
Proprietà
Valore
i
direction
ltr, rtl
i
unicode-bidi
normal, bidi-override, embed
i
line-height
normal, LENGTH, %FontSize, MULTIPLIER
i
letter-spacing
normal, LENGTH
i
word-spacing
normal, LENGTH
i
white-space
normal, pre, nowrap
color
#rrggbb, #rgb, rgb(RED, GREEN, BLUE), rgb(RED%, GREEN%, BLUE%)
black, gray, silver, white, red, maroon, purple, fuchsia, lime, green, olive, yellow,
blue, navy, teal, aqua, violet, fuschia, red, maroon, black, wheat, gold, orange, tomato,
firebrick, lightyellow, yellow, yellowgreen, olive, darkolivegreen, palegreen, lime,
seagreen, green, darkgreen, lightcyan, cyan, turquoise, teal, midnightblue, lightskyblue,
deepskyblue, royalblue, blue, darkblue, whitesmoke, lightgrey, silver, gray, dimgray,
darkslategray
i
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
50
CSS
proprietà
[email protected]
Proprietà e valori di layout nei Css / e
Float
Applies to all except cells and rows.
float
none, left, right
Clear
Applies to all except inlines, inline-blocks, cells, & rows.
clear
none, left, right, both
Positioned
Applies to all except cells and rows.
position
static, relative; absolute, fixed
left
auto, LENGTH, %WidthOfContainingBlock
right
auto, LENGTH, %WidthOfContainingBlock
top
auto, LENGTH, %HeightOfContainingBlock
bottom
auto, LENGTH, %HeightOfContainingBlock
z-index
auto, INTEGER
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
51
CSS
proprietà
[email protected]
Proprietà e valori di layout nei Css / r
Horizontal Margin
Applies to all except cells and rows.
margin
0, LENGTH, %WidthOfContainingBlock, auto
margin-left
0, LENGTH, %WidthOfContainingBlock, auto
margin-right
0, LENGTH, %WidthOfContainingBlock, auto
Vertical Margin
Applies to all except inlines, cells, and rows.
margin
0, LENGTH, %WidthOfContainingBlock, auto
margin-top
0, LENGTH, %WidthOfContainingBlock, auto
margin-bottom
0, LENGTH, %WidthOfContainingBlock, auto
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
52
CSS
proprietà
[email protected]
Proprietà e valori di layout nei Css / t
Width
Applies to all except inlines and rows.
width
auto, LENGTH, %WidthOfContainingBlock
min-width
0, LENGTH, %WidthOfContainingBlock
max-width
none, LENGTH, %WidthOfContainingBlock
Height
Applies to all except inlines and tables.
height
auto, LENGTH, %HeightOfContainingBlock
min-height
0, LENGTH, %HeightOfContainingBlock
max-height
none, LENGTH, %HeightOfContainingBlock
Content Layout
Applies to all except inlines, tables, and rows.
i
text-indent
0, LENGTH, %WidthOfContainingBlock
i
text-align
left, center, right, justify
overflow
visible, hidden, auto, scroll
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
53
CSS
proprietà
[email protected]
Proprietà e valori specifici nei Css
List
Applies only to lists.
i
list-style
TYPE POSITION IMAGE
i
list-style-type
disc, circle, square, none, decimal, lower-alpha, upper-alpha, lower-roman, upper-roman
i
list-style-position
outside, inside
i
list-style-image
none, url("file.jpg")
Table
Applies only to tables.
border-collapse
separate, collapse
table-layout
auto, fixed
Cell
Applies only to cells.
vertical-align
baseline, bottom, middle, top
Inline
Applies only to inlines and inline-blocks.
vertical-align
baseline, LENGTH, %LineHeight, text-bottom, text-top, middle, top, bottom
Page
Applies only to blocks and tables.
page-break-after
auto, always, avoid
page-break-before
auto, always, avoid
i
La i prima della proprietà indica un elemento
di tipo ereditato.
Il valore in corsivo indica il valore predefinito.
LENGTH rappresenta tutte le proprietà
di dimensione: 0, auto, none e tutte le unità
di misura (%, px, em, ex, pt, in, cm, mm, pc).
54
CSS
LINK
[email protected]
Link su HTML e CSS
Sito
Url
W3C Homepage for CSS
www.w3.org/Style/CSS
W3C CSS 2.1 Specification
www.w3.org/TR/CSS21
W3C XHTML 1.0 Specification
www.w3.org/TR/xhtml1
Mozilla Developer Center
developer.mozilla.org/en/docs
Web Design Information
www.welie.com/patterns
microformats.org
www.alistapart.com
www.simplebits.com/notebook
www.positioniseverything.net
meyerweb.com/eric/css
Web Design Tutorials
www.w3schools.com
www.westciv.com/style_master/house
Tools
developer.yahoo.com
dean.edwards.name/my/cssQuery
addons.mozilla.org/firefox/60
addons.mozilla.org/firefox/179
CSS Mailing Lists
css-discuss.org
babblelist.com
55
CSS
Software per i css
Software per i css
Ovvero quelli che utilizzo nel lavoro quotidiano
[email protected]
56
CSS
Software per i css
[email protected]
TopStyle Pro
Editor CSS per Windows
TOPSTYLE
http://www.newsgator.com/
individuals/topstyle/default.aspx
Per Win segnalo anche:
Adobe DREAMWEAVER, editor WYSIWYG
per il web dalle molte funzionalità.
STYLE MASTER, editor css in grado di
agire sull’anteprima delle pagine web.
57
CSS
Software per i css
[email protected]
CSSEDIT
Editor CSS per Mac OS X
CSSEDIT
http://macrabbit.com/cssedit/
Per Mac OS X segnalo anche:
Adobe DREAMWEAVER, editor WYSIWYG
per il web dalle molte funzionalità.
Panic CODA, un software che integra in
un’unica finestra un editor per linguaggi
web, un editor css, svn, ftp, etc.
58
CSS
Software per i css
[email protected]
Firebug / web Developer Toolbar
Estensioni di Firefox (Win, Mac, Linux)
FIREBUG
http://getfirebug.com/
https://addons.mozilla.org/it/firefox/addon/1843
WEB DEVELOPER TOOLBAR
http://chrispederick.com/work/web-developer/
https://addons.mozilla.org/it/firefox/addon/60
59
CSS
Software per i css
XRAY
Bookmarklet javascript per qualsiasi browser moderno
XRAY
http://www.westciv.com/xray/
[email protected]
60
CSS
Software per i css
[email protected]
Validatore CSS
Sito web del W3C
CSS VALIDATOR
http://jigsaw.w3.org/css-validator/
xHTML VALIDATOR
http://validator.w3.org/
61
Think more, design less.
Federico Parrella
Profilo
www.parrella.it
Federico Parrella
User experience, user centered design
and corporate identity. Online media consultant.
Progettista grafico e docente di multimedia design che vive e lavora a Roma. Diplomatosi all’ISIA di Urbino, si occupa
di integrazione di media diversi nell’ambito del design della comunicazione, ed in particolare di user experience, user
centered design e di corporate identity.
Ha lavorato per clienti quali l’Università di Urbino, il Comune di Roma, Sat 2000, il Gruppo Iccrea (BCC) e il Ministero
dell’Università e Ricerca.
Dal 2004 è art director e project leader di Elemedia (Gruppo Editoriale L’Espresso) dove si occupa di UI design, semantic
xHTML, CSS e Javascript, mobile ed iPhone design, Wordpress development e project management.
Dal 2003 al 2008 è stato docente di Multimedia Design presso l’ISIA di Urbino con la quale tuttora collabora. Ha svolto
seminari sul web design e sulla progettazione grafica presso l’ISA di Fabriano, l’ISIA di Roma e la Facoltà di Scienze della
Comunicazione dell’Università degli Studi di Roma “La Sapienza”.
Il suo studio di Roma, con Cecilia Ceradini, si occupa di consulenza, formazione e progettazione per il design della
comunicazione.