GUIDA AI CSS
CASCADE STYLE SHEETS
http://www.risorse.net/css/interattivicss.asp
<1> Css:
cominciamo
<2> Unità
di misura
<3> Incorporare
i Css nei documenti Html
<4> I
fogli di stile in linea
<5> I
fogli di stile incorporati
<6> I
fogli di stile esterni
<7> Stile
ed effetti su testo
<8> Effetti
interattivi sui links
<9> Definire
lo sfondo e le proprietà in un documento
<10> Specificare
una linea grafica uniforme al sito
<11> Posizionare
gli elementi
<12> Le
classi
<13> Effetti
sul cursore
<14> Stampa di
un documento
Il Web, ai tempi della sua nascita, doveva preoccuparsi maggiormente ai
contenuti che portava, piuttosto che allo stile con il quale esso veniva
presentato.
L'Html vista la sua facilita', era, e
ancora e', un partner fondamentale per creare qualunque Web site. E proprio la
sua forza maggiore, e' diventata, in questo ultimo periodo, il suo difetto piu'
fastidioso.
Quando infatti, il grande pubblico ha cominciato ad accorgersi dell'esistenza
della rete, le limitazioni di Html sono diventate una sorta di frustazione per
chi, soprattutto professionista del web publishing, si e' dovuto trovare di
fronte a limiti statici, aggirabili solamente con espedienti di natura
tutt'altro che stilistica, come le tabelle per il layout, le immagini bianche
per gli spazi vuoti, la conversione del testo in immagini e quant'altro.
Questi ingombranti aggiustamenti, sono sfociati nella nascita di estensioni di
Html, quali Javascript, Vb
Script e infine i Cascade Style Sheets, che in italiano significa Fogli
di stile a cascata. A cascata, perche' esistono delle regole gerarchiche tra
i vari Css (l'acronimo usato per richiamarli) incorporati in un documento.
Queste nuove tecnologie, hanno considerevolmente aumentato la complessita' delle
pagine Web, pur rimandendo un limite di flessibilita' ancora notevole e
comunque, soffrendo ancora di problemi di interoperabilita' e di barriere per le
persone disabili.
All'inizio di questo primo passaggio dicevamo come, l'uso dei Css avesse
finalmente aumentato lo stile delle pagine Web. Un normale documento Html
infatti, unisce insieme contenuti, struttura e stile.
Proviamo infatti a richiamare una normale riga di testo con font verdana,
grandezza 3 e colore blu.
<FONT FACE=VERDANA SIZE=3 COLOR=BLUE>Testo comune</FONT>
Come si puo' vedere, il contenuto (Testo comune) e' accluso allo stile (font,
size e color). Se, volessimo modificare il font di un sito formato da 300
documenti, l'operazione, oltre che lunga, potrebbe risultare estenuante.
I Css, pongono rimedio a questo problema perche' separano lo stile dal
contenuto.
Fin qui tutto bene, il problema e' dato dal fatto che solo l'ultima generazione
dei browser e' compatibile con i Css, e questo potrebbe essere uno dei talloni
di achille di questa nuova tecnologia.
Infatti, se si entrasse in una pagina scritta grazie al contributo dei fogli di
stile, con un browser non compatibile (quale Navigator 3), si vedrebbero i
contenuti mostrati con le impostazioni di default del browser: sfondo bianco o
grigio, testo nero con font Times New Roman e grandezza pari a 3.
Su questo inconveniente, consigliamo di soprassedere, per il semplice motivo che
sia Explorer 4-5, sia Netscape 4, sono gratuiti e quindi, sono le persone meno
al passo con i tempi che si devono aggiornare.
Un'ultima considerazione la meritano i browser pienamente compatibili con i Css.
Nonostante siano stati approvati da il W3C (il consorzio per il Web), solo
Explorer 4 e superiori ne sfruttano al meglio le capacita'. Navigator 4 e
Explorer 3 invece ne interpretano solo una parte, mentre tutti gli altri, quali
Navigator 3 e Opera 3.5, non ne apprezzano le potenzialita'.
<2> Unità di
misura
px (pixel - relativo alla risoluzione dello schermo)
ex (rappresenta la grandezza della lettera x)
em (rappresenta la grandezza della lettera m)
percentuale (viene rappresentato da un numero seguito senza spazi
dal segno "%". Si riferisce di solito a altri valori ad es. la
risoluzione video).
Al secondo gruppo invece appartengono:
cm (centimetri)
in (inches - 2,54 centimetri)
pt (rappresenta un punto, che equivale a 1/72 in)
mm (millimetri)
pc (picas - equivale a 12 pt)
Qui sotto troverai una tabella che converte il normale size Html in punti
Css.
size |
font-size |
1 |
8pt |
2 |
10pt |
3 |
12pt |
4 |
14pt |
5 |
18pt |
6 |
24pt |
7 |
36pt |
Anche i colori, per essere espressi necessitano di un sistema che li
classifichi. Tale classificazione puo' essere espressa per mezzo di una
parola chiave o per mezzo di un valore Rgb. Queste parole chiave, prese
dalla palette Windows Vga sono ad esempio: navy, aqua, blue, green, gray,
black, yellow, white, teal, purple, red, orange, silver, fuchsia, lime,
marron, olive ecc.
I colori RGB invece possono essere definiti nei seguenti modi:
#RGB - con i moderni browser il # (cancelletto) puo' essere omesso
#RRGGBB - con i moderni browser il # puo' essere omesso
rgb(y,y,y) - dove y rappresenta un numero intero compreso tra 0 e 255 (compresi)
rgb(y%,y%,y%) - dove y ha un valore tra 0.0 e 100.0 (compresi)
<3> Incorporare i
Css nei documenti Html
I fogli di stile in linea, rappresentano una soluzione
ottimale per chi volesse attribuire dello stile a uno solo o comunque pochi tags
Html.
Non rappresentano infatti, la tanto agoniata divisione tra stile e contenuti.
Nell'esempio che verra' mostrato qui sotto, verra' mostrato un tipico foglio di
stile in linea:
<FONT STYLE="font-family:tahoma; font-size:10pt;
color:green">Testo scritto grazie ai Css</FONT>
Come possiamo vedere, l'eloquente promiscuita' tra stile e contenuti e fin
troppo visibile. Utilizzare normale sintassi Html, in questo caso sarebbe stato
uguale, se non considerando il vantaggio della compatibilita' con i browser meno
recenti. Ecco comunque lo stesso risultato ottenuto con comuni tag Html.
<FONT FACE=TAHOMA SIZE=2 COLOR=GREEN>Testo scritto
grazie a Html</FONT>
Ecco i risultati dei due sorgenti a confronto.
Testo
scritto grazie ai Css
Testo scritto grazie a Html
Con queste dimostrazioni, abbiamo capito che i Css in linea, negano tutto cio'
che abbiamo detto nella prima puntata a proposito della separazione tra stile e
contenuti.
<5> I fogli di stile incorporati
I fogli di stile incorporati rappresentano una via di
mezzo tra i Css in linea
e i Css esterni. I
Cascade Style Sheets incorporati infatti, separano lo stile dai contenuti, ma,
essendo acclusi ai tag <HEAD> e </HEAD>,
non possono influenzare un intero sito web o anche solo piu' documenti.
Questi fogli di stile incorporati, come quelli esterni e a differenza di quelli
in linea, racchiudono peculiarita' sintattiche che lo distinguono dal comune
Html: l'insieme degli attributi e' racchiuso tra "{ }" (si
ottegono su Windows premendo Shift+Ctrl+Alt+[ oppure Shift+Ctrl+Alt+]),
per separare ogni attributo dal suo corrispettivo valore, e' usato il segno
":", in caso di piu' attributi, vengono separati da ";",
gli attributi con piu' termini (come font-size) sono sperati da un "-".
Qui di seguito troverete un esempio di foglio di stile incorporato:
<HTML>
<HEAD>
<STYLE TYPE=text/css>
P { font-size:15px; font-family:verdana; color:green }
FONT { font-size:20px; font-family:arial; color:black }
</STYLE>
</HEAD>
<BODY>
<FONT>RISORSE.NET - scritto con i Css incorporati (di 20px, arial e
nero)</FONT>
<BR>
<BR>
<P>Il sito italiano sulle ultime tecnologie per fare web (di 15px, verdana
e verde)
</BODY>
</HTML>
Come si puo' vedere, i Css incorporati influiscono sui tag a cui fanno
riferimento... in questo caso <P> e <FONT>.
Naturalmente nessuno ci vieta di assegnare altri fogli di stile a diversi tag,
come <Hx>, <TD>
o qualsiasi altro.
Se si volessero assegnare piu' valori a piu' proprieta', bastera' indicare nel
Css:
P, TD { font-face: arial; font-size: 10pt }
In pratica, se volessimo unire tag che abbiano gli stessi valori, bastera'
indicarli nello stesso foglio di stile, sperati da una virgola. Gli stessi
valori invece, vengono separati da un punto e virgola. Questo, vale anche per i
Css esterni.
In conclusione: l'attributo text/css del tag <STYLE>
puo' essere omesso e riguarda il formato (MIME) del foglio di stile appena
specificato. Sia Explorer che Netscape sono compatibili con questo formato. Un
altro formato, e' text/jass e riguarda i Css in Javascript.
Questo tipo di fogli di stile, rispecchia pienamente la
caratteristica dei Css di divedere lo stile dai contenuti. Essi infatti, sono
depositati in un solo file con estensione .css e richiamati con una semplice
riga di codice da tutti i documenti Html a cui fanno riferimento.
Inutile quindi sottolineare il vantaggio che se ne trae dal massiccio uso che se
ne puo' fare. Con un'unica modifica, si potrebbe riflettere su tutto il sito il
risultato di tale accorgimento.
Ma vediamo come creare un foglio di stile esterno:
Aprire il Blocco Note di Win9x/Nt o 2000 (o qualunque editor di testi) e digitare all'interno di essi il foglio di stile, come abbiamo visto nel passo dedicato ai Css incorporati.
Nel caso usaste Blocco Note, dal primo menu in alto a sinistra (File)
scegliere la voce "Salva" o anche "Salva con nome...".
Apparira' una finestra di dialogo con in basso due spazi di input; nel primo
digitare un nome qualsiasi seguito dall'estensione .css (ad esempio:
layout.css). Nel secondo campo, lasciare tutto invariato (va bene anche se
c'e' indicato Documenti di testo).
Una volta eseguite queste semplici operazioni, e' necessario richiamare
il file contenente il foglio di stile nelle nostre pagine Html. E'
necessario inserire tra i tag <HEAD> e </HEAD>
la riga:
<LINK REL="stylesheet" TYPE="text/css"
HREF="layout.css">
La sintassi di questa riga di codice e' qui brevemente spiegata:
Link: indica che c'e' un collegamento
Rel: identifica con che tipo di file esiste il collegamento
Type: il tipo di formato
Href: il percorso del file
normal o roman, ovvero nessuno stile (default).
italic corsivo, equivalente a <I> o <EM> in Html.
oblique rende obliquo il testo.
Per esempio:
<STYLE>
FONT { font-style:italic }
</STYLE>
Font size
Imposta la grandezza del font, che, a differenza di Html, non soffre di
alcun limite di grandezza e di precisione.
Un'altra differenza con Html, risiede nel fatto che invece di possedere una
sola unita' di misura (da 1 a 7), i Css possono essere scelti tra varie
unita' di misura
I possibili valori sono:
absolute-size che possono essere: medium (default), small, x-small, xx-small large, x-large, xx-large.
relative-size che sono smaller e larger.
Unita' di misura quali pixel, centimetri ecc.
Percentuale
Non sono permessi valori negativi. Ecco comunque un esempio su come
utilizzare la proprieta' Font size.
<STYLE>
FONT { font-size:10pt }
</STYLE>
Font weight
Come i tag <B> e <STRONG>
in Html, questo attributo specifica lo spessore del font. I valori da
utilizzare sono:
normal che equivale al valore 400.
bold che equivale al valore 700.
bolder relativo al peso ereditato dall'elemento parent.
lighter relativo al peso ereditato dall'elemento parent.
100, 200, 300 fino a 900 sequenza ordinata dove ogni numero indica
un peso.
E come sempre ecco un esempio:
<STYLE>
FONT { font-weight:bold }
</STYLE>
Font variant
Assegna uno stile tutto maiscolo al testo accluso al tag a cui questo CSS fa
riferimento. I valori sono:
normal (default).
small-caps
Ecco un esempio:
<STYLE>
FONT { font-variant: small-caps }
</STYLE>
Font
In un'unica proprieta' un insieme di attributi. I valori sono gli stessi di:
font-style, font-variant,
font-weight e font-size.
Ecco un esempio:
<STYLE>
FONT { font: italic bold 10px/12px Times, Serif }
</STYLE>
Color
Imposta il colore al testo accluso al tag a cui si riferisce. E' lo stesso
dell'attributo color del tag <font> nel comune Html.
<STYLE>
FONT { color:gray }
</STYLE>
Text decoration
All'inizio della puntata, avevamo lasciato un discorso a meta', quello degli
effetti su links. L'attributo da usare e' text-decoration e puo' assumere
svariati valori:
none (default).
underline
overline
line-through
blink
Per esempio:
<STYLE>
FONT { text-decoration: overline }
</STYLE>
List style type
Indica il tipo di punteggiatura degli elementi contenuti in una lista. I
valori che puo' assumere sono:
circle
square
disc
decimal
upper-roman
lower-roman
upper-alpha
lower-alpha
none
disc (default)
<STYLE>
OL { list-style-type: decimal }
</STYLE>
List style position
Indica dove deve essere posizionato il marcatore rispetto alla rispettiva
voce della lista. I valori che puo' assumere sono:
inside la linea va a capo sotto il marcatore senza essere indentata.
outside la linea va a capo indentata rispetto al marcatore. (default)
<STYLE>
UL { list-style-position: inside }
</STYLE>
List style image
Il comune marcatore viene sostituito da un'immagine. I possibili valori
sono:
l'indirizzo dell'immagine.
none (default)
<STYLE>
UL { list-style-image: URL(http://server/img.gif }
</STYLE>
List style
Dichiara all'interno di una lista la punteggiatura, la posizione e
l'immagine che identifica ciascun elemento. I possibili valori sono gli
stessi di list style type e di list
style position
<STYLE>
UL { list-style: circle inside }
</STYLE>
White space
Determina la gestione degli spazi all'interno di una pagina. I valori che
puo' assumere sono:
normal (default) mantiene la comune formattazione del testo dell'Html. Quindi in caso di spazi essi verranno ridotti a uno, se non esplicitamente richiesti utilizzando il comando
pre preformatta il testo. Gli spazi, verranno quindi tutti considerati.
nowrap non permette un ritorno a capo, se non tramite il tag
<BR>
<STYLE>
p { white-space: pre }
</STYLE>
Display
Nel contesto di una box indica come deve essere visualizzato un elemento. I
valori che può assumere sono:
block (default) l'elemento è visibile - inserisce un ritorno a capo prima e dopo l'elemento.
inline non viene inserito alcun ritorno a capo, ne'prima ne' dopo l'elemento.
list-item simile al block, con l'unica differenza che viene aggiunto un marcatore ad ogni elemento.
none
nasconde l'elemento.
<STYLE>
p { display: inline }
</STYLE>
Utilizzando molto i fogli di stile, si potrebbe avere la
tentazione di utilizzare un font atipico, che con molta probabilita' non sara'
presente nel computer del client (l'utente che accede al sito). Normalmente, in
caso di font insesistente, il browser utilizza il Times New Roman, carattere di
default per tutti i pc. I Cascade Style Sheets invece permettono di installare,
durante il caricamento della pagina, un particolare font, utilizzando la
dicitura:
<STYLE>
@font-face { font-family:NomeFont; src:url(http://www.tuosito.it/nomefont.eot);
}
</STYLE>
Tutti gli attributi e gli esempi che vi abbiamo appena
mostrato, sono utilizzabili su tutto un documento (Css incorporati) o su un
intero sito Web (Css esterni). Alcuni attributi pero', e consigliabile
applicarli solo ad alcune porzioni di testo racchiuse in un certo tag (Css in
linea).
Per esempio, l'attributo text-transform, a seconda del valore che assume, puo'
rendere maiscucole tutte le lettere del testo, oppure solo le prime di ogni
parola o ancora tutte minuscole.
Naturalmente, un attributo di questo genere non e' utilizzabile in un intero
sito web, perche' ci potrebbe sempre essere la necessita' di utilizzare o meno
una lettera maiuscola. Potrebbe pero' risultare utile nel caso in cui si avesse
la necessita' di avere un blocco di testo maiuscolo, anche solo per evidenziarlo
dal resto della pagina.
Vediamo dunque di analizzare questi restanti attributi per il testo.
Text transformation
Come abbiamo detto prima, varia i caps di un blocco di testo. I valori che puo'
assumere sono:
lowercase tutte le lettere minuscole.
capitalize diventano maiuscole le iniziali di ogni parola.
uppercase tutte le lettere maiuscole.
none (default).
Per Esempio:
<P STYLE="font-family:tahoma; text-transform:capitalize">
Text identation
Il rientro, espresso in em o in pollici, che deve essere presente prima
della parola che inizia il testo. I possibili valori sono:
unita' di misura come pollici, centimetri ecc.
percentuale Per esempio:
<P STYLE="font-family:tahoma; text-ident:10em">
Text align
Praticamente, rappresenta il normale allineamento presente anche in Html
comune. I valori quindi variano tra:
center centro.
right destra.
left sinistra.
justify giustificato.
Per esempio:
<P STYLE="font-family:tahoma; text-align:right">
Letter spacing
Lo spazio che deve esserci tra una lettera e la seguente. Puo' assumere
anche valori negativi. I valori che puo' assumere sono:
normal (default)
unita' di misura come pixel, ex ecc.
Ecco un esempio:
<P STYLE="font-family:tahoma; letter-spacing:3em">
Word spacing
Lo spazio che deve esserci tra una parola e la seguente. Puo' assumere anche
valori negativi. I valori che puo' assumere sono:
normal (default)
unita' di misura come pixel, ex ecc.
Ecco un esempio:
<P STYLE="font-family:tahoma; word-spacing:3em">
Line height
E' lo spazio espresso in em o in percentuale tra un'interlinea e l'altra. I
valori sono:
un numero moltiplicato per la dimensione del font. In questo modo si otterra' l'interlinea.
normal (default). Un valore che cambia a seconda della dimensione del font.
Unita' di misura come em, centimetri ecc.
Percentuale e non sono ammessi valori negativi.
Per esempio:
<P STYLE="font-family:tahoma; line-height:1em">
Vertical align
Modifica l'allineamento verticale di un oggetto rispetto al suo precedente.
I valori sono:
baseline (default)
top
super
bottom
middle
text-top
sub
text-bottom
percentuale Calcolata in base al valore della proprieta'
line-height. Sono accettati valori negativi.
Per esempio:
img { vertical-align: bottom }
<8> Effetti interattivi sui links
Nel passaggio precedente abbiamo visto tutti dei bellissimi stili, ma nessuno di essi era interattivo, ovvero non modificava in alcun modo a seconda delle azioni eseguite dall'utente.LINK NON SOTTOLINEATO
Cominciamo eliminando la comune sottolineatura ai link ipertestuali. Sia
Explorer che Netscape 4, permettono di eliminare la sottolineatura ai
collegamenti. Ecco come fare.
<STYLE>
A:link, A:visited { text-decoration: none }
</STYLE>
LINK NON SOTTOLINEATO AL PASSAGGIO DEL MOUSE
E' uno degli effettipiu' aggrazziati tra quelli che vi presenteremo. Elimina
la sottolineatura solo quando ci si passa sopra con il mouse. Invertendo i
valori underline con none si otterra' l'effetto contrario.
<STYLE>
A:link, A:visited { text-decoration: underline }
A:hover { text-decoration: none }
</STYLE>
LINK SOPRALINEATO AL PASSAGGIO DEL MOUSE
Essendo un effetto poco usato, potrebbe diventare la peculiarita' del vs
sito web. Anche in questo caso, invertendo i valori overline e none, si
otterra' un effetto opposto.
Ecco come fare:
<STYLE>
A:link, A:visited { text-decoration: overline }
A:hover { text-decoration: none }
</STYLE>
LINK CON CAMBIO DI COLORE AL PASSAGGIO DEL MOUSE
Una volta che il mouse passa sopra il link, questo cambia di colore. Il
colore puo' essere espresso sia in valori esadecimali (per es. #000080) sia
in inglese (navy). Ecco il codice:
<STYLE>
A:link, A:hover { color:navy }
</STYLE>
CAMBIO DEL COLORE DI SFONDO AL PASSAGGIO DEL MOUSE
E QUANDO IL LINK DIVENTA ATTIVO
E' possibile impostare un colore di sfondo ai link, anche solo quando si
passa sopra con il mouse.
<STYLE>
A:link, A:visited { background:green }
A::hover { background:yellow }
A:active {background:red }
</STYLE>
<9> Definire lo sfondo e le proprietà in un documento
Il successo grafico di un sito web, si identifica nel layout
e nel background di tali pagine. Una prerogativa dei Css, e' infatti quella di
poter predefinire il layout e lo sfondi di uno o piu' documenti Html.
Vediamo ora come definire tali proprieta' in una pagina web.
Background-color
Definisce un omogeneo colore di sfondo al documento. Questo comando, si puo'
applicare anche a normale testo in modo da ottenere una evidenziatura di sfondo.
Il codice da utilizzare e':
body { background-color: gray }
Background-image
Applica un'immagine di sfondo al documento. Anche in questo caso, e' possibile
applicaere lo sfondo a un solo elemento.
body { background-image: url(http://nomeserver/nomeimg.gif) }
Background-repeat
Determina come l'immagine di sfondo deve essere riprodotta. I valori di questa
proprieta' possono essere:
repeat Ripete l'immagine sia verticalmente che orizzontalmente.
repeat-y Ripete l'immagine verticalmente.
repeat-x Ripete l'immagine orizzontalmente.
no-repeat L'immagine non viene ripetuta.
Il sorgente da utilizzare per ottenere questi effetti e':
body { background-repeat: no-repeat }
Background-position
Determina la posizione dell'immagine stabilendo le distanze del margine
sinistro e del margine superiore. I valori che puo' assumere sono:
left sinistra.
right destra.
top alto.
bottom basso.
center centro.
Il codice e':
body { background: url(http://nomeserver/nomeimg.gif)
left bottom }
Background-attachment
Se specificata, l'immagine di sfondo non scorre insieme al documento. I
valori sono:
scroll l'immagine scorre insieme al documento (di default).
fixed l'immagine non scorre insieme al documento.
body { background-attachment: fixed }
Background
Per unire piu' proprieta' a un solo tag, si utilizza la dicitura background,
per esempio:
body { background:gray url(http://tuosito.it/nomeimg.gif)
norepeat }
<10> Specificare una linea grafica uniforme al sito
Come si spiegava nel passo dedicato ai background, il layout di un sito puo' risultare un punto essenziale per la realizzazione di un sito veramente professionale. I Css, possono aiutare i webmasters in tutto cio':thin fine.
medium medio. (default)
thick grosso.
oppure altre unita' di misura come pixel, centimetri ecc.
Per esempio:
p { border-left-width: medium }
Border right width
Imposta lo spessore del bordo destro. Non sono ammessi valori negativi. I
valori che puo' assumere sono:
thin fine.
medium medio. (default)
thick grosso.
oppure altre unita' di misura come pixel, centimetri ecc.
Per esempio:
p { border-right-width: thin }
Border top width
Definisce lo spessore del bordo superiore. Non sono ammessi valori negativi.
I valori che puo' assumere sono:
thin fine.
medium medio. (default)
thick grosso.
oppure altre unita' di misura come pixel, centimetri ecc.
Per esempio:
p { border-left-width: thick }
Border bottom width
Stabilisce lo spessore del bordo inferiore. Non sono ammessi valori
negativi. I valori che puo' assumere sono:
thin fine.
medium medio. (default)
thick grosso.
oppure altre unita' di misura come pixel, centimetri ecc.
Per esempio:
p { border-bottom-width: medium }
Border width
Imposta lo spessore di tutti i bordi. Non sono ammessi valori negativi. Se
specificati 4 valori, si intendono rispettivamente: il margine superiore,
destro, inferiore, sinistro. Se ne vengono attribuiti solo 2 o 3, i valori
omessi erediteranno il valore del lato a essi opposto. Se altresi' ne
venisse indicato uno solo, tale valore varra' per tutti e quattro i lati. I
valori che puo' assumere sono:
thin fine.
medium medio.
thick grosso.
oppure altre unita' di misura come pixel, centimetri ecc.
Per esempio:
p { border-width: medium }
Border left color
Imposta il colore del bordo sinistro. Per esempio:
p { border-left-color: yellow }
Border right color
Imposta il colore del bordo destro. Per esempio:
p { border-right-color: black }
Border top color
Imposta il colore del bordo superiore. Per esempio:
p { border-left-color: green }
Border bottom color
Imposta il colore del bordo inferiore. Per esempio:
p { border-bottom-color: white }
Border left style
Imposta come il bordo sinistro che delimita la box deve essere visualizzato.
I valori che puo' assumere sono:
none nessun bordo. (default)
dashed linea sfumata.
double linea doppia.
dotted linea tratteggiata.
solid linea continua.
ridge linea sporgente.
groove linea scavata.
ouset effetto 3D sporgente che utilizza i colori indicati dall'attributo color
inset effetto 3D scavato che utilizza i colori indicati
dall'attributo color
Per esempio:
p { border-left-style: dashed }
Border right style
Specifica come il bordo destro che delimita la box deve essere visualizzato.
I valori che puo' assumere sono:
none nessun bordo. (default)
dashed linea sfumata.
double linea doppia.
dotted linea tratteggiata.
solid linea continua.
ridge linea sporgente.
groove linea scavata.
ouset effetto 3D sporgente che utilizza i colori indicati dall'attributo color
inset effetto 3D scavato che utilizza i colori indicati
dall'attributo color
Per esempio:
p { border-right-style: dashed }
Border top style
Imposta come il bordo superiore che delimita la box deve essere
visualizzato. I valori che puo' assumere sono:
none nessun bordo. (default)
dashed linea sfumata.
double linea doppia.
dotted linea tratteggiata.
solid linea continua.
ridge linea sporgente.
groove linea scavata.
ouset effetto 3D sporgente che utilizza i colori indicati dall'attributo color
inset effetto 3D scavato che utilizza i colori indicati
dall'attributo color
Per esempio:
p { border-top-style: dashed }
Border style
Definisce come tutti i bordi che delimitano la box devono essere
visualizzati.
Imposta lo spessore di tutti i bordi. Se specificati 4 valori, si intendono
rispettivamente alla distanza del lato superiore, destro, inferiore,
sinistro. Se ne vengono attribuiti solo 2 o 3, i valori omessi erediteranno
il valore del lato a essi opposto. Se altresi' ne venisse indicato uno solo,
tale valore varra' per tutti e quattro i lati I valori che puo' assumere
sono:
none nessun bordo. (default)
dashed linea sfumata.
double linea doppia.
dotted linea tratteggiata.
solid linea continua.
ridge linea sporgente.
groove linea scavata.
ouset effetto 3D sporgente che utilizza i colori indicati dall'attributo color
inset effetto 3D scavato che utilizza i colori indicati
dall'attributo color
Per esempio:
p { border-style: groove }
Unita' di misura quali pixel, punti, centimetri ecc.
Percentuale un qualsiasi valore percentuale.
Auto non si specifica l'altezza.
Per esempio:
image { height:20pt }
Width
Imposta la larghezza di un elemento. I possibili valori sono:
Unita' di misura quali pixel, punti, centimetri ecc.
Percentuale un qualsiasi valore percentuale.
Auto non si specifica l'altezza.
Per esempio:
image { width:10ex }
relative relativamente ad altri elementi.
static (default).
absolute la posizione dell'oggetto e' assoluta: in relazione a
nessun altro elemento.
Il codice, per esempio potrebbe essere:
#nomeID { position: absolute }
Left
Attribuisce il limite sinistro all'elemento. I valori che puo' assumere
sono:
unita' di misura quali pixel, punti, pollici ecc.
auto (default).
percentuale calcolata in relazione alle dimensioni dell'elemento
parent. Se tali dimensioni sono impostate su auto, il valore rimane
indefinito.
Per esempio:
#nomeID { left: 7em }
Top
Attribuisce il limite superiore all'elemento. I valori che puo' assumere
sono:
unita' di misura quali pixel, punti, pollici ecc.
auto (default).
percentuale calcolata in relazione alle dimensioni dell'elemento
parent. Se tali dimensioni sono impostate su auto, il valore rimane
indefinito.
Per esempio:
#nomeID { top: 20ex }
Clip
Individua un'area appartenente a un elemento la sola che deve essere
visualizzata. I valori che puo' assumere sono:
shape rect(top right bottom left)
auto (default).
Per esempio:
#nomeID { clip: rect(10pt 100pt 100pt 10pt) }
Overflow
Gestisce i casi in cui il contenuto di un elemento superi le dimensioni
dell'area all'interno della quale deve essere inserito. I valori che puo'
assumere sono:
visible visibile.
hidden nascosto.
auto (default).
scroll all'area viene aggiunta una barra di scorrimento.
Per esempio:
#nomeID { overflow: hidden }
Visibility
Attribuisce all'elemento la possibilita' di essere visto dall'utente.
Tramite JavaScript, il suo valore iniziale puo' essere cambiato. Le
possibilita' di scelta sono:
visible visibile.
hidden nascosto.
inherit inerente ad altri elementi.
auto (default).
Per esempio:
#nomeID { visibility: visible }
Z-index
Attribuisce un indice all'oggetto specificato in modo da permettere
l'accavallamento tra oggetti. Gli elementi con
un indice-z piu' basso
appariranno davanti. Le possibilita' di scelta sono:
indice un numero da 1 in poi.
auto (default).
Per esempio:
#nomeID { z-index: 1 }
Float
Permette il posizionamento del testo intorno a un elemento. I possibili
valori sono:
left sinistra.
right destra.
none (default).
Per esempio:
image { float: right }
Clear
Definisce la posizione di un oggetto rispetto a un altro. I possibili valori
sono:
left sinistra.
right destra.
both
none (default).
Per esempio:
font { clear: left }
Le classi, sono dei fondamentali strumenti di diversificazione degli
esistenti tag Html. Se si volesse ad esempio assegnare un tipo di cursore al tag
font, basterebbe utilizzare:
font {cursor: hand}
Si potrebbe pero' volere utilizzare un altri puntatore, sempre pero' all'interno
del tag font. Per far cio', e' necessario assegnare delle classi, ovvero dare un
valore all'attributo class di un qualsiasi tag (in questo caso font). Ad
esempio:
<font class="cursore-hand">
<font class="cursore-n-resize">
In questo modo abbiamo specificato due class per uno stesso tag (font). Queste
classi poi vanno specificati all'interno dei tag head, in un comune foglio di
stile, digitando:
<STYLE>
font.cursore-hand {cursor: hand}
font.cursore-n-resize {cursor: n-resize}
</STYLE>
Continuando il discorso delle classi, si giunge alle pseudoclassi. Per fare un
esempio di pseudoclasse, si puo' citare l'effetto dei link sottolineati o meno
al passaggio del mouse. In questo caso infatti, l'evento onMouseOver si
rispecchia nella pseudoclasse hover. Ad esempio:
<STYLE>
A:link { text-decoration: underline; color: blue }
visited { text-decoration: underline; color: navy }
over { text-decoration: none; color: red }
</STYLE>
I Cascade Style Sheets, in collaborazione con Microsoft
Internet Explorer, permettono di utilizzare dei puntatori differenti da quelli
di default: la freccetta, la mano per i links, la stanghetta per il testo ecc.
Impostarne uno diverso dal solito e' molto semplice. Per osservare il risultato
dei vari codici di esempio, passa con il mouse sopra il testo corrispondente
(solo con MsIe):
Cursor: auto
Utilizzando il valore auto, il browser utilizzera' il
cursore di default. In pratica, e' come se non specificassimo niente. Ecco il
sorgente:
font {cursor: auto}
Cursor: crosshair
Il valore crosshair permette di ottenere una
croce, come un mirino, sul testo specificato. Il codice e':
font {cursor: crosshair}
Cursor: default
Il valore default impone l'utilizzo della classica
freccietta inclinata verso l'alto a destra, anche per i collegamenti
ipertestuali e per il testo. Il codice:
font {cursor: default}
Cursor: hand
Impostando hand come valore di cursor, l'oggetto
specificato avra' la classica mano dei collegamenti ipertestuali. E' possibile
in alternativa usare cursor:pointer (peraltro più compatibile con i
browser attuali in circolazione) Il codice e':
font {cursor: hand}
Cursor: move
Il cursore move e' quello tipico che assume il
puntatore all'atto dello spostamento di una qualsiasi finestra. Il sorgente e':
font {cursor: move}
Cursor: e-resize
La dicitura e-resize permette l'utilizzo di una
freccietta perfettamente inclinata verso destra. Il codice e':
font {cursor: e-resize}
Cursor: ne-resize
Il valore ne-resize inclina la solita freccietta
verso l'angolo alto destro. Simile alla precedente, ma un po' inclinata verso
l'alto. Il sorgente da utilizzare e':
font {cursor: ne-resize}
Cursor: nw-resize
Digitando nw-resize come valore di cursor, si
otterra' una freccietta inclinata verso l'alto a sinistra. Lo stesso risultato
di ottiene impostando default.
font {cursor: nw-resize}
Cursor: n-resize
Grazie a n-resize la classica freccietta indica la
parte superiore del nostro monitor. Ecco come appare il foglio di stile:
font {cursor: n-resize}
Cursor: s-resize
Utilizzando s-resize la nostra freccietta indica
la parte inferiore del monitor. Il Cascade Style Sheets da usare e':
font {cursor: s-resize}
Cursor: se-resize
La voce se-resize inclina la classica freccietta
verso l'angolo basso destro del monitor. Il codice e':
font {cursor: se-resize}
Cursor: sw-resize
L'sw-resize permette di abbassare la freccietta
verso l'angolo sinistro basso del nostro monitor. Il sorgente e':
font {cursor: sw-resize}
Cursor: w-resize
w-resize sposta la freccietta verso la sinistra
del nostro schermo. Il foglio di stile si presenta come qui indicato:
font {cursor: w-resize}
Cursor: text
text fa in modo che in qualsiasi punto dello schermo
venga utilizzata la stanghetta che il browser usa quando ci si sposta sopra del
classico testo.
font {cursor: text}
Cursor: wait
Il wait cambia il cursore in una clessidra. Questo
effetto puo' essere utile nelle pagine dinamiche in cui si faccia attendere
l'utente. Il codice e':
font {cursor: wait}
Cursor: help
Il cursore, utilizzando help viene sostituito da una
freccietta con affianco un punto di domanda, tipico delle guide in linea di
Microsoft.
font {cursor: help}
auto (default)
avoid evita l'interruzione di pagina prima di un blocco.
always impone l'interruzione di pagina prima di un blocco.
right forza una o due interruzioni del documento prima del blocco, in modo tale che la pagina successiva sia dispari.
left impone una o due interruzioni del documento prima del blocco,
in modo tale che la pagina successiva sia pari.
Per esempio:
{page-break-after: avoid}
Page break before
Subito prima il punto in cui viene inserita questa proprieta', si ferma la
stampa del documento. I valori che puo' assumere sono:
auto (default)
avoid evita l'interruzione di pagina prima di un blocco.
always impone l'interruzione di pagina prima di un blocco.
right forza una o due interruzioni del documento prima del blocco, in modo tale che la pagina successiva sia dispari.
left impone una o due interruzioni del documento prima del blocco,
in modo tale che la pagina successiva sia pari.
Per esempio:
{page-break-before: always}
E' possibile definire degli stili personalizzati per il video e per la stampa: nell'esempio seguente viene impostata una classe IPAD per il tag IMG che non mostrerà l'immagine in stampa ma solo a video. In questo caso il cursore avrà la forma di una mano:
/* ================================== */
/* INIZIO Stile per la stampa */
/* ================================== */
@media print
{
IMG.IPAD { Visibility: hidden }
}
/* ================================== */
/* INIZIO Stile per il video */
/* ================================== */
@media screen
{
IMG.IPAD { Visibility: visible; cursor:pointer }
}