Alla fine degli anni 80 l’in­for­ma­ti­co bri­tan­ni­co Tim Berners-Lee sviluppò i com­po­nen­ti di base del World Wide Web. In quanto allora impiegato presso l’Or­ga­niz­za­zio­ne Europea per la Ricerca Nucleare (CERN) egli si stava dedicando prin­ci­pal­men­te ad un progetto interno che aveva lo scopo di rendere possibile lo scambio trans­na­zio­na­le di in­for­ma­zio­ni in rete tra i vari la­bo­ra­to­ri del CERN, che si trovavano in parte su ter­ri­to­rio francese e in parte su ter­ri­to­rio svizzero. Come base per l’in­fra­strut­tu­ra di rete pia­ni­fi­ca­ta, Berners-Lee, utilizzò l’ipertesto, ovvero un formato testuale che trasmette in­for­ma­zio­ni tramite rimandi (link iper­te­stua­li) e che viene scritto con il lin­guag­gio di markup. Il risultato fu il Hypertext Markup Language, o HTML in breve.

Circa tre decenni dopo, assieme ad altri com­po­nen­ti come il pro­to­col­lo di tra­sfe­ri­men­to HTTP, l’URL, i browser e i server web, l’HTML rap­pre­sen­ta le fon­da­men­ta del net­wor­king mondiale e digitale; il che rende l’ap­pren­di­men­to di questo lin­guag­gio web un must per ogni svi­lup­pa­to­re. Per fa­ci­li­tar­vi la com­pren­sio­ne del principio del lin­guag­gio di markup e dunque iniziare ad uti­liz­zar­lo, abbiamo riassunto in questo tutorial HTML i fon­da­men­ta­li e i consigli più im­por­tan­ti per chi vuole co­min­cia­re.

Che cose l’HTML?

L’HTML si annovera tra i linguaggi leggibili dalle macchine, definiti anche linguaggi com­pu­ti­sti­ci, che per­met­to­no l’in­te­ra­zio­ne tra i computer e gli uomini. Questo lin­guag­gio rende possibile la de­fi­ni­zio­ne e la strut­tu­ra­zio­ne di elementi tipici di un documento fo­ca­liz­za­to sul testo, come in­te­sta­zio­ni, capoversi, liste, tabelle o grafici, i quali vengono con­trad­di­stin­ti al suo interno. La rap­pre­sen­ta­zio­ne visiva avviene tramite un browser a scelta, il quale in­ter­pre­ta le righe di codice sorgente, in modo da sapere in che modo devono essere ri­pro­dot­ti i singoli elementi. In aggiunta il codice HTML può contenere in­di­ca­zio­ni sotto forma di meta in­for­ma­zio­ni, come ad esempio riguardo all’autore.

Come lin­guag­gio di markup l’HTML viene usato og­gi­gior­no perlopiù solamente nella sua funzione de­scrit­ti­va, mentre il design viene definito con l’utilizzo di linguaggi di fogli di stile, come il CSS (Cascading Style Sheets). Agli albori del web era comunque cosa comune che gli adat­ta­men­ti visivi av­ve­nis­se­ro tramite HTML.

L’HTML si è svi­lup­pa­to dal me­ta­lin­guag­gio SGML (Standard Ge­ne­ra­li­zed Markup Language), oggi sempre meno uti­liz­za­to, che è uno standard ISO ri­co­no­sciu­to (8879:1986). La dicitura degli elementi SGML si trova anche nell’HTML. So­li­ta­men­te tali diciture vengono marcate tramite coppie di tag, che con­si­sto­no di start tag <> e di end tag </>, anche se per alcuni elementi l’end tag non è ne­ces­sa­rio; inoltre esistono alcuni elementi vuoti come l’in­ter­ru­zio­ne di riga <br>. Oltre ai tag ci sono altre ca­rat­te­ri­sti­che dell’HTML che agiscono sulla stessa falsariga:

  • Document Type De­cla­ra­tion: in­for­ma­zio­ni della versione HTML uti­liz­za­ta, come ad esempio <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Tran­si­tio­nal//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • Utilizzo di com­po­nen­ti sotto forma di caratteri: alcune com­po­nen­ti vengono uti­liz­za­te per delle unità che si ripetono, come ad esempio &lt; per “<” o &amp; per “&”.
  • Marcatura dei commenti: i commenti vengono aggiunti nell’HTML secondo questo modello <!—commento>.
  • Attributi: le ca­rat­te­ri­sti­che com­ple­men­ta­ri dei tag vengono aggiunte secondo modello <attributo tag=”valore”>.

Quale software è ne­ces­sa­rio per scrivere in codice HTML?

La prima domanda che è lecito porsi in questa breve pa­no­ra­mi­ca sull’HTML è: con quale software conviene scrivere? Ma a questa domanda è pra­ti­ca­men­te im­pos­si­bi­le dare una risposta on­ni­com­pren­si­va. Da un lato i requisiti di programma sono pra­ti­ca­men­te ine­si­sten­ti, perciò un semplice text editor, presente in ogni sistema operativo, basta e avanza. D’altro canto l’utilizzo di programmi specifici per HTML offre chiare sem­pli­fi­ca­zio­ni durante la scrittura. Ma quanto sono adatte le diverse opzioni durante la fase di ap­pren­di­men­to dell’HTML?

Semplici text editor

