akkaz / scuola

Il tuo sito ha qualcosa in più.

Riprendi index.html e style.css di ieri. Oggi immagini, didascalie, elenchi e tabelle rendono la tua pagina più utile.

2G · 22 ottobre · 2 ore

Riprendi la pagina di ieri

15 minuti

  1. Apri in VS Code la cartella il-mio-sito, con index.html e style.css. Conservane prima una copia chiamata copia-21-ottobre.
  2. Apri index.html nel browser. Controlla titolo, due servizi con prezzi, orari e menu.
  3. Se manca qualcosa, usa la lezione di ieri. Prima completa questi pezzi.

Oggi continui sulla stessa attività inventata. Non ricominciare da una pagina vuota. Dopo ogni modifica salva con Ctrl+S e aggiorna il browser.

Leggi il codice come tre pezzi

<p>Apertura
Ripariamo biciclette.Contenuto visibile
</p>Chiusura: nota la /

Insieme formano un elemento HTML. I tag dicono al browser che cosa rappresenta il contenuto. I colori in questa guida ti aiutano a leggere: non devi scriverli nel tuo file.

Viola = tag Blu = attributo Verde = valore

Un attributo aggiunge un’informazione nel tag di apertura: <section id="orari"> ha l’attributo id con valore orari. class, se la usi, assegna una categoria che puoi richiamare nel CSS. Non è un tag.

Ripasso: tutti i tag della pagina di ieri, uno per uno

<!doctype html> è una dichiarazione, non un tag da chiudere: dice al browser di usare l’HTML moderno.

<html>
Contiene l’intero documento. lang="it" indica che il testo è in italiano.
<head>
Contiene le informazioni per il browser: titolo della scheda, codifica e collegamento al CSS. Non è l’intestazione visibile della pagina.
<meta>
Imposta informazioni sul documento. charset="utf-8" permette di leggere correttamente gli accenti. La riga con name="viewport" e content="width=device-width, initial-scale=1" adatta la vista alla larghezza del dispositivo. Non ha tag di chiusura.
<title>
Il titolo che leggi sulla scheda del browser; sta dentro head. Il titolo visibile nel sito è invece h1.
<link>
Collega un file esterno: rel="stylesheet" dice che è un foglio di stile e href="style.css" indica il file. Non ha chiusura.
<body>
Contiene ciò che appare nella pagina: testi, immagini, collegamenti…
<header>
L’intestazione visibile: per esempio il nome del negozio e il suo menu.
<nav>
Raggruppa i collegamenti principali per spostarsi nel sito.
<a>
Un collegamento cliccabile. In <a href="#orari">Orari</a>, href è la destinazione e “Orari” è il testo da cliccare. #orari cerca l’elemento con id="orari" nella stessa pagina.
<main>
Il contenuto principale della pagina. Oggi aggiungi qui i nuovi blocchi, prima di </main>.
<section>
Raggruppa contenuti sullo stesso argomento, di solito con un titolo. id="orari" assegna un nome univoco alla sezione: puoi raggiungerla dal menu.
<h1>
Il titolo principale visibile, per esempio il nome del negozio. In questo sito ne usiamo uno per pagina.
<h2>
Il titolo di una sezione, per esempio “Servizi” oppure “Orari”. Non sceglierlo solo perché ti piace la dimensione.
<h3>
Il titolo di una sottosezione: per esempio un singolo servizio dentro la sezione “Servizi”.
<p>
Un paragrafo di testo. Apri con <p> e chiudi con </p>.
<ul>
Un elenco senza ordine numerato, come una lista di servizi. Ogni voce è un li.
<footer>
La parte conclusiva della pagina: per esempio contatti e informazioni sul negozio.
<div>
Un contenitore generico, senza un significato preciso. Serve quando vuoi raggruppare elementi per il CSS e non c’è un elemento più adatto.

Annidare = mettere dentro. Chiudi prima l’elemento più interno:

<main>
  <section id="servizi">
    <h2>I nostri servizi</h2>
    <p>Ripariamo biciclette.</p>
  </section>
</main>
Posso continuare nel banco prova?

Sì: usa il banco prova di ieri, dove puoi ritrovare il codice nello stesso browser. Elenchi e tabelle funzionano anche lì. Per l’immagine locale scarica i due file nella stessa cartella e apri index.html dal PC.

Una foto con una spiegazione

25 minuti · scopri figure, img e figcaption

