Link e Navigazione

Bentornato.
Nella lezione precedente hai imparato a organizzare il contenuto con le liste.
Ora colleghiamo le pagine tra loro.
Perché una pagina HTML è carina.
Ma più pagine HTML collegate diventano un sito web.
Ed è lì che le cose iniziano a sembrare reali.
Una pagina sola è una nota sul frigorifero.
Pagine collegate sono una piccola città digitale.
Con meno piccioni.
Si spera.
Cosa Imparerai
In questa lezione imparerai:
- come funzionano i link in HTML;
- come usare il tag
a; - cosa fa
href; - la differenza tra link relativi e assoluti;
- come collegare un’altra pagina;
- come collegare siti esterni;
- come aprire link in una nuova scheda;
- come creare link email;
- come costruire una navigazione semplice.
L’Elemento a
I link si creano con l’elemento a.
Esempio:
<a href="about.html">Chi Sono</a>
Il testo tra il tag di apertura e quello di chiusura è cliccabile.
L’attributo href dice al browser dove deve andare il link.
Quindi questo:
<a href="about.html">Chi Sono</a>
significa:
Mostra il testo “Chi Sono” e manda l’utente a
about.htmlquando clicca.
Semplice.
Potente.
Leggermente magico.
Collegare un’Altra Pagina
Crea due file:
touch index.html about.html
In index.html, scrivi:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pagina Home</title>
</head>
<body>
<h1>Pagina Home</h1>
<p>Benvenuto nel mio sito.</p>
<a href="about.html">Vai alla Pagina Chi Sono</a>
</body>
</html>
In about.html, scrivi:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chi Sono</title>
</head>
<body>
<h1>Chi Sono</h1>
<p>Questa è la pagina chi sono.</p>
<a href="index.html">Torna alla Home</a>
</body>
</html>
Apri index.html nel browser e clicca il link.
Congratulazioni.
Hai collegato due pagine.
Il sito ha iniziato a respirare.
Molto piano.
Ma comunque.
Link Relativi
Un link relativo punta a un file in base alla posizione del file corrente.
Esempio:
<a href="about.html">Chi Sono</a>
Questo significa:
Cerca
about.htmlnella stessa cartella.
I link relativi sono ottimi per le pagine del tuo sito.
Esempio di struttura:
project/
index.html
about.html
contact.html
Da index.html, puoi collegare contact.html così:
<a href="contact.html">Contatto</a>
Non serve scrivere l’indirizzo completo.
Il browser capisce il percorso.
I browser sono più intelligenti di quanto sembrino.
A volte.
Link a File in Cartelle
Se il file è dentro una cartella, il percorso cambia.
Esempio:
project/
index.html
pages/
about.html
Da index.html, collega pages/about.html:
<a href="pages/about.html">Chi Sono</a>
Se sei dentro pages/about.html e vuoi tornare a index.html, usa:
<a href="../index.html">Home</a>
.. significa “sali di una cartella”.
È importante.
E anche pericoloso se lo scrivi mezzo addormentato.
I percorsi sono piccoli, ma mordono.
Link Assoluti
Un link assoluto usa l’URL completo.
Esempio:
<a href="https://www.mozilla.org">Mozilla</a>
Usa link assoluti per siti esterni.
Esempi:
<a href="https://developer.mozilla.org">MDN Web Docs</a>
<a href="https://www.wikipedia.org">Wikipedia</a>
I link assoluti di solito iniziano con:
https://
Se dimentichi https://, il browser può pensare che sia un file locale.
E la confusione entra nella stanza con gli stivali.
Aprire un Link in una Nuova Scheda
Per aprire un link in una nuova scheda, usa target="_blank":
<a href="https://developer.mozilla.org" target="_blank">Apri MDN</a>
Per sicurezza, aggiungi anche rel="noopener noreferrer":
<a href="https://developer.mozilla.org" target="_blank" rel="noopener noreferrer">
Apri MDN
</a>
È una buona abitudine per i link esterni che si aprono in una nuova scheda.
Sì, sembra più lungo.
Le buone abitudini spesso sembrano più lunghe.
Poi ti salvano dopo.
Link Email
Puoi creare un link che apre l’app email:
<a href="mailto:hello@example.com">Invia Email</a>
Quando l’utente clicca, può aprirsi il programma email.
Esempio:
<a href="mailto:contact@example.com">Contattami</a>
Puoi anche aggiungere un oggetto:
<a href="mailto:contact@example.com?subject=Domanda%20dal%20Sito">Fai una Domanda</a>
Gli spazi negli URL si scrivono spesso come %20.
Non bellissimo.
Ma funziona.
Come molte cose su internet.
Link Telefonici
Per numeri di telefono, usa tel::
<a href="tel:+390000000000">Chiamami</a>
È utile sui dispositivi mobili.
Su desktop potrebbe non fare nulla o aprire un’app di chiamata.
HTML ci prova.
Il dispositivo decide.
Molto democratico.
Link a una Sezione della Stessa Pagina
Puoi collegare una sezione usando un id.
Esempio:
<a href="#contatto">Vai al Contatto</a>
<h2 id="contatto">Contatto</h2>
<p>Puoi contattarmi via email.</p>
href="#contatto" punta all’elemento con:
id="contatto"
È utile per pagine lunghe.
Come documentazione.
O menu di ristoranti che richiedono cardio.
Navigazione Semplice
La navigazione è di solito un gruppo di link.
Esempio:
<nav>
<a href="index.html">Home</a>
<a href="about.html">Chi Sono</a>
<a href="contact.html">Contatto</a>
</nav>
L’elemento nav dice al browser:
Questa area è navigazione.
Questo è HTML semantico.
Dà significato alla struttura.
Non solo link buttati sulla pagina come calzini su una sedia.
Navigazione con una Lista
Molti menu di navigazione usano liste:
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">Chi Sono</a></li>
<li><a href="contact.html">Contatto</a></li>
</ul>
</nav>
Questa è una struttura pulita.
Un menu di navigazione è una lista di link.
Quindi una lista ha senso.
HTML ama quando la struttura ha senso.
Diventa più calmo.
Anche gli sviluppatori.
A volte.
Crea una Pagina di Pratica
Crea tre file:
touch index.html about.html contact.html
Usa questa navigazione in ogni file:
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">Chi Sono</a></li>
<li><a href="contact.html">Contatto</a></li>
</ul>
</nav>
Esempio index.html:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Home</title>
</head>
<body>
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">Chi Sono</a></li>
<li><a href="contact.html">Contatto</a></li>
</ul>
</nav>
<h1>Home</h1>
<p>Benvenuto nel mio piccolo sito.</p>
</body>
</html>
Ora crea pagine simili per about.html e contact.html.
Aprile nel browser e clicca tra le pagine.
Ora hai un mini sito web.
Piccolo.
Ma vero.
Errori Comuni
Dimenticare href
Questo non è un link utile:
<a>Chi Sono</a>
Usa:
<a href="about.html">Chi Sono</a>
Senza href, non c’è destinazione.
Un link senza href è come un taxi senza ruote.
Nome file sbagliato
Se il file si chiama:
about.html
ma il link dice:
<a href="About.html">Chi Sono</a>
può non funzionare su alcuni sistemi.
I nomi dei file possono distinguere maiuscole e minuscole.
about.html e About.html possono essere diversi.
I computer possono essere molto severi per macchine che ci chiedono ancora di dimostrare che non siamo robot.
Usare target blank senza rel
Questo funziona:
<a href="https://example.com" target="_blank">Example</a>
Meglio:
<a href="https://example.com" target="_blank" rel="noopener noreferrer">Example</a>
Buone abitudini ora.
Meno dolore dopo.
Pratica
Crea un piccolo sito con:
index.html;about.html;contact.html;- un menu di navigazione in ogni pagina;
- almeno un link esterno;
- un link email;
- un link che si apre in una nuova scheda;
- un link a una sezione nella stessa pagina.
Niente CSS.
Niente JavaScript.
Solo link e navigazione HTML.
Il sito sembrerà semplice.
Va bene.
Oggi costruiamo connessioni.
La decorazione arriva dopo.
Mini Sfida
Crea un file chiamato:
resources.html
Costruisci una pagina risorse con:
- un
h1; - un paragrafo che spiega la pagina;
- un menu di navigazione;
- una lista non ordinata di siti utili;
- ogni sito come link;
- link esterni aperti in nuova scheda;
- un link email;
- un link “Torna su” usando un
id.
Esempio:
<a href="#top">Torna su</a>
e in alto:
<h1 id="top">Risorse Utili</h1>
Piccola funzione.
Molto utile.
Molto professionale.
Quasi sospetta.
Riassunto
Oggi hai imparato che:
- i link si creano con l’elemento
a; hrefdefinisce dove va il link;- i link relativi collegano pagine locali;
- i link assoluti collegano URL esterni completi;
target="_blank"apre link in una nuova scheda;rel="noopener noreferrer"è una buona abitudine di sicurezza;mailto:crea link email;tel:crea link telefonici;idpuò essere usato per collegare sezioni;navrappresenta la navigazione;- la navigazione può essere costruita con link o liste di link.
I link trasformano pagine in siti.
Senza link, le pagine sono isole.
Con i link, diventano una mappa.
Prossima Lezione
Nella prossima lezione impareremo immagini e media.
Perché il testo è potente.
Ma a volte un’immagine salva tutti dal leggere dodici paragrafi su un gatto.