Per scrivere un codice HTML non ne­ces­si­ta­te di alcun software par­ti­co­lar­men­te esigente. Un semplice editor come l’editor di Windows, co­no­sciu­to anche come Notepad, o il TextEdit dei computer Mac (nella modalità di testo in chiaro), basta come base su cui lavorare. E no­no­stan­te con tali programmi manchi la pos­si­bi­li­tà di mo­di­fi­ca­re il layout del testo, si tratta comunque di una mansione che non fa di­ret­ta­men­te parte delle for­mat­ta­zio­ni HTML. Da un punto di vista teorico anche i programmi per l’ela­bo­ra­zio­ne testuale come Microsoft Word o Ope­nOf­fi­ce Writer possono essere ugual­men­te uti­liz­za­ti, ma, se siete nella fase di studio dell’HTML, sarà difficile ap­pro­fit­ta­re delle funzioni ag­giun­ti­ve che essi mettono a di­spo­si­zio­ne. In alcuni casi le funzioni superflue possono anzi avere l’effetto contrario e frenare il processo di ap­pren­di­men­to.

Per muovere i primi passi durante l’ap­pren­di­men­to dei fon­da­men­ta­li dell’HTML vi basterà uti­liz­za­re un semplice text editor, che troverete già in­stal­la­to in qualunque sistema operativo stiate uti­liz­zan­do.

HTML Editor

Al fianco dei semplici editor e di programmi di ela­bo­ra­zio­ne testuale più com­pli­ca­ti, esistono anche degli editor specifici dotati di appositi aiuti: questi programmi, ad esempio, mettono in risalto le di­stin­zio­ni sin­tat­ti­che con l’aiuto di diversi colori, for­nen­do­vi così un’ec­ce­zio­na­le pa­no­ra­mi­ca su tutto il codice che avete messo per iscritto. Inoltre vi evi­den­zia­no eventuali errori sin­tat­ti­ci che avete commesso. Un altro standard di questi programmi è la funzione di com­ple­ta­men­to au­to­ma­ti­co, la quale sot­to­por­rà alla vostra at­ten­zio­ne delle proposte di esten­sio­ne ovvero di com­ple­ta­men­to del codice durante la scrittura dei tag HTML e ad esempio com­ple­te­rà au­to­ma­ti­ca­men­te il vostro end tag. In aggiunta, spesso gli editor HTML di­spon­go­no di una funzione di anteprima, con la quale, ogni­qual­vol­ta lo de­si­de­ria­te, premendo sem­pli­ce­men­te un pulsante, potrete esaminare il risultato prov­vi­so­rio delle vostre righe di codice. Un editor per gli utenti Windows che valga la pena di provare è Notepad++, gratuito e con licenza GPL; mentre un’al­ter­na­ti­va gratuita per chi utilizza sistemi com­pa­ti­bi­li con UNIX è Vim.

Editor HTML con rap­pre­sen­ta­zio­ne in tempo reale

Un’altra tipologia di editor che disponga di tutte le amenità e che sia integrato in pra­ti­ca­men­te tutti i siti web pronti all’uso e nei sistemi di content ma­na­ge­ment, sono gli editor HTML con rap­pre­sen­ta­zio­ne in tempo reale, meglio co­no­sciu­ti come editor WYSIWYG. L’acronimo rimanda al concetto che sta alla base di questi programmi, ovvero “What You See Is What You Get”, tra­du­ci­bi­le in italiano come “ciò che vedi, è ciò che avrai”. Questi editor sono stati svi­lup­pa­ti spe­ci­fi­ca­men­te per la pro­du­zio­ne di codici HTML e ri­chie­do­no tra l’altro solo poche co­no­scen­ze sul lin­guag­gio di markup. Come in un programma di ela­bo­ra­zio­ne di testi, anche con un editor strut­tu­re­re­te il vostro testo con il supporto di tasti pre­im­po­sta­ti nel menu, senza dover quindi immettere ma­nual­men­te neanche un singolo tag HTML. I tag cor­ri­spon­den­ti alle vostre esigenze vengono difatti generati di­ret­ta­men­te dall’editor WYSIWYG in secondo piano. Ma per l’ap­pren­di­men­to del lin­guag­gio di codifica HTML alcuni editor sono davvero del tutto inadatti, come ad esempio è il caso di Blue­Grif­fon, in­di­pen­den­te­men­te dal fatto che vi rendano possibile di guardare in tempo reale il codice prodotto o meno.

Impostare la prima pagina HTML

Il primo passo del tutorial HTML è quello di rea­liz­za­re una pagina iniziale molto facile, che sarà poi vi­sua­liz­za­bi­le di­ret­ta­men­te sul browser. Tuttavia, questa non sarà ancora una pagina HTML valida, costruita secondo gli standard definiti, piuttosto una pagina di prova pura. Per la rea­liz­za­zio­ne di questa prima pagina, così come per tutti i suc­ces­si­vi esempi HTML di questo tutorial è stato uti­liz­za­to il già accennato Notepad++ come editor. Doveste uti­liz­za­re un altro programma, il pro­ce­di­men­to potrebbe allora di­sco­star­si leg­ger­men­te dai passaggi indicati in seguito.

Come prima cosa aprite l’editor e salvate il nuovo file con il nome test. Come formato file scegliete “Hypertext Markup Language file”, cosicché in seguito anche il browser sappia che si tratta di una pagina HTML. Se avete invece scelto di servirvi di un editor più semplice, allora in questo caso dovreste scegliere “Tutti i file” (Codifica: UTF-8) e uti­liz­za­re l’esten­sio­ne HTML di­ret­ta­men­te nel campo nome del file, in modo da salvare il file con il nome di test.html.