Prima pensa: quale immagine aiuta a capire cosa offre il tuo negozio? Scegli una tua immagine o una fornita dal docente. Non usare foto dei compagni.

  1. Crea la cartella img dentro il-mio-sito. Salva lì l’immagine; per questo esempio usiamo officina.jpg. Se il tuo file è .png, usa quel nome anche nel codice: cambiare estensione non converte l’immagine.
  2. Aggiungi il blocco qui sotto dentro <main>, dopo la presentazione.
  3. Riscrivi descrizione e didascalia per la tua immagine.

Scrivi nel file HTML

<figure>
  <img src="img/officina.jpg"
       alt="Banco da lavoro con ruote e attrezzi per riparare biciclette">
  <figcaption>Il banco dove prepariamo le bici per il prossimo giro.</figcaption>
</figure>

Come si compone il risultato

figure · tiene insieme i due pezzi
<img>Qui comparirà la tua fotoIl file si trova in img/officina.jpg
figcaption · testo visibile

Il banco dove prepariamo le bici per il prossimo giro.

Questo è uno schema, non la foto da scaricare. Usa la tua immagine nel progetto.

<figure>
Il contenitore dell’immagine e della sua didascalia. Si chiude dopo figcaption.
<img>
Mostra l’immagine. src indica il percorso del file; alt descrive ciò che si vede, per chi usa un lettore di schermo o se il file non si carica. Non scrivere </img>: questo elemento non ha contenuto interno né tag di chiusura.
<figcaption>
La didascalia visibile che accompagna l’immagine. Sta dentro figure. Può spiegare il contesto; alt descrive invece il contenuto dell’immagine.

figure raggruppa immagine e didascalia. figcaption è il testo visibile sotto la foto. alt descrive il contenuto dell’immagine anche a chi non la vede.

L’immagine è enorme, oppure non compare

In fondo a style.css aggiungi:

figure { margin: 24px 0; }
figure img { max-width: 100%; height: auto; display: block; }
figcaption { margin-top: 8px; }

Se non compare, controlla cartella, nome ed estensione. img/officina.jpg significa “entra nella cartella img e apri officina.jpg”. Rispetta maiuscole e minuscole. La foto locale non appare nel banco prova: provala aprendo il file HTML dal PC.

Prova: restringi la finestra. La foto deve restringersi senza uscire dal bordo. Per un momento scrivi un nome di file sbagliato: quale testo appare? Poi ripristina il percorso corretto.

Una lista può avere un ordine

15 minuti · scopri ol, strong ed em

Ieri hai usato ul per i servizi. Oggi spiega come lavorate in tre passaggi, con un elenco numerato ol. Prima di provare, prevedi cosa cambierà rispetto a ul.

Dentro main, prima di </main>:

Scrivi nel file HTML

<section id="come-lavoriamo">
  <h2>Come lavoriamo</h2>
  <ol>
    <li>Ascoltiamo il problema della bici.</li>
    <li>Concordiamo <strong>il prezzo prima della riparazione</strong>.</li>
    <li>Controlliamo il risultato <em>insieme a te</em>.</li>
  </ol>
</section>

Risultato nel browser

Come lavoriamo

  1. Ascoltiamo il problema della bici.
  2. Concordiamo il prezzo prima della riparazione.
  3. Controlliamo il risultato insieme a te.

ol: i numeri li mette il browser, non li scrivi nel testo.

Il pulsante modifica solo questa anteprima. Nel tuo file prova a cambiare entrambi i tag: apertura e chiusura.

<section>
Tiene insieme il titolo e l’elenco. id="come-lavoriamo" è il nome di questa sezione, da usare anche in un link del menu.
<h2>
Il titolo della sezione: qui “Come lavoriamo”.
<ol>
Elenco ordinato: il browser numera le voci. Apri ol prima della lista e chiudilo dopo l’ultima voce.
<li>
Una singola voce dell’elenco. Ogni passaggio ha il proprio <li>…</li>; sta dentro ol oppure ul.
<strong>
Una parte importante del testo. Il browser di solito la mostra in grassetto: qui evidenzia che concordiamo il prezzo prima.
<em>
Una parte da leggere con enfasi. Di solito appare in corsivo: qui mette l’accento su “insieme a te”.

strong indica un’informazione importante; em mette enfasi su una parte della frase. Non servono a creare titoli: per quelli usa h1, h2 e h3.

