Sviluppo Web

La Lista Non Ordinata

Creazione e organizzazione di liste non ordinate HTML mediante gli elementi ul e li, con esempi di annidamento e personalizzazione dei marcatori.

Organizzazione delle attività

Tempo Attività Obiettivo
10 minuti Struttura delle liste non ordinate Comprendere il ruolo degli elementi ul e li.
5 minuti Confronto tra ul e ol Scegliere la lista corretta in base al significato del contenuto.
5 minuti Liste annidate Organizzare informazioni su più livelli.
5 minuti Marcatori e CSS Comprendere come modificare la rappresentazione grafica della lista.
15 minuti Attività pratica Realizzare una pagina HTML contenente differenti liste non ordinate.
5 minuti Verifica e sintesi Consolidare i concetti principali.

Le liste non ordinate

Una lista non ordinata permette di rappresentare un insieme di elementi per i quali la posizione non indica una sequenza, una priorità o una classifica.

Una lista non ordinata permette di rappresentare un insieme di elementi per i quali la posizione non indica una sequenza, una priorità o una classifica.

Il browser visualizza normalmente ogni elemento preceduto da un marcatore grafico, chiamato comunemente punto elenco o bullet.

Quando utilizzare una lista non ordinata
  • elenco di caratteristiche di un prodotto;
  • elenco di linguaggi di programmazione;
  • voci di un menu;
  • elenco di collegamenti;
  • componenti di un sistema;
  • insieme di tecnologie utilizzate in un progetto.

Per esempio, un elenco di tecnologie web può essere rappresentato nel seguente modo:

<ul>
    <li>HTML</li>
    <li>CSS</li>
    <li>JavaScript</li>
    <li>PHP</li>
</ul>
Risultato nel browser
  • HTML
  • CSS
  • JavaScript
  • PHP

Gli elementi ul e li

Una lista non ordinata viene costruita principalmente mediante due elementi HTML: <ul> e <li>.

Una lista non ordinata viene costruita principalmente mediante due elementi HTML: <ul> e <li>.

Elemento Significato Funzione
<ul> Unordered List Definisce il contenitore della lista non ordinata.
<li> List Item Definisce un singolo elemento della lista.

La struttura fondamentale è:

<ul>
    <li>Primo elemento</li>
    <li>Secondo elemento</li>
    <li>Terzo elemento</li>
</ul>

Il tag <ul> contiene l’intera lista, mentre ogni voce viene racchiusa in un elemento <li>.

Errore comune

Non è corretto inserire direttamente le voci all’interno di ul senza utilizzare gli elementi li.

<!-- Struttura errata -->
<ul>
    HTML
    CSS
    JavaScript
</ul>

La struttura corretta è:

<ul>
    <li>HTML</li>
    <li>CSS</li>
    <li>JavaScript</li>
</ul>

Lista ordinata o non ordinata?

Gli elementi ul e ol rappresentano entrambi liste, ma comunicano un significato differente.

Gli elementi ul e ol rappresentano entrambi liste, ma comunicano un significato differente.

Elemento Tipo di lista Quando utilizzarlo Visualizzazione tipica
<ul> Non ordinata Quando la posizione degli elementi non modifica il significato. Punti elenco
<ol> Ordinata Quando la sequenza o la posizione degli elementi è significativa. Numeri o altri indicatori ordinati

Consideriamo due esempi.

Elenco di linguaggi:

<ul>
    <li>Java</li>
    <li>Python</li>
    <li>PHP</li>
</ul>

Cambiare l’ordine degli elementi non modifica necessariamente il significato dell’elenco.

Procedura di installazione:

<ol>
    <li>Scaricare il programma</li>
    <li>Avviare il programma di installazione</li>
    <li>Completare la configurazione</li>
</ol>

In questo caso l’ordine delle operazioni è importante, quindi è appropriata una lista ordinata.

Criterio di scelta

Prima di scegliere tra ul e ol è utile chiedersi: se cambio l’ordine degli elementi, cambia il significato dell’informazione?

Se la risposta è no, una lista non ordinata è generalmente appropriata. Se la risposta è sì, è preferibile valutare una lista ordinata.

I marcatori della lista

Gli elementi di una lista non ordinata vengono normalmente visualizzati dal browser con un marcatore.

Gli elementi di una lista non ordinata vengono normalmente visualizzati dal browser con un marcatore.

<ul>
    <li>Monitor</li>
    <li>Tastiera</li>
    <li>Mouse</li>
</ul>
Risultato
  • Monitor
  • Tastiera
  • Mouse