Il file appena creato dovrebbe apparire con l’icona del browser da voi uti­liz­za­to. Clic­can­do­ci due volte sarete già in grado di aprire la pagine, ma poiché manca qualunque tipo di contenuto, tutto ciò che vedrete è una pagina com­ple­ta­men­te bianca. Come prossimo passaggio ag­giun­ge­te dunque un breve testo esem­pli­fi­ca­ti­vo come “Questa è la mia prima pagina HTML”, salvate il documento e aprite nuo­va­men­te il file test.html. Il risultato dovrebbe essere lo stesso di quello mostrato qui a seguito, anche se chia­ra­men­te in italiano:

HTML: le basi della strut­tu­ra­zio­ne del testo

In questo modo avete già impostato con successo la vostra prima pagina web; e tutto ciò senza aver dovuto far ricorso ad alcun tipo di markup HTML. Ma se in un secondo momento provate ad inserire, nella stessa maniera, un testo strut­tu­ra­to con titoli e capoversi, vi renderete conto che senza i tag non si va da nessuna parte. Le for­mat­ta­zio­ni apportate, ad esempio tramite un programma di ela­bo­ra­zio­ne testi, scom­pa­ri­ran­no nella vi­sua­liz­za­zio­ne tramite browser: le im­pa­gi­na­zio­ni verranno can­cel­la­te au­to­ma­ti­ca­men­te, più spazi bianchi accorpati, e così via. La soluzione è quella di con­tras­se­gna­re i diversi elementi di testo come tali grazie all’utilizzo degli elementi strut­tu­ra­li; ovvero fare il passaggio verso il mondo HTML.

Stabilire i capoversi con il tag

Per formare i paragrafi avrete bisogno del tag <p>, che rimanda alla parola inglese “paragraph”. Lo start tag segna l’inizio, mentre l’end tag terminerà il paragrafo in questione. Nel mezzo delle due marcature si troverà il testo da separare. In tutte le versioni HTML, salvo l’XHTML, il tag di chiusura è opzionale, cio­no­no­stan­te l’utilizzo di tale in­di­ca­zio­ne è sinonimo di buon stile ed è par­ti­co­lar­men­te rac­co­man­da­bi­le durante la fase di ap­pren­di­men­to dell’HTML. Potete provare a separare i capoversi di­ret­ta­men­te nella pagina di prova rea­liz­za­ta, inserendo un ulteriore paragrafo e se­pa­ran­do­li come appena spiegato:

<p>This is my first webpage!</p>
<p>This is the second paragraph of my first webpage.</p>

Consiglio: il capoverso in­tro­dot­to ma­nual­men­te serve solamente ad una migliore chiarezza. Potete benissimo scrivere i due elementi <p> in una singola riga uno dopo l’altro.

Inserire i titoli: il tag

Al­tret­tan­to im­por­tan­ti per una struttura ordinata dei vostri testi per pagine web, sono le in­te­sta­zio­ni. Con HTML non solo avete la pos­si­bi­li­tà di con­trad­di­stin­guer­li tutti in una volta, ma inoltre può essere impostata una gerarchia chiara per tutti i titoli uti­liz­za­ti. A questo scopo avete a di­spo­si­zio­ne i tag da <h11> fino a <h6>, dove <h1> rap­pre­sen­ta il titolo prin­ci­pa­le della pagina web in questione. Questo tag andrebbe uti­liz­za­to non più di una volta a pagine, dif­fe­ren­te­men­te da <h2> e dai seguenti.

È im­por­tan­te che man­te­nia­te la sequenza ge­rar­chi­ca corretta e che non saltiate in­di­scri­mi­na­ta­men­te dall’una all’altra; in questo modo sia i motori di ricerca che i lettori saranno in grado di com­pren­de­re la struttura del testo in base alle in­te­sta­zio­ni. Per la nostra pagina di prova ag­giun­gia­mo a mo’ di esempio un titolo prin­ci­pa­le come anche un primo sot­to­ti­to­lo:

<h1>Main heading: my first webpage</h1>
<p>This is my first webpage!</p>
<h2>Second heading</h2>
<p>This is the second paragraph of my first webpage.</p>

Consiglio: Poiché il documento HTML ottenuto fino ad ora è una variante sem­pli­fi­ca­ta senza meta in­for­ma­zio­ni, alcuni browser come Firefox po­treb­be­ro non mostrare le lettere accentate o altri caratteri cor­ret­ta­men­te. Per fare la prova dovreste come prima cosa tentare su Google Chrome o, in al­ter­na­ti­va, uti­liz­za­re la dicitura HTML cor­ri­spet­ti­va. Nell’esempio qui uti­liz­za­to dovrete so­sti­tui­re “è” con &egrave.

Mettere in evidenza parole o passaggi con il corsivo o il grassetto: , , e

Tra i fon­da­men­ta­li più im­por­tan­ti dell’HTML c’è anche la pos­si­bi­li­tà di evi­den­zia­re singoli ritagli di testo o parole. In questo modo potete in­di­riz­za­re il focus del lettore in maniera mirata a degli elementi testuali im­por­tan­ti da un punto di vista con­te­nu­ti­sti­co o fun­zio­na­le e aiutare così il lettore a coglierli con maggiore facilità.

