HTML – 1 HyperText Markup Language Introduzione ad HTML Documenti HTML Tag di markup Formattazione del testo Collegamenti ipertestuali Immagini Tabelle Form in linea (moduli) Tecnologie di Sviluppo per il WEB 2 Terminologia HTML – Acronimo di HyperText Markup Language – È una collezione di stili indipendenti dalla piattaforma che definiscono Ie varie componenti di un documento del World Wide Web – È un linguaggio utilizzato per pubblicare documenti ipermediali sul WWW Documento HTML – Documento di testo (ASCII) che può essere creato con qualsiasi text-editor (si potrebbe usare vi oppure notepad) Tecnologie di Sviluppo per il WEB 3 HyperText Markup Language È un linguaggio di marcatura del testo – Non è un linguaggio di programmazione – È costituito da un insieme di parole chiave (tag o marcatori) con cui identifica porzioni del documento – È nato con l’obiettivo di consentire la definizione di documenti ipertestuali distribuiti su una rete di computer HTML viene definito come applicazione di SGML (Standard Generalized Mark Up Language) (non vale per HTML 5) Tecnologie di Sviluppo per il WEB 4 Caratteristiche di HTML Con HTML è possibile: – Definire la struttura logica di un documento – Definire la formattazione tipografica del testo fornendo indicazioni utili per il rendering – Definire dei collegamenti ipertestuali tra i vari documenti – Definire l’interfaccia utente di un’applicazione WEB Tecnologie di Sviluppo per il WEB 5 Errore di sintassi in HTML L’errore di sintassi in HTML non è previsto nell’ambito dell’elaborazione di un documento Ciò che non è riconducibile ad un tag del linguaggio viene semplicemente ignorato e visualizzato in quanto tale Tecnologie di Sviluppo per il WEB 6 Che cosa è un tag In un documento testuale, un elemento è una parte fondamentale della sua struttura Esempi di elementi sono: – Tabelle, paragrafi, liste, immagini, … Un tag è un mezzo per contrassegnare (marcare) gli elementi di un file testuale che deve essere poi interpretato da un’altra entità (e.g, user agent – browser) Il tag associa all’elemento una determinata caratteristica (strutturale, tipografica, …) Tecnologie di Sviluppo per il WEB 7 Ancora sui tag I tag sono costituiti da un elemento di inizio marcatura ed un elemento di fine marcatura I tag HTML sono case insensitive... Gli elementi di inizio marcatura possono essere caratterizzati da attributi a cui è associato un particolare valore: Tecnologie di Sviluppo per il WEB 8 Forma di un TAG <tag attributo1=“valore1” … attributon=“valoren”> </TaG> Tecnologie di Sviluppo per il WEB 9 Entità o sequenze di escape Per garantire la trasportabilità del documento, HTML utilizza la codifica ASCII standard a 7 bit (caratteri da 1 a 127) Per rappresentare simboli speciali o caratteri nazionali, HTML utilizza alcune entità o sequenza di escape Tali entità vengono utilizzate quando l’uso del carattere reale può confondere il browser La sequenza di escape è case sensitive Tecnologie di Sviluppo per il WEB 10 Esempi di entità Un' entità ha la seguente forma &Entityname; – &nbsp; (“spazio”) – &lt; (<) &gt; (>) – &amp; (&) &quot; (“) – &agrave; (à) &Aacute; (Á) – &egrave; (è) &eacute; (è) – &reg; (®) – &Auml; (Ä) &uuml; (ü) Tecnologie di Sviluppo per il WEB 11 Origini di HTML HTML è derivato da SGML (Standard Generalized Mark Up Language) – SGML è uno standard ISO (International Standards Organization) per descrivere linguaggi di formattazione di testi • Non vale più per HTML 5 (v. dopo) Intento originale: – Fornire un’impaginazione generale di documenti che potessero essere riprodotti da un’ampia varietà di computer Tecnologie di Sviluppo per il WEB 12 Evoluzione di HTML HTML 4.0 (standardizzato nel 1997) – Ha introdotto molte caratteristiche rispetto alla precedente versione, ma ha anche deprecato molte delle caratteristiche delle versioni precedenti HTML 4.01 (standardizzato nel 1998) – Una “ripulitura” della versione 4.0 XHTML 1.0 è HTML 4.01 modificato in modo da soddisfare la sintassi XML – Gennaio 2008: HTML 5.0 (...fine nel 2012) Tecnologie di Sviluppo per il WEB 13 Linguaggio di markup (marcatura) Impaginazione WYSIWYG oppure basata su tag – e.g. MS Word vs HTML (LaTeX) Visuale oppure Strutturale – e.g. Specificare la grandezza del font oppure il livello di Heading Tecnologie di Sviluppo per il WEB 14 Le Pagine Web Consistono di istruzioni HTML Si trovano memorizzate su computer detti server web Sono visibili da computer detti client usando un browser – Mozilla Firefox – Internet Explorer – Opera – Chrome – Safari Tecnologie di Sviluppo per il WEB 15 Il browser – 1 Il browser legge un documento scritto in linguaggio HTML interpretandone i comandi e visualizzandolo Quando si clicca su un collegamento ipertestuale, il browser utilizza il protocollo HTTP per inviare ad un server Web una richiesta del nuovo documento Tecnologie di Sviluppo per il WEB 16 Il browser – 2 Il server Web risponde alla richiesta, utilizzando il protocollo HTTP ed invia il documento richiesto Il browser legge e interpreta l’informazione scritta in HTML e la presenta (quasi sempre) nel formato corretto Tecnologie di Sviluppo per il WEB 17 Riferimenti Specifica di HTML 4.01 http://www.w3.org/TR/html4/ Indice degli elementi di HTML http://www.w3.org/TR/html4/index/elements.html Indice degli attributi di HTML http://www.w3.org/TR/html4/index/attributes.html HTML 5 – HTML 4 http://www.w3.org/TR/2010/WD-html5-diff-20100624/ Tecnologie di Sviluppo per il WEB 18 I tag di HTML I tag HTML Indica come l’elemento a cui è associato deve essere rappresentato Consiste di una parentesi angolare aperta <, seguita da un nome, e da una parentesi angolare chiusa > Alcuni tag possono essere presenti in coppia ( <H1> e </H1> ). – Tag contenitori Tecnologie di Sviluppo per il WEB 20 Tag Esistono chiusura tag di apertura e tag di – <H1> è un tag di apertura – </H1> è un tag di chiusura chiudere un tag aggiungi / al tag iniziale Molti tag, ma non tutti, devono avere un tag di chiusura Per – Per i tag che lo ammettono, conviene sempre chiuderli. (per abituarsi ad XML) Tecnologie di Sviluppo per il WEB 21 Gli attributi Informazioni aggiuntive associate a tag Aiutano ad associare delle proprietà agli elementi nella formattazione di documenti NomeAttributo = “ valore ” <FONT </FONT> FACE="ARIAL"> esempio Molti degli attributi sono deprecati in HTML 4.01, si dovrebbe usare CSS per indicare le caratteristiche del tag Tecnologie di Sviluppo per il WEB 22 Struttura di un documento HTML Ogni documento HTML inizia con <HTML> e termina con </HTML> Viene diviso in due parti – Intestazione <HEAD> </HEAD> • Contiene il titolo del documento ed altre informazioni non visualizzate dal browser – Corpo <BODY> </BODY> • Contiene il documento vero e proprio Tecnologie di Sviluppo per il WEB 23 HEAD e BODY L’intestazione (HEAD) fornisce al browser informazioni importanti sul documento che si vuole visualizzare come: – titolo della pagina – le parole chiave per i motori di ricerca – i file esterni da includere (js e/o css) Il corpo (BODY) rappresenta quello che viene poi visualizzato nella pagina: – – – – Testo Immagini Link Tabelle … Tecnologie di Sviluppo per il WEB 24 Un documento HTML minimale <HTML> <HEAD> <TITLE> Un semplice documento HTML </TITLE> </HEAD> <BODY> Questo &egrave; un semplicissimo documento HTML </BODY> </HTML> Tecnologie di Sviluppo per il WEB 25 Risultato titolo Tecnologie di Sviluppo per il WEB 26 Il tag <HTML> Funzione: – Delimita un documento HTML completo Attributi: – DIR – LANG – VERSION (deprecato) Tecnologie di Sviluppo per il WEB 27 L'attributo DIR Specifica in quale direzione il browser mostra il testo all'interno dell'intero documento: – Valore di default ltr left-to-right – rtl usato per il cinese, l'ebraico, ... Da usare congiuntamente a LANG Tecnologie di Sviluppo per il WEB 28 L'attributo lang Specifica la lingua utilizzata in tutto il documento. Idealmente il browser lo usa per rendere migliore il testo per l'utente. – Setta l'attributo ad uno standard ISO-639 Tecnologie di Sviluppo per il WEB 29 Il tag <HEAD> Contiene informazioni sulla pagina È un tag contenitore Viene subito dopo HTML e prima di BODY Il tag più utilizzato all’interno di HEAD è <TITLE> – Per dare un titolo ad un documento (quello che compare come intestazione della finestra del browser) Tecnologie di Sviluppo per il WEB 30 Nota Ogni tag può essere scritto sia in minuscolo che in maiuscolo Solo le sequenze di escape sono case sensitive Nelle slide useremo sempre le maiuscole per chiarezza, ma... abituatevi a scriverli in minuscolo per abituarvi alla sintassi di XML Tecnologie di Sviluppo per il WEB 31 Il tag BASE Specifica la locazione iniziale per le URL relative (non completamente specificate con protocollo e nome dell’host) Sintassi <BASE HREF=“…”> HREF indica la stringa da prependere a tutte le URL contenute nel documento Esempio <BASE HREF=“http://www.dia.unisa.it/parente/TSW”> Tecnologie di Sviluppo per il WEB 32 Il tag SCRIPT È usato per immergere, all’interno del documento del codice in un linguaggio di scripting, in genere Javascript Sintassi <SCRIPT LANGUAGE=“…” </SCRIPT> TYPE=“…” >… LANGUAGE specifica il linguaggio TYPE è un MIME Type (e.g., text/javasript) Maggiori dettagli in seguito Tecnologie di Sviluppo per il WEB 33 Il tag STYLE È usato per includere, all’interno del documento, un foglio di stile (CSS...) Sintassi <STYLE TYPE=“…” > . . . </STYLE> TYPE è un MIME Type (e.g., text/css) Maggiori dettagli in seguito Tecnologie di Sviluppo per il WEB 34 Il tag LINK (sezione HEAD) Fornisce solo delle informazioni su come il documento corrente si relaziona agli altri documenti, specificando: – una locazione dell’indice – documento precedente, quello successivo – Utile per motori di ricerca e pre-caricare alcune pagine Permette di includere dei file esterni – Contenenti fogli di stile o codice Javascript Stessi attributi delle ancore (v. dopo), ma non hanno alcun effetto... Tecnologie di Sviluppo per il WEB 35 Sintassi del tag LINK <LINK REL=“…” HREF=“…” TYPE=“…”> URL del documento target. RELazione con il documento Esempio target <LINK HREF=“MioStile.css” REL=“STYLESHEET” TYPE=“text/css”> <LINK HREF=”cap14.html” REL=next > <LINK REL=“ICON" HREF="mozilla-16.png" TYPE="image/png"> Documento che fa parte di una sequenza di documenti Aggiunge un’icona all’inizio della barra di navigazione Tecnologie di Sviluppo per il WEB 36 Un altro modo per aggiungere icone Creare un file di nome favicon.ico ed inserirlo nella root directory del sito Il file deve essere un’icona di Windows con particolari caratteristiche – 16x16 oppure 32x32 pixel – Massimo 32 colori Esistono programmi (e.g. Michelangelo) per generare file con questo formato o per convertire un’immagine da un qualsiasi formato al formato icona (.ico) Tecnologie di Sviluppo per il WEB 37 Il tag META Il tag META è utilizzato per conservare informazioni sul documento, caricare o ricaricare una pagina web, includere file di suoni (li vediamo subito) Il tag META è utilizzato dai motori di ricerca per catalogare il documento (S.E.O.) Molte informazioni sono individuate dagli attributi NAME e CONTENT: – NAME identifica il nome della proprietà – CONTENT identifica il valore della proprietà Tecnologie di Sviluppo per il WEB 38 Uso del tag META Sintassi: <META NAME=“…” CONTENT=“…” > Valori comuni usati per NAME – author • Autore del documento – description • Breve descrizione del documento – keywords • Parole che descrivono il documento usate dai motori di ricerca – generator • Programma che ha generato il documento Tecnologie di Sviluppo per il WEB 39 Esempio <META name="author" content=“Ambrogio D'Ambrogio"> <META name="description" content=“Tecnologie di Sviluppo per il Web"> <META name="keywords" content=“HTTP, HTML, CSS, PHP"> <META name=“generator" content=“L’editor vi"> Tecnologie di Sviluppo per il WEB 40 Refresh di una pagina Il tag META è usato anche per caricare pagine in maniera automatica. Bisogna sfruttare l’attributo HTTP-EQUIV Per caricare la stessa pagina (refresh): <META HTTP-EQUIV="refresh" CONTENT=“x"> Entro x secondi il documento sarà ricaricato Per fare il forward verso una nuova pagina: <META HTTP-EQUIV="refresh" CONTENT=“x;URL=y"> Entro x secondi sarà caricata la pagina y y può essere un file di suoni Tecnologie di Sviluppo per il WEB 41 Ancora su HTTP-EQUIV Questo attributo può essere utilizzato in congiunzione con CHARSET per indicare al browser il tipo di testo con cui visualizzare il documento <META HTTP-EQUIV=“Content-type" CONTENT=“text/html; CHARSET=GB2312"> Tecnologie di Sviluppo per il WEB 42