DOM, CSS-P e DHTML Roberto Bruni e Daniela Giorgetti.

Slides:



Advertisements
Presentazioni simili
CSS (Cscading Style Sheet Fogli di stile a cascata)
Advertisements

CSS CASCADING STYLE SHEET Alberto Ferrari. Cascading Style Sheet I fogli di stile a cascata (detti anche semplicemente fogli di stile) vengono usati per.
HYPER TEXT MARK-UP LANGUAGE
CSS CASCADING STYLE SHEET Alberto Ferrari.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
Introduzione ai CSS. Cosa è successo allHTML Perché usare i CSS Introduzione ai CSS Fondamenti.
Il linguaggio HTML.
Storia dei fogli di stile
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.
HTML e CSS Concetti base Comunicazione Multimediale.
Laboratorio di Applicazioni Informatiche II mod. A
Cascading Style Sheet CSS2 – CSS/P
Multimedia e Plugin Roberto Bruni e Daniela Giorgetti.
Esempi sui CSS.
Fogli stile a cascata Danilo Deana.
Animazioni con le immagini
Unintroduzione a HTML (II). 4-2 Includere figure con i tag immagine Le immagini possono essere usate come link utilizzando i tag àncora Formato del tag.
Ovvero lo stile di Internet TC-WEB Torino, 5 settembre 2012.
Linguaggi per il Web Linguaggi di markup: CSS. Cascading Style Sheets (CSS) servono per facilitare la creazione di pagine HTML con un aspetto uniforme.
Dott. Chiara Braghin Corso IFTS Informatica, Modulo 3 – Progettazione pagine web statiche (50 ore) HTML e i fogli di stile Dott.
Sommario Allineamento ( ) Immagini ( ) Link ( ). Allineamenti Oltre a posso usare per allineare testo ed immagini un altro tag: align = center o left.
Informatica Generale: laboratorio di informatica
CSS : Cascading Style Sheet
IL BOX MODEL Ogni box è caratterizzato da 1.Larghezza dello spazio per i contenuti ( width ) 2.Altezza dello spazio per i contenuti ( height ) 3.Spazio.
FORMATTARE LE LISTE DI LINK  MENU
Tecniche di accessibilità web Lezione 2 - Tecniche di layout avanzate Box model.
Posizionamento Come posizionare gli elementi HTML nella pagina web e come JavaScript può muoverli cambiando la loro posizione nel tempo.
Cascading Style Sheet (Fogli di Stile in Cascata)
Paragrafi e allineamenti
HTML per iniziare Gianpaolo Cecere. 29 aprile Sintassi HTML I tag HTML sono direttive per i browser I tag sono contenitori per porzioni di documento.
HTML Lezione 3 Stili.
Posizionamento Come posizionare gli elementi HTML nella pagina web e come JavaScript può muoverli.
HTML Lezione 7 Il modello dei contenitori. Gestire lo spazio tra gli elementi Lo spazio tra gli elementi della pagina o allinterno del contenuto di un.
CSS CASCADING STYLE SHEETS : CASCADING STYLE SHEETS : Fogli di stile a cascata Definisce il modo in cui verranno visualizzati gli elementi di una pagina.
Il Linguaggio HTML “Profe, ma io a casa l’HTML non ce l’ho!“
Tecniche di accessibilità web Tabelle e form accessibili Le tabelle di dati WCAG 1.0, linea guida 5 Garantire che le tabelle abbiano.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
I fogli di stile CSS 1 Cristina Gena
DOM – Document Object Model
Relatore Prof. Marco Porta Correlatore Prof. Luca Lombardi
TAG e CSS Ricalcare la grgilia di impaginazione. UNA STRUTTURA PER I CONTENUTI Oltre a caratterizzare i contenuti (titoli, paragrafi, liste, collegamenti),
JavaScript Generalità Cos'è JavaScript?
HTML I tag HTML (parte 1). I tag HTML  I comandi che il browser interpreta  Etichette per marcare l’inizio e la fine di un elemento HTML  Formato e.
La struttura del documento
CORSO Di WEB DESIGN prof. Leonardo Moriello
Tag TABLE. Oltre ad avere la funzione di rappresentare dati di ogni genere allineati in righe e colonne, le tabelle in HTML si utilizzano per costruire.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
HTML e CSS C. Gena, C. Picardi, J. Sproston HTML e CSS.
Tag IMG Per inserire un'immagine in una pagina HTML basta inserire il tag: ; questo tag non ha bisogno di chiusura. Affinché l'immagine venga visualizzata.
HTML – Le Tabelle Laboratorio di Applicazioni Informatiche II mod. A.
PROGETTO… Internet Providers, registrazione del dominio Costruire una home page … e renderla visibile sul Web.
CSS Cascading Style Sheet
Oggetto Navigator e Cross-Browser Scripting Roberto Bruni e Daniela Giorgetti.
Oggetti Definiti dall’Utente Roberto Bruni e Daniela Giorgetti.
Master in Telemedicina HTML per iniziare Maria Simi, dicembre 2004 [da un tutorial di Rigget]
Document… iamoci Roberto Bruni e Daniela Giorgetti.
Tecnologia per la comunicazione
Il Fogli di Stile - CSS.
Javascript. HTML per definire il contenuto delle pagine web CSS per specificare il layout delle pagine web JavaScript per definire il comportamento delle.
Riprendendo Il tag il tag Div rappresenta un contenitore. Tutto quello che è incluso fra il tag iniziale e quello di chiusura reagisce secondo gli stili.
INFORMAZIONE E PRESENTAZIONE Lo scopo di una pagina web è, essenzialmente la trasmissione di una informazione. L’informazione è costituita da due aspetti.
Linguaggi per il Web Linguaggi di markup: CSS. Fogli di stile Cascading Style Sheets Fogli di stile sovrapposti DEFINIZIONE Il CSS è l’insieme delle regole.
Float - ripresa. Float left: dispone a pila tutti i div sulla sinistra.
HTML HTML Sistema di contrassegno riconosciuto dai Browser come (Firefox, Chrome, Internet Explorer) Hyper Text Markup Language.
CSS. I FOGLI DI STILE HTML serve informare il browser di quali sono le componenti necessarie a mostrare un documento e ad articolare il documento in blocchi.
LEZIONE 04 Riepilogo CSS. SELETTORI I selettori sono pattern (criteri di selezione) usati per individuare l'elemento (o gli elementi) a cui si desidera.
HTML. Pagina HTML Struttura Titolo Hello World! Paragrafo apre il documento html contiene informazioni come il titolo della pagina, i meta tags, la codifica.
Transcript della presentazione:

DOM, CSS-P e DHTML Roberto Bruni e Daniela Giorgetti

DOM (Document Object Model)

Bruni e Giorgetti3 DOM DOM = Gerarchia ad albero degli elementi che compongono il documento (visti come oggetti, con proprietà e metodi) –es. immagini, link, form In passato molte differenze tra IE e NN Adesso è standardizzato (da W3C) –tutti i tag definiscono elementi del documento –possiamo leggerne/modificarne il contenuto –supportato da NN6+ e IE5+

Bruni e Giorgetti4 Esempio Esempio Intestazione Paragrafo

Bruni e Giorgetti5 La struttura DOM Nodi: elementi del documento (es. tag contenitori, i loro contenuti) –Attributo id usato per identificarli Genitori, figli e fratelli: come da annidamento dei tag del documento –fratelli vengono detti siblings –il testo racchiuso tra tag contenitori visto come oggetto String figlio

Bruni e Giorgetti6 Proprietà elementari dei nodi nodo.nodeName : il nome del nodo (non l’ id ) –il nome del tag (es. P oppure BODY ) –#document per l’intero documento –#text per il contenuto testuale di tag contenitori nodo.nodeType : intero che descrive il tipo 1 per tag HTML ordinari 3 per nodi text 9 per il nodo document nodo.nodeValue : testo racchiuso nel nodo

Bruni e Giorgetti7 Navigazione sull’albero nodo.firstChild : il primo figlio di nodo nodo.lastChild : l’ultimo figlio di nodo nodo.childNodes : array dei figli di nodo nodo.previousSibling : il fratello immediatamente precedente nodo nodo.nextSibling : il fratello immediatamente successivo a nodo

Bruni e Giorgetti8 Il nodo document Nodo speciale –possiede metodi molto utili document.getElementById(nomeid) : restituisce l’elemento il cui attributo id corrisponde al nome passato document.getElementsByTagName(nometag) : restituisce un array con tutti gli elementi aventi il tag specificato dal parametro passato (passando “*” si collezionano tutti i tag) document.createTextNode(testo) : crea un nuovo nodo di tipo text il cui contenuto è testo –potrà essere aggiunto al documento