Con i tag <i> e <em> rendete il testo se­le­zio­na­to in corsivo al fine di di­stin­gue­re le frasi come pensieri o di espres­sio­ni tecniche. Tuttavia l’utilizzo del corsivo tende a frenare il flusso di lettura, per questo motivo è buona cosa uti­liz­za­re entrambi i tag con mo­de­ra­zio­ne. Ancora più im­por­tan­ti sono gli elementi <b> e <strong>, che mettono in grassetto parole o porzioni di testo. Con il tag <b> favorite alcuni contenuti sui quali l’utente farà con­sa­pe­vol­men­te par­ti­co­la­re at­ten­zio­ne. Al contrario la marcatura <strong> è prevista per elementi testuali par­ti­co­lar­men­te im­por­tan­ti da un punto di vista con­te­nu­ti­sti­co.

Per una spie­ga­zio­ne più concreta dei tag di marcatura, ampliamo un po’ il nostro codice HTML:

<h1>Main heading: <i>my first webpage</i></h1>
<p>This is my<strong>first</strong>first webpage!</p>
<h2>Second heading</h2>
<p>This is the second paragraph of my <em>first webpage</em>.</p>
<p><b>Note</b>:Typical example for the<b>-tag.</p>

Consiglio: per far sì che l’esempio del codice HTML nel passaggio testuale aggiunto non compaia nel testo in chiaro, abbiamo so­sti­tui­to le parentesi angolari “<” e “>” con la dicitura HTML cor­ri­spon­den­te &lt; e &gt;. Anche qui va ricordato l’utilizzo delle diciture HTML per gli accenti.

Fare degli elenchi: liste punto per punto con i tag , e

Le liste della spesa non sono le uniche liste che possono rendervi la vita più semplice, esse risultano un mezzo di grande utilità anche per rendere alcuni paragrafi più distesi e ot­ti­miz­za­re in questo modo la leg­gi­bi­li­tà. Con HTML potete rea­liz­za­re degli elenchi per il vostro progetto web sia con nu­me­ra­zio­ne ordinata sia senza. Per un elenco non ordinato va uti­liz­za­to il tag <ul> (derivante dall’inglese “unordered list”), mentre la variante più ordinata la si può ottenere con il tag <ol> (“ordered list”). I singoli punti di un elenco vengono invece definiti con il tag <li>; il quale funziona solo in com­bi­na­zio­ne con uno dei due tipi di liste. Potete provare il fun­zio­na­men­to delle liste HTML con il seguente codice:

<ul>
    <li>first unordered-list item</li>
    <li>second unordered-list item</li>
    <li>third unordered-list item</li>
</ul>

Il risultato dovrebbe as­so­mi­glia­re a questo:

Se invece de­si­de­ra­te tra­sfor­ma­re l’elenco di­sor­di­na­to in una lista nu­me­ri­ca­men­te ordinata, vi basterà scambiare il tag:

<ol>
    <li>first ordered-list item</li>
    <li>second ordered-list item </li>
    <li>third ordered-list item </li>
</ol>

Una volta fatto, sul browser com­pa­ri­ran­no i numeri al posto dei co­sid­det­ti “bullet points”, ovvero i cerchi neri pieni di cui sopra:

Riportare i dati in maniera strut­tu­ra­ta con l’aiuto di tabelle: , e

Per molti anni la prassi è stata quella di uti­liz­za­re tabelle HTML non solo per la pre­sen­ta­zio­ne pratica di dati complessi, ma anche per la strut­tu­ra­zio­ne dell’intero layout di una pagina web o di testi divisi in più colonne. Con l’ascesa del CSS questo ruolo ag­giun­ti­vo è passato sempre più in secondo piano, così che le tabelle og­gi­gior­no vengono uti­liz­za­te esclu­si­va­men­te nella loro funzione standard per la quale erano state pensate, ovvero l’analisi di dati. Perciò ogni tabella si forma di almeno questi tre com­po­nen­ti:

  • <table>: lo start e l’end tag <table> de­fi­ni­sco­no l’inizio e la fine di una tabella HTML. Questo comando di per sé non porta a nulla, poiché il browser non è in grado di procedere se non gli vengono indicate il numero di righe e di colonne.
  • <tr>: con l’elemento <tr>, che deriva dal termine inglese “table row”, ag­giun­ge­re­te una riga alla tabella. Per quanto riguarda il numero di righe, non c’è alcun limite massimo.
  • <td>: una volta che avrete inserito anche le colonne avrete la struttura di base della vostra tabella. Il tag ne­ces­sa­rio per fare ciò è <td> (dall’inglese “table data”), che lo­gi­ca­men­te è sempre sot­to­mes­so al tag <tr>, poiché vi devono essere una o più righe di dati per far sì che questa/e possa/no essere divisa/e in più celle dati. Il contenuto dei campi dati va po­si­zio­na­to tra l’elemento d’apertura <td> e quello di chiusura </td>.

Trat­tan­do­si di una struttura un po’ com­pli­ca­ta da capire, vi mostriamo come si crea una prima, facile tabella HTML, composta di una singola riga e due colonne:

<table>
    <tr>
        <td>first data field</td>
        <td>second data field</td>
    </tr>
</table>