Il punto elenco visualizzato non fa parte del testo inserito nel tag li: viene generato dal browser come parte della presentazione della lista.

Struttura e presentazione

HTML descrive la struttura e il significato della lista. L’aspetto grafico dei marcatori può essere controllato mediante CSS.

Personalizzare i marcatori con CSS

La proprietà CSS list-style-type permette di modificare il tipo di marcatore utilizzato da una lista.

La proprietà CSS list-style-type permette di modificare il tipo di marcatore utilizzato da una lista.

Valore CSS Effetto
disc Visualizza un disco pieno.
circle Visualizza un cerchio.
square Visualizza un quadrato.
none Nasconde il marcatore.

Esempio con marcatore quadrato:

<ul style="list-style-type: square;">
    <li>HTML</li>
    <li>CSS</li>
    <li>JavaScript</li>
</ul>
Risultato
  • HTML
  • CSS
  • JavaScript

Esempio con marcatore circolare:

<ul style="list-style-type: circle;">
    <li>HTML</li>
    <li>CSS</li>
    <li>JavaScript</li>
</ul>
Risultato
  • HTML
  • CSS
  • JavaScript
HTML e CSS hanno ruoli differenti

La scelta di utilizzare ul dipende dal significato del contenuto. La scelta del tipo di punto elenco riguarda invece la presentazione grafica e viene gestita tramite CSS.

Liste non ordinate annidate

Una lista non ordinata può contenere un’altra lista. Questa struttura permette di rappresentare informazioni organizzate su più livelli.

Una lista non ordinata può contenere un’altra lista. Questa struttura permette di rappresentare informazioni organizzate su più livelli.

La lista interna deve essere inserita all’interno dell’elemento li a cui appartiene.

<ul>

    <li>Frontend
        <ul>
            <li>HTML</li>
            <li>CSS</li>
            <li>JavaScript</li>
        </ul>
    </li>

    <li>Backend
        <ul>
            <li>PHP</li>
            <li>Java</li>
            <li>Python</li>
        </ul>
    </li>

</ul>
Risultato
  • Frontend
    • HTML
    • CSS
    • JavaScript
  • Backend
    • PHP
    • Java
    • Python
Interpretazione della struttura

Frontend e Backend rappresentano categorie principali. I linguaggi e le tecnologie contenuti nelle sottoliste rappresentano elementi appartenenti alle rispettive categorie.

Errori nell’annidamento

Quando si costruiscono liste annidate è importante rispettare la relazione tra la voce principale e la relativa sottolista.

Quando si costruiscono liste annidate è importante rispettare la relazione tra la voce principale e la relativa sottolista.

Struttura da evitare
<ul>

    <li>Frontend</li>

    <ul>
        <li>HTML</li>
        <li>CSS</li>
    </ul>

    <li>Backend</li>

</ul>

In questa struttura la sottolista non è contenuta nell’elemento li al quale dovrebbe appartenere.

Struttura corretta
<ul>

    <li>Frontend
        <ul>
            <li>HTML</li>
            <li>CSS</li>
        </ul>
    </li>

    <li>Backend</li>

</ul>

Combinare ul e ol

Le liste ordinate e non ordinate possono essere combinate quando i diversi livelli di informazione hanno significati differenti.

Le liste ordinate e non ordinate possono essere combinate quando i diversi livelli di informazione hanno significati differenti.

Per esempio, una lista non ordinata può rappresentare alcune tecnologie, mentre una sottolista ordinata può indicare una sequenza di operazioni relativa a una specifica tecnologia.

<ul>

    <li>HTML
        <ol>
            <li>Creare il file index.html</li>
            <li>Inserire la struttura HTML</li>
            <li>Aggiungere i contenuti</li>
        </ol>
    </li>

    <li>CSS</li>
    <li>JavaScript</li>

</ul>
Risultato
  • HTML
    1. Creare il file index.html
    2. Inserire la struttura HTML
    3. Aggiungere i contenuti
  • CSS
  • JavaScript
La struttura segue il significato

La lista esterna utilizza ul perché le tecnologie non rappresentano necessariamente una sequenza. La lista interna utilizza ol perché le operazioni devono essere eseguite in un determinato ordine.

LABORATORIO

Catalogo delle tecnologie web

L’attività consiste nel realizzare una pagina HTML che organizzi alcune tecnologie utilizzate nello sviluppo web.

Software: editor di testo e browser

L’attività consiste nel realizzare una pagina HTML che organizzi alcune tecnologie utilizzate nello sviluppo web.

Passo 1 - Creare il documento

Creare un nuovo file denominato tecnologie.html e inserire la struttura di base:

<!DOCTYPE html>
<html lang="it">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tecnologie web</title>
</head>

<body>

    <h1>Tecnologie web</h1>

</body>

</html>

Passo 2 - Inserire una lista non ordinata

All’interno del body aggiungere:

<h2>Tecnologie principali</h2>

<ul>
    <li>HTML</li>
    <li>CSS</li>
    <li>JavaScript</li>
    <li>PHP</li>
</ul>
Risultato atteso

La pagina deve visualizzare quattro tecnologie, ciascuna preceduta dal marcatore della lista.

Passo 3 - Organizzare le tecnologie per categoria

Sostituire la lista precedente con una struttura annidata:

<ul>

    <li>Frontend
        <ul>
            <li>HTML</li>
            <li>CSS</li>
            <li>JavaScript</li>
        </ul>
    </li>

    <li>Backend
        <ul>
            <li>PHP</li>
            <li>Java</li>
        </ul>
    </li>

</ul>
Verifica

Frontend e Backend devono essere visualizzati come elementi della lista principale. Le relative tecnologie devono apparire come sottoliste.

Passo 4 - Modificare il marcatore

Aggiungere una regola CSS nell’elemento head:

<style>
    ul {
        list-style-type: square;
    }
</style>

Salvare il documento e aggiornare la pagina nel browser.

Risultato atteso

I marcatori delle liste devono essere visualizzati come quadrati.

Passo 5 - Applicare stili differenti

Assegnare una classe alla lista principale:

<ul class="principale">
    <li>Frontend</li>
    <li>Backend</li>
</ul>

Nel blocco style aggiungere:

<style>
    .principale {
        list-style-type: square;
    }
</style>
Perché utilizzare una classe?

Una classe CSS permette di applicare una regola soltanto agli elementi selezionati, evitando di modificare automaticamente tutte le liste presenti nella pagina.

Troubleshooting

Problema Possibile causa Controllo
Le voci non vengono visualizzate correttamente Mancano gli elementi li Verificare che ogni voce sia racchiusa tra <li> e </li>.
La lista non presenta i punti elenco Una regola CSS potrebbe avere impostato list-style-type: none Controllare le regole CSS applicate alla lista.
La sottolista appare fuori dalla voce principale La lista interna è stata inserita fuori dal relativo li Inserire la sottolista all’interno dell’elemento li padre.
La lista mostra numeri invece di punti elenco È stato utilizzato ol invece di ul Controllare il tag di apertura e quello di chiusura.
Il marcatore CSS non cambia La regola CSS non seleziona la lista corretta Controllare selettore, classe e proprietà list-style-type.
Metodo di controllo

Quando una lista non produce il risultato previsto, verificare prima la struttura HTML di ul e li. Solo successivamente controllare le eventuali regole CSS.

Esercizio finale

Realizzare una pagina denominata computer.html che descriva i principali componenti hardware e software di un computer.

Realizzare una pagina denominata computer.html che descriva i principali componenti hardware e software di un computer.

La pagina deve contenere:

  • un titolo principale;
  • una lista non ordinata con le categorie Hardware e Software;
  • una sottolista Hardware con almeno quattro componenti;
  • una sottolista Software con almeno quattro elementi;
  • una lista con marcatore square;
  • almeno una classe CSS utilizzata per personalizzare una lista.
Struttura suggerita
<ul>

    <li>Hardware
        <ul>
            <li>CPU</li>
            <li>RAM</li>
            <li>SSD</li>
            <li>Scheda madre</li>
        </ul>
    </li>

    <li>Software
        <ul>
            <li>Sistema operativo</li>
            <li>Browser</li>
            <li>Editor di testo</li>
            <li>IDE</li>
        </ul>
    </li>

</ul>
Criteri di verifica
  • Ogni voce deve essere racchiusa in un elemento li.
  • Le sottoliste devono essere contenute nel relativo elemento li.
  • La struttura HTML deve rappresentare correttamente la gerarchia delle informazioni.
  • La personalizzazione grafica deve essere realizzata mediante CSS.

Verifica rapida

Domande di controllo
  1. Che cosa rappresenta una lista non ordinata?
  2. Qual è la funzione dell’elemento ul?
  3. Qual è la funzione dell’elemento li?
  4. Qual è la principale differenza tra ul e ol?
  5. Che cosa viene visualizzato normalmente davanti a ogni elemento di una lista non ordinata?
  6. A cosa serve la proprietà CSS list-style-type?
  7. Dove deve essere inserita una sottolista?
  8. È possibile inserire una lista ol all’interno di una lista ul?
  9. Quando è semanticamente appropriato utilizzare una lista non ordinata?