CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come...

25
CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli .dot di Word o file di stile .sty per latex Separazione del formato dal contenuto Con Javascript e DOM forma DHTML

Transcript of CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come...

Page 1: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

CSS: Cascading Style Sheets

Specifiche del formato del documento tramite un linguaggio

Come modelli .dot di Word o file di stile .sty per latex

Separazione del formato dal contenutoCon Javascript e DOM forma DHTML

Page 2: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Formato specificato da autore, lettore o user agent

Serve anche a definire il formato di nuovi elementi in XML perche' lo user agent (es., un browser) li possa visualizzare

Differenza con html: necessita' tag iniziale e finale per delimitare box dove agisce lo stile

Page 3: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

In HTML si puo' specificare il formato delle singole istanze di elementi del documento ma non di un tipo di elemento(es., H1, EM, etc.)<H1><FONT face="helvetica" color="blue" size="+4">CAPITOLO 1</FONT></H1>

CSS permette di dare specifiche di formato per tutte le occorrenze di un elemento come H1:<STYLE>H1 {color: blue; background: red}</STYLE>

Page 4: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

REGOLE CSS:

elemento html selettore

<STYLE>H1 {color: blue; background: red}</STYLE> attributo valore

Page 5: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

ASSEGNAZIONE REGOLE CSS embedding:

<HEAD> <STYLE>H1 {color: blue; background: red} </STYLE></HEAD>

inlining: assegnazione stile ad una occorrenza come attributo HTML (es. DIV, A, P, SPAN)<DIV STYLE="color: blue; background: red"> Testo blu su sfondo rosso</DIV>

Attenzione: non c'e' separazione formato e contenuto

Page 6: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Linking di un file di stile:<HTML><HEAD> <LINK rel="stylesheet" type="text/css" media="print, handheld" href="stile.css"><HEAD> ...

Stesso documento apparira' in formati diversi a seconda del foglio di stile collegato

Utenti con esigenze diverse e mezzi diversi di visualizzazione (@media)

Formato aziendale per un sito IE utilizza anche @import dentro <style> tag

Page 7: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

CASCADING:regole possono essere in conflitto: e' necessario un ordinamento

Prima regole definite da autore poi da lettore e user agent a parita' di sorgente, vale ordinamento nel documento Sovrascrivo regola con !important (IE):

h1 {color: red ! important}

Page 8: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

EREDITARIETA':se un elemento non specifica una certa proprieta' del formato, questa viene ereditata dagli elementi sovrastanti

<div style="color:blue; font-style:italics">Testo <span style="back: red">rosso</span></div>

(Attenzione a background)Testo rosso

Page 9: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

EREDITARIETA': valori relativi a contesto

<div style="font-size: 20pt; font-weight: bold; color: red">Testo <span style="font-size: 80%; font-weight: lighter">piu' piccolo</span></div>

Testo piu' piccolo

Page 10: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Ordinamento elementi: documento forma un albero in base all'inclusione degli elementi:<body><h1>Capitolo <em> Uno</em> </h1><div>Testo del capitolo</div></body>

body h1 div em

Page 11: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Descrittori elemento HTML:

H1 {color: blue}

classe: si specifica le proprieta' di una classe a cui possono appartenere le occorrenze dei diversi elementi:

.italico {font-style: italic}<div class="italico">Testo italico</div>

Page 12: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Combinazione di descrittori:elementi annidati:

LI LI {font-size: smaller}H1 DIV {font-size: smaller}(Attenzione! L1, H1 {color: blue} e' un grouping)

classi limitate ad elementi:h1.italico {font-style: italic}<h1 class="italico">Capitolo italico</h1><h1>Capitolo normale</h1>

Page 13: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Identificatore unico: #nome

#qui {color: red}<div id="qui">Testo identificato</div>

Permette di riferirsi ad una istanza tramite Javascript: crea un oggetto nel DOM

Attenzione: se non e' unico si genera errore: "oggetto non esistente"

Page 14: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Pseudoclassi:

p:first-letter {fontsize: 150%}

a:link {color: red}

a:visited {color: blue}

Page 15: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Posizionamento elementi HTML HTML visualizza elementi uno di seguito all'altro in base

a occorrenza nel documento

DHTML permette di posizionare un elemento dove si vuole nel documento

Posizionamento assoluto e relativo Primi e secondi piani Possibilita' di cambiare posizione agli oggetti

Page 16: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Proprieta' di posizionamento: top: y left: xwidth: ampiezzaheight: altezza z-index: profondita'posizion: tipo di riferimento x y clip: area visualizzatavisibility: visualizzazione o meno float: posizionamento immagine slegata da testo

Page 17: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Esempi di posizionamento

<div style="position: absolute; top: 100px; left=10%;z-index: 0">sono qui<div>

<style>.logo {position: absolute; top: 100px; left=10%}</style><div class="logo"><img src="file.gif"></div>

Page 18: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Assoluto e relativo hanno significato rispetto ad un contesto:

<div>inizio contesto<span style="top: 50px; left:50px; position: ...">span assoluto</span>fine contesto</div>

inizio contesto fine contesto span assoluto

inizio contesto fine contesto span relativo

Page 19: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

Javascript e Cascading Style Sheets

Controllo proprieta' di stile per mezzo di javscript

Creazione di effetti di movimento, apparizione, visualizzazione parziale, scrittura testo

Leggere differenze fra Netscape 4.0x e Internet Explorer 4

Page 20: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

ESTENSIONE MODELLO OGGETTIJavascript si riferisce alle occorrenze di

elementi tramite gli identificatori unici:<div id="io">testo</div>

In Netscape:document.layers["qui"].color='blue';

in Explorer:document.all.qui.style.color='blue';

Page 21: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

ESEMPIO: oggetto che scompare

<div id="timido"><a onMouseOver= "javascript:document.layers['timido'].visibility='hidden';">Non avvicinarti</a><div>

<script language="javascript">function movedown(layername){ document.layers[layername].top+=10;}</script>

N.B.: codice per Netscape 4

Page 22: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

CODICE COMPATIBILE CON N e IE: var layerRef="", styleSwitch=""; function init(){ if (navigator.appName == "Netscape") { var layerRef="document.layers"; var styleSwitch=""; }else{ var layerRef="document.all"; var styleSwitch=".style";}}

eval(layerRef + '["' + layername + '"]' + styleSwitch + '.' + property + "=" + value);

document.layers document.all

.style

argomenti funzione

Page 23: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

ESEMPIO:

<script language="javascript">function setproperty(layername, property, value){ eval(layerRef + '["' + layername + '"]' + styleSwitch + '.' + property + "=" + value);}

function movedown(layername){ eval(layerRef + '["' + layername + '"]' + styleSwitch + '.top+=10');}</script>

Page 24: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

I

Page 25: CSS: Cascading Style Sheets Specifiche del formato del documento tramite un linguaggio Come modelli.dot di Word o file di stile.sty per latex Separazione.

I