L’anteprima derivante dal codice HTML appena riportato fa sembrare che si sia ve­ri­fi­ca­to un errore e che la tabella non abbia fun­zio­na­to come de­si­de­ra­to. Bisogna sì ri­co­no­sce­re che si sono definite due colonne e che si tratta di una tabella, ma la spie­ga­zio­ne sta nel fatto che di norma le celle delle tabelle HTML non hanno alcuna bordatura visiva. Per inserire un bordo all’estremità delle caselle si deve ampliare il tag <table> con l’attributo border e con il valore 1:

<table border="1">
    <tr>
        <td>first data field</td>
        <td>second data field</td>
    </tr>
</table>

Riaprendo ora il documento HTML nel vostro browser di utilizzo, vedrete il layout della tabella, esat­ta­men­te come siete soliti vederlo navigando.

Consiglio: HTML5 non supporta più l’attributo border, rendendo quindi la bordatura delle celle un compito spettante al CSS.

L’HTML offre d’altronde anche la pos­si­bi­li­tà, di evi­den­zia­re titoli per colonna. Per fare questo è ne­ces­sa­rio adottare il tag <thread> nella colonna in questione e so­sti­tui­re il marcaggio <td> delle singole celle dati, con il tag <th>. Una tabella esem­pli­fi­ca­ti­va con quattro righe così come tre colonne, inclusiva di titoli, può essere rea­liz­za­ta grazie al seguente codice HTML:

<table border="1">
    <thead>
        <tr>
            <th>Column heading 1</th>
            <th>Column heading 2</th>
            <th>Column heading 3</th>
        </tr>
    </thead>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr>
        <td>7</td>
        <td>8</td>
        <td>9</td>
    </tr>
</table>

L’im­pal­ca­tu­ra HTML di base: così appare la struttura di una pagina web

In questa sezione del nostro tutorial HTML trattiamo la struttura generale di una pagina web. Infatti i documenti HTML non con­ten­go­no solo testi, link e altri contenuti collegati come foto o video, ma anche le già citate meta in­for­ma­zio­ni, le quali appunto informano il browser, ma anche i crawler dei motori di ricerca, su come vadano lette le pagine. Se un utente visita un sito web, alcuni di questi dati ag­giun­ti­vi non sono affatto visibili, altri solo nella barra del titolo della finestra del browser, nella tab, nella cro­no­lo­gia o come titolo nelle im­mis­sio­ni dei motori di ricerca.

Il codice di base di una pagina HTML, ridotta alle com­po­nen­ti minime, appare così:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="description" content="Here you can find all information about the HTML basic framework">
    <title>Learn HTML: The basic framework</title>
</head>
<body>
</body>
</html>

I dati si com­pon­go­no di tre campi: DOCTYPE, head e body. Il primo com­po­nen­te, trat­tan­do­si del Document Type Defintion (de­fi­ni­zio­ne del tipo di documento), è l’unico che deve stare prima del tag <html>, all’interno del quale vanno co­mu­ni­ca­ti gli utilizzi in­ter­pre­ta­ti­vi, lo standard di ri­fe­ri­men­to uti­liz­za­to ad esempio durante la pro­du­zio­ne del documento; che in questo caso sarà HTML5. Questo tipo di documento è ri­co­no­sciu­to da ogni browser; inoltre permette sia l’utilizzo dell’attuale HTML5 come anche di codici HTML più vecchi, per questo motivo dovrebbe essere uti­liz­za­to di norma ed in modo par­ti­co­la­re durante lo studio del lin­guag­gio HTML.

Nel campo seguente, ovvero <head>, riportate i dati di in­te­sta­zio­ne del vostro file HTML. Di questi fanno parte ad esempio la codifica dei caratteri (meta charset), che il browser deve uti­liz­za­re, la meta de­scrip­tion (meta name = “de­scrip­tion”) rilevante per i motori di ricerca o il titolo del sito web (title), che apparirà nell’in­te­sta­zio­ne del browser. Inoltre potete ag­giun­ge­re molti altri meta dati, come le in­for­ma­zio­ni aggiunte nel nostro esempio, che sono sì opzionali, ma grazie alle quali è possibile favorire l’ot­te­ni­men­to di una buona va­lu­ta­zio­ne nei motori di ricerca.

Invece i dati <title> sono un’eccezione, rap­pre­sen­tan­do l’unico elemento ob­bli­ga­to­rio di una pagina HTML. Nella testata andrete tra l’altro ad ag­giun­ge­re anche il richiamo al vostro file CSS, con il quale pro­get­ta­te il design della vostra pagina web. Nella sezione <body> è contenuto tutto ciò che alla fine verrà vi­sua­liz­za­to nel browser dell’utente.

Consiglio: i tag per la struttura HTML di base sono opzionali e possono, perciò, essere tra­la­scia­ti da un punto di vista teorico. In questo caso il browser creerà i tag <html>, <head> e <body> au­to­ma­ti­ca­men­te e vi assegnerà i ri­spet­ti­vi elementi. Ma è buona prassi occuparsi per­so­nal­men­te di queste in­di­ca­zio­ni. Inoltre, la clas­si­fi­ca­zio­ne facilita la leg­gi­bi­li­tà del documento, che, so­prat­tut­to per i novizi dell’HTML, è un vantaggio da non sot­to­va­lu­ta­re.

Integrare immagini, foto e grafiche sulle vostre pagine web