Bruni e Giorgetti9 OrologioOrologio con DOM I È il momento giusto per un break? Data: Ora:

Bruni e Giorgetti10 OrologioOrologio con DOM II <!-- function orologio() { … // calcoliamo dataStr e oraStr come prima var paragrafoData = document.getElementById(“data”); var paragrafoOra = document.getElementById(“ora”); var nodoData = paragrafoData.firstChild; var nodoOra = paragrafoOra.firstChild; nodoData.nodeValue = “Data: ”+dataStr; nodoOra.nodeValue = “Ora: ”+oraStr; setTimeout(“orologio()”,1000); } //-->

Bruni e Giorgetti11 Metodi dei nodi nodo.appendChild(nuovonodo) : aggiunge il nodo passato come ultimo figlio dell’elemento corrente nodo.insertBefore(nuovo,vecchio) : aggiunge il nuovo nodo tra i figli dell’elemento corrente, prima del vecchio nodo nodo.replaceChild(nuovo,vecchio) : aggiunge il nuovo nodo tra i figli dell’elemento corrente, al posto del vecchio nodo (che viene eliminato) nodo.removeChild(vecchio) : rimuove il vecchio nodo dai filgi dell’elemento corrente nodo.hasChildNodes() : restituisce un booleano ( true se ha uno o più figli, false altrimenti)

Bruni e Giorgetti12 Aggiungere testo alla pagina I Crea il tuo documento Con DOM puoi aggiungere paragrafi dinamicamente a questa pagina. Digita una frase e premi il pulsante! <input type=“button” value=“Aggiungi” onclick=“addFrase();” />

Bruni e Giorgetti13 Aggiungere testo alla pagina II <!-- function addFrase() { var valore = document.modulo.frase.value; // come solito var nodo = document.createTextNode(“ ”+valore); // crea nuovo nodo di testo document.getElementById(“testo”).appendChild(nodo); // aggiunge il nuovo nodo in fondo al paragrafo } //-->

CSS-P (Cascading Style Sheets with Positioning)

Bruni e Giorgetti15 Da CSS level 1 a CSS-P Dicembre 1996: prima versione dei cascading style sheets (CSS1) controllo maggiore sullo stile e formattazione degli elementi della pagina… … ma non era possibile posizionarli Agosto 1997: cascading style sheets with positioning (CSS-P) posizionamento “al pixel” per ogni elemento!

Bruni e Giorgetti16 Level 2 e level 3 CSS2 = CSS1 + CSS-P –inoltre aggiunse stili speciali per elementi multimediali e per il cursore CSS3 –sotto studio proposte per supportare grafica vettoriale e interfacce utente

Bruni e Giorgetti17 Applicazione dello stile File.css importato con tag nella head del documento –ridefinizioni di stili: h1 { … } –definizioni di classi di stile : h1.special { … }.h8 { … } usati da attributo class –definizioni di identificatori di stile #maiuscoletto { … } usati da attributo id attributo style style=“ … ”

Bruni e Giorgetti18 Esempio I Applica stili h1 { background: green; font-weight: bold; width: 80; height: 80; text-indent: 10; } h1.special { background: blue; font-style:italic; }.h8 { background: red; font-weight: bold; width: 80; height: 80; text-indent: 10; font-size: 24pt; } #h9 { background: yellow; font-weight: bold; width: 80; height: 80; text-indent: 10; font-size: 24pt; }

Bruni e Giorgetti19 EsempioEsempio II Pino Gino Rino Lino

Bruni e Giorgetti20 Posizionamento Possiamo usare le seguenti proprietà: –position –left, right, top e bottom –z-index –visibility

Bruni e Giorgetti21 Position Indica come calcolare la posizione di un elemento nella pagina –absolute (coordinate assolute) –fixed (come absolute, ma resistente allo scroll) –relative (coordinate relative all’elemento precedente) –static (valore di default)

Bruni e Giorgetti22 Coordinate left –distanza dal margine sinistro della finestra right –distanza dal margine destro della finestra top –distanza dal bordo superiore bottom –distanza dal bordo inferiore

Bruni e Giorgetti23 z-index Serve quando i “layer” (strati) si sovrappongono –se non specifichiamo nulla, l’ultimo elemento aggiunto copre gli altri (Esempio)Esempio –un layer con valore più alto di z-index copre tutti i layer con valore più basso (default = 0) a parità di layer l’ultimo copre i precedenti (Esempio)Esempio

Bruni e Giorgetti24 Visibility Permette di nascondere i layer indesiderati ha quattro valori possibili –hidden nasconde l’elemento –collapse come hidden eccetto che per le tabelle –inherit default (stesso valore del genitore) –visible rende visibile l’elemento

DHTML (Dynamic HTML)

Bruni e Giorgetti26 CSS-P + JS = DHTML Usando –layers –javascript –fogli di stile possiamo –creare (con HTML) –disporre (con CSS) –animare (con JS)

Bruni e Giorgetti27 La dicotomia Lo standard prevede di usare e Netscape preferisce i deprecati e possiamo seguire lo standard anche con Netscape, ma la sintassi di accesso alle proprietà è diversa da quella di Explorer I browser più recenti usano la sintassi DOM

Bruni e Giorgetti28 Netscape 5+ Explorer 5+ NN5+ e IE5+ supportano il DOM … document.getElementById(‘pippo’).style.visibility

Bruni e Giorgetti29 Netscape 4- DOM non supportato Si usa l’array layers di document –settando l’attributo name nel tag possiamo accedere direttamente al suo layer … document.layers[‘pippo’].visibility

Bruni e Giorgetti30 Explorer 4- DOM non supportato Si usa l’array all di document –settando l’attributo id (non name !) nel tag possiamo accedere direttamente al suo layer –bisogna anche aggiungere la keyword style … document.all[‘L1’].style.visibility

Bruni e Giorgetti31 id = name visto che –N.N. sfrutta name –I.E. sfrutta id è essenziale usare lo stesso nome nei due campi per rendere uniforme il trattamento dei due casi!!! …

Bruni e Giorgetti32 Cross-Browser DHTML document.getElementById(‘L1’).style.visibility document. layers[‘L1’].visibility document. all[‘L1’].style.visibility “document.” + partI + “‘L1’” + partII + “.visibility”

Bruni e Giorgetti33 checkBrowser() var partI = “getElementById(”; var partII = “).style”; // ok per DOM function checkBrowser() { if (parseInt(navigator.appVersion) >= 5 || navigator.appVersion.indexOf(“MSIE 5”) != -1 || navigator.appVersion.indexOf(“MSIE 6”) != -1) { browser = “DOM”; } else { if (navigator.userAgent.indexOf(“Mozilla/4”) != -1 && navigator.appName.indexOf(“Nav”) != -1) { partI = “layers[”; partII=“]”; browser = “NS4”; } else { if (navigator.userAgent.indexOf(“Mozilla/4”) != -1 && navigator.appVersion.indexOf(“MSIE 4”) != -1) { partI = “all[”; partII=“].style”; browser = “IE4”; } } } }

Bruni e Giorgetti34 L’accesso ai layer attivare la funzione checkBrowser() al caricamento della pagina creare delle funzioni specifiche come quella sotto: function assegna(nomelayer,attributo,valore) { // costruiamo il comando cmd = “document.” + partI + “‘”+nomelayer+“’” + partII + “.”+attributo + “ = ‘”+valore+“’”; eval(cmd) // lo eseguiamo col meta-interprete }

Bruni e Giorgetti35 Esempio Esempio d’uso … <input type=“button” value=“Nascondi L1” onclick=“assegna(‘L1’,‘visibility’,‘hidden’)” /> <input type=“button” value=“Mostra L1” onclick=“assegna(‘L1’,‘visibility’,‘visible’)” />

Bruni e Giorgetti36 Menu a tendina con DHTML è sufficiente –creare gli elementi giusti –nasconderli e mostrarli quando richiesto (sono sempre lì ma non si vedono) Esempio

Bruni e Giorgetti37 E chi non supporta DHTML? <div style="position: absolute; width: 250; left: -250; top: 10;"> Il vostro browser non può visualizzare questa pagina nella maniera corretta. Aggiornate il browser o visitate la versione HTML plain della pagina.

Bruni e Giorgetti38 Esercizi