Prova: aggiungi un quarto passaggio, poi spostalo al secondo posto. Devi riscrivere i numeri? Spiega perché questo elenco ha un ordine, mentre quello dei servizi può non averlo.

Orari facili da confrontare

25 minuti · scopri table, caption, tr, th e td

Prima pensa: come mostreresti tre giorni con orari diversi? Una tabella mette in relazione giorni e orari. Non usarla per disporre tutta la pagina.

Nella sezione id="orari" conserva il titolo h2. Sostituisci solo il vecchio paragrafo degli orari con:

Scrivi nel file HTML

<table>
  <caption>Orari di apertura</caption>
  <tr>
    <th scope="col">Giorno</th>
    <th scope="col">Orario</th>
  </tr>
  <tr>
    <th scope="row">Lunedì</th>
    <td>Chiuso</td>
  </tr>
  <tr>
    <th scope="row">Martedì–venerdì</th>
    <td>9:00–18:00</td>
  </tr>
  <tr>
    <th scope="row">Sabato</th>
    <td>9:00–12:00</td>
  </tr>
</table>

Trova il tag nella tabella

Tocca un nome: si evidenzia la parte che costruisce.

Orari di apertura
GiornoOrario
LunedìChiuso
Martedì–venerdì9:00–18:00
Sabato9:00–12:00

Ogni riga ha due celle: una per il giorno e una per l’orario.

<table>
Il contenitore di tutta la tabella. Aprilo prima di caption, chiudilo dopo l’ultima riga.
<caption>
Il titolo che spiega il contenuto della tabella. Qui è “Orari di apertura”; va dentro table, prima delle righe.
<tr>
Una riga: contiene le sue celle. Il browser le dispone una accanto all’altra. Poi un nuovo tr comincia una nuova riga.
<th>
Una cella di intestazione: spiega che cosa significano i dati. scope="col" descrive la colonna sotto; scope="row" descrive la riga accanto.
<td>
Una cella con un dato, per esempio “Chiuso” o “9:00–18:00”. Sta dentro tr, allo stesso livello delle altre celle.
Il CSS: bordi, spazi e colori della tabella

Queste sono regole CSS, non tag HTML. Il selettore prima delle parentesi graffe sceglie gli elementi; dentro scrivi proprietà e valori.

Aggiungi a style.css:

table { width: 100%; border-collapse: collapse; }
caption { text-align: left; font-weight: bold; margin-bottom: 8px; }
th, td { border: 1px solid #9aafa7; padding: 10px; text-align: left; }
th { background: #e4f3eb; }

Prova: cambia gli orari e aggiungi la domenica. Ogni riga deve mantenere due celle. Fai trovare a un compagno l’orario del sabato senza indicargli dove guardare.

Prova il sito come una persona che non lo conosce

20 minuti · controllo e correzioni

  1. Su una finestra stretta, leggi didascalia, prezzi e orari senza scorrere a destra.
  2. Chiedi a un compagno di trovare: che cosa offri, cosa succede prima della riparazione e quando apri il sabato.
  3. Correggi una difficoltà che hai osservato. Poi fate la stessa prova di nuovo.

Non cancellare i servizi di ieri. Se hai creato una nuova sezione, aggiungi il collegamento nel menu e provalo.

Se hai già finito

Scegli una sola estensione:

  • Una seconda pagina: sposta “Come lavoriamo” in un file separato e crea i collegamenti per andare e tornare. Aiuto di ieri.
  • Domande frequenti: usa details e summary per tre domande reali dei clienti. Esempio da riprendere.
  • Un confronto: crea una piccola tabella con servizio, prezzo e durata. Scrivi intestazioni chiare e controlla la vista stretta.
Come funzionano details e summary?
<details>
Un blocco che il lettore può aprire e chiudere. Contiene prima summary, poi il contenuto nascosto.
<summary>
Il titolo cliccabile del blocco details. Qui è la domanda del cliente; la risposta va dopo, dentro un p.
<details>
  <summary>Devo prenotare?</summary>
  <p>Sì, chiamaci prima di portare la bici.</p>
</details>

Prova il risultato:

Devo prenotare?

Sì, chiamaci prima di portare la bici.

Salva e spiega

Ultimi 20 minuti: recupero dei passaggi mancanti, salvataggio e spiegazione

Salva index.html, style.css e la cartella img. Riapri il sito dal PC. Mostra al docente un nuovo tag, il suo effetto e una prova che hai fatto. Se manca tempo, termina bene un’aggiunta e conserva il resto per la prossima lezione.