I testi sono in­di­scu­ti­bil­men­te la com­po­nen­te più im­por­tan­te delle pagine HTML generiche. Tuttavia gli stimoli visivi, sotto forma di immagini, foto e grafiche, hanno anch’essi un’influenza notevole sull’espe­rien­za dell’utente e risultano perciò ir­ri­nun­cia­bi­li per un’im­mis­sio­ne sul web azzeccata. È comune l’utilizzo dei tre seguenti formati, sup­por­ta­ti da tutti i browser:

  • JPG: per foto e grafiche simili a foto con forti contrasti e una grande mol­te­pli­ci­tà di colori si è soliti uti­liz­za­re il formato JPG. Questo, infatti, può ri­pro­dur­re fino a 16 milioni di colori e file molto compressi, tuttavia pro­vo­can­do una perdita di qualità.
  • PNG: grafiche e loghi li potete salvare nel formato PNG, capace di ri­pro­dur­re da 256 (PNG8) fino a 16,7 milioni di colori (PNG24). Di­ver­sa­men­te dal formato JPG, il PNG comprime senza abbassare la qualità, per questo motivo i file sono però più pesanti.
  • GIF: i file GIF possono ri­pro­dur­re un massimo di 256 colori, ma sono tuttavia molto richiesti nello sviluppo web, poiché con essi si possono ri­pro­dur­re con facilità piccole ani­ma­zio­ni, elementi di na­vi­ga­zio­ne o semplici grafiche.

In­di­pen­den­te­men­te dal formato, l’im­mis­sio­ne di un’immagine sulla pagina web de­si­de­ra­ta avviene con il tag <img> (“image”, “immagine” in inglese). Inoltre è ne­ces­sa­rio spe­ci­fi­ca­re la posizione dell’immagine, poiché al­tri­men­ti il browser non sarà in grado di trovarlo e dunque di mostrare l’immagine. A questo scopo avrete bisogno dell’attributo src (“source”, “fonte” in inglese), così come del percorso del file immagine relativo. Il modo più semplice per farlo è la creazione di una sot­to­car­tel­la con il nome “immagini” all’interno della cartella del progetto del vostro sito web, ovvero quella dove avete salvato il vostro documento HTML, e salvarvi all’interno tutte le immagini che volete uti­liz­za­re.

Il nostro file di esempio per questo tutorial HTML porta il nome di grafica1.png e si trova nella cartella dal nome “immagini”. Il codice per l’in­te­gra­zio­ne facile di questa fan­to­ma­ti­ca grafica è il seguente:

<img src="images/graphic1.png" />

Per le immagini esistono tuttavia anche ulteriori attributi, il cui utilizzo è rac­co­man­da­bi­le per ovvi motivi. Tali attributi sono le spe­ci­fi­che rispetto alla larghezza (width) e all’altezza (height) dell’immagine. Grazie a questi valori il browser è in grado di po­si­zio­na­re un me­ta­ca­rat­te­re della giusta grandezza durante il ca­ri­ca­men­to, così da veicolare la foto cor­ret­ta­men­te. Così il browser può rap­pre­sen­ta­re pa­ral­le­la­men­te ulteriori contenuti nella finestra, senza che il processo di ca­ri­ca­men­to dei file immagine debba ne­ces­sa­ria­men­te essere concluso, ma che, anzi, al contrario riduce il tempo di ca­ri­ca­men­to generale della pagina web.

Inoltre c’è anche l’attributo alt, con il quale potete definire un testo al­ter­na­ti­vo per l’immagine. Per svariati motivi è as­so­lu­ta­men­te ne­ces­sa­rio, nonché ob­bli­ga­to­rio, che tale attributo faccia parte del vostro re­per­to­rio di fon­da­men­ta­li di HTML, poiché tramite esso si può:

  • Rendere la pagina senza barriere, offrendo un’al­ter­na­ti­va agli utenti con problemi di vista o in caso di problemi di ca­ri­ca­men­to del file immagine;
  • Aiutare i crawler dei motori di ricerca nella ca­te­go­riz­za­zio­ne dell’immagine, la quale sarà poi un valore aggiunto dal punto di vista con­te­nu­ti­sti­co;

L’espan­sio­ne del codice con­se­guen­te a questo attributo appare pres­sap­po­co così:

<img src="images/graphic1.png" width="960" height="274" alt="Learn HTML: this is how the embedded sample graphic 'click here' appears:" />

Consiglio: i valori uti­liz­za­ti in questo caso per la larghezza (960) e l’altezza (274) cor­ri­spon­do­no alla grandezza originale della grafica usata come esempio. Il browser calcola di norma la grandezza au­to­ma­ti­ca­men­te in pixel.

Collegare pagine e contenuti: il ruolo fon­da­men­ta­le dei col­le­ga­men­ti iper­te­stua­li

Gli hyperlink, meglio co­no­sciu­ti con il loro di­mi­nu­ti­vo “link”, sono il motivo per l’in­com­pa­ra­bi­le successo del World Wide Web. Senza questa sorta di richiamo elet­tro­ni­co, che porta gli utenti da una pagina all’altra o ad iniziare un’azione come può essere ad esempio un download, il grado di col­le­ga­men­to, come quello offerto dal web, non sarebbe proprio possibile. Bisogna però dif­fe­ren­zia­re tra tre diversi tipi di link:

  • Link interni: i col­le­ga­men­ti interni servono alla strut­tu­ra­zio­ne di un intero sito web e mostrano la via all’utente. Con i link interni è possibile dunque rea­liz­za­re diverse strutture. Con una struttura lineare l’utente seguirà una sorta di percorso guidato pagina dopo pagina, mentre con una struttura ad albero potrà navigare da una pagina di partenza a diverse sot­to­pa­gi­ne. È inoltre possibile disporre col­le­ga­men­ti all’interno di una singola pagina, con il cui aiuto l’utente potrà saltare, ad esempio, dalla fine della pagina all’inizio.
  • Link esterni: per link esterni si intende so­li­ta­men­te quei col­le­ga­men­ti, che portano ad un altro progetto web. Questo tipo di richiamo vi servirà per offrire un valore aggiunto ai vostri utenti, ovvero a con­si­glia­re un’altra offerta web. Dovreste tuttavia fare at­ten­zio­ne a non includere troppi link esterni su una stessa pagina as­si­cu­ran­do­vi che questi siano comunque af­fi­da­bi­li. Al­tri­men­ti dovrete mettere in conto una va­lu­ta­zio­ne negativa da parte dei motori di ricerca.
  • Altri link: non tutti i link ri­chia­ma­no dei documenti HTML. In base allo scopo, cliccare su un de­ter­mi­na­to link può anche portare ad un download, aprire il client di posta elet­tro­ni­ca o aprire un lettore PDF.

Link interni: collegare singole pagine del vostro sito web

Mentre è probabile che in un secondo momento godrete sempre più dei frutti del vostro studio del lin­guag­gio HTML, per concepire e svi­lup­pa­re una struttura complessa di link per la vostra presenza web, per quanto riguarda questo minicorso di HTML, è ne­ces­sa­rio in­nan­zi­tut­to partire dalla semplice messa in con­nes­sio­ne di due pagine interne. Perché questo sia possibile è ne­ces­sa­rio che abbiate già creato un altro documento HTML oltre a test.html. Fate ben at­ten­zio­ne che a questo secondo documento dovrete dare un nome diverso, ad esempio pa­gi­na­di­de­sti­na­zio­ne.html, e che si trovi nella stessa directory della pagina di prova.

Per la pro­du­zio­ne di un link ne­ces­si­ta­te del tag <a> (che sta per “anchor”, “ancora”), che tuttavia serve solo a fornire le in­for­ma­zio­ni ri­guar­dan­ti al col­le­ga­men­to. Per questo motivo non può stare da solo, ma ha sempre bisogno dell’attributo href (che sta per hyper reference), per spe­ci­fi­ca­re la pagina di de­sti­na­zio­ne del link. Il testo del link, che il browser di norma mostra evi­den­zia­to in blu, lo dovete scrivere tra lo start tag e l’end tag <a>.  Ag­giun­ge­te un link interno, all’interno del quale andrà inserita la seguente stringa:

<a href="targetpage.html">Jump to target page</a>

Se avete inserito il link cor­ret­ta­men­te, cliccando su di esso dovrebbe aprirsi una pagina vuota, poiché vuoto è anche il documento pa­gi­na­di­de­sti­na­zio­ne.html. Per questo motivo il prossimo passaggio sarà quello di inserire all’interno di questo documento un altro col­le­ga­men­to, che, clic­can­do­ci sopra, vi riporterà alla pagina di partenza.

<a href="test.html">Back to previous page</a>

Consiglio: nel caso in cui la pagina da linkare non dovesse trovarsi nella directory prin­ci­pa­le, indicate sem­pli­ce­men­te il percorso corretto della sot­to­car­tel­la; ad esempio sot­to­car­tel­la/pa­gi­na­di­de­sti­na­zio­ne.html. Per tornare indietro dovreste uti­liz­za­re questo codice <a href=”../test.html”>.

Link esterni: come ri­chia­ma­re i contenuti di altre presenze web

Se volete ag­giun­ge­re alle vostre pagine un link esterno, non avrete né bisogno di un tag diverso da quelle per i col­le­ga­men­ti interni, né dovrete sapere in quale directory è salvata la pagina da collegare. Il richiamo di contenuti esterni prevede uni­ca­men­te l’in­di­ca­zio­ne dell’URL completo, questo conterrà au­to­ma­ti­ca­men­te tutte le in­for­ma­zio­ni ne­ces­sa­rie. Poiché il contenuto collegato non si trova sul proprio server web, non avrete in alcun modo pos­si­bi­li­tà di in­fluen­za­re la fun­zio­na­li­tà di un link esterno, per questo motivo dovreste tenerlo re­go­lar­men­te sotto controllo.

È inoltre con­si­glia­bi­le im­pe­gnar­si nella for­mu­la­zio­ne di un link testuale espres­si­vo, poiché il me­ta­ca­rat­te­re “qui”, come capita spesso di trovare, è privo di in­for­ma­zio­ne e non aiuta i vi­si­ta­to­ri a capire cosa si nasconda dietro al link. Provate un col­le­ga­men­to esterno con il seguente codice, che crea un col­le­ga­men­to con la nostra Digital Guide:

<p>HTML tutorial and numerous guides on the topic of websites, hosting, and much more at
<a href="https://www.ionos.com/digitalguide">IONOS Digital Guide</a>
</p>

Con un normale link esterno al­lon­ta­na­te il vi­si­ta­to­re dal vostro stesso progetto web. Teo­ri­ca­men­te ba­ste­reb­be un click sul pulsante “indietro” per tornare alla vostra pagina, tuttavia questa opzione non viene spesso presa in con­si­de­ra­zio­ne. Nella pratica però c’è invece la pos­si­bi­li­tà di aprire la pagina collegata di­ret­ta­men­te in una nuova e separata tab o finestra, senza che quindi la vostra pagina venga chiusa cliccando sul link: l’attributo target definisce dove deve venire aperto un documento collegato. Spe­ci­fi­can­do il valore _blank si fa sì che il contenuto ri­chia­ma­to venga aperto in una nuova finestra, o meglio in una nuova tab. Il codice ne­ces­sa­rio è:

<a href="https://www.ionos.com/digitalguide" target="_blank">IONOS Digital Guide</a>

Sul ret­ti­li­neo d’arrivo: mettere la propria pagina HTML online

I siti d’esempio che vi abbiamo offerto in questo tutorial possono essere fa­cil­men­te aperti nel vostro computer, ma se invece inoltrate gli URL delle pagine ad altre persone, ad esempio per mostrare i risultati ottenuti, queste non riu­sci­ran­no a farci nulla. Il motivo di ciò è da trovarsi nel fatto che i documenti HTML, le immagini even­tual­men­te collegate e quant’altro, sono salvate lo­cal­men­te nel vostro PC e perciò non possono essere con­se­gna­te al browser che ne sta facendo richiesta. Per far sì che il mondo possa prendere parte alla vostra creazione, dovete come prima cosa re­gi­stra­re il vostro progetto web in rete e occuparvi di trovare la struttura di hosting ne­ces­sa­ria. Il primo passo è dunque quello di trovare un dominio adatto per la propria im­mis­sio­ne sul web e re­gi­strar­lo. Questa re­gi­stra­zio­ne la potete ef­fet­tua­re con ogni provider; anche noi di IONOS vi offriamo l’opzione di re­gi­stra­re di un dominio. Il secondo passo è chia­ra­men­te quello di prov­ve­de­re una base adatta per il vostro progetto web, il che sta a si­gni­fi­ca­re o impostare e con­fi­gu­ra­re un proprio server o af­fit­tar­ne uno da un provider di web hosting. In quanto provider, anche quest’ultima opzione fa parte dell’offerta di IONOS: con noi non dovrete pre­oc­cu­par­vi della scelta, dell’im­po­sta­zio­ne o della ma­nu­ten­zio­ne del software del server, bensì vi basterà scegliere sem­pli­ce­men­te il pacchetto di spazio web de­si­de­ra­to, che vi ga­ran­ti­sca lo spazio di ar­chi­via­zio­ne ne­ces­sa­rio per i documenti del vostro progetto. Come ultimo passaggio, per caricare le vostre pagine sullo spazio web affittato, avete so­li­ta­men­te bisogno di un programma FTP. Con l’aiuto di questo client potete scambiare i dati con l’FTP del provider. Alcune delle opzioni migliori le abbiamo riassunte per voi in questo articolo. Guide e dati det­ta­glia­ti per l’accesso al server FTP li otterrete di­ret­ta­men­te dal provider che avete scelto. Consiglio: durante il ca­ri­ca­men­to sul server FTP la struttura della directory deve rimanere inal­te­ra­ta. Vale dunque la pena di met­ter­ci­si d’impegno sin dall’inizio.

CSS e Ja­va­Script: ecco perché è sempre ne­ces­sa­rio iniziare con HTML

Durante tutto questo tutorial abbiamo ribadito più volte che l’HTML crea le fon­da­men­ta per ogni pagina web, il compito del design nello sviluppo web moderno spetta invece ad altri linguaggi di pro­gram­ma­zio­ne: og­gi­gior­no quali colori debbano avere i singoli elementi, quale layout stia alla base di una pagina, la di­men­sio­ne e il font di de­ter­mi­na­ti passaggi di un testo, di titoli, ed altri elementi testuali, tutte queste cose vengono definite esclu­si­va­men­te con la lingua di foglio di stile Cascading Style Sheets (CSS).

La sud­di­vi­sio­ne rigorosa tra contenuto e design facilita l’analisi e la cura di progetti web di grandi di­men­sio­ni. Con­te­stual­men­te all’ap­pren­di­men­to del lin­guag­gio di pro­gram­ma­zio­ne HTML è as­so­lu­ta­men­te rac­co­man­da­to in seguito di ci­men­tar­si con il CSS, così da poter garantire alle pagine HTML create di proprio pugno anche l’aspetto de­si­de­ra­to.

Un altro com­po­nen­te molto ap­prez­za­to dei siti web moderni è Ja­va­Script. Con l’aiuto del lin­guag­gio di pro­gram­ma­zio­ne ampliate le vostre pagine HTML ad elementi dinamici, at­tra­ver­so le quali i vostri vi­si­ta­to­ri potranno in­te­ra­gi­re con la pagina. Alcuni esempi di ciò sono gallerie immagine, menu di na­vi­ga­zio­ne dinamici o il ri­ca­ri­ca­men­to di dati esterni. Sia per Ja­va­Script che per CSS trovate online numerose stringhe di codice già pronte, che potete integrare all’interno del vostro documento, senza dover ne­ces­sa­ria­men­te scrivere nel dato lin­guag­gio di pro­gram­ma­zio­ne. Ma prima ancora dovrete tuttavia aver svi­lup­pa­to una com­pren­sio­ne di base per entrambi i linguaggi web, così da poter im­ple­men­ta­re cor­ret­ta­men­te queste stringhe di codice e in modo da riuscire a ricercare la soluzione nel caso in cui insorgano dei problemi.

Vai al menu prin­ci­pa­le