HTML & CSS per principianti

HTML & CSS per principianti (Parte 35): Liste e Contatori

Tutti i video del tutorial HTML & CSS per principianti

Le proprietà CSS mostrate in questo tutorial consentono di personalizzare le liste. Le specifiche riguardano gli elementi HTML ul e ol. Potete quindi adattare le liste ordinate e non ordinate secondo i vostri desideri.


Informazioni generali sulle liste

Con list-style si raggruppano le seguenti tre proprietà:

list-style-type

list-style-position

list-style-image

Attraverso list-style è possibile influenzare il tipo di presentazione grafica dei punti elenco prima delle enumerazioni e i loro margini. Le specifiche menzionate sono elencate separatamente da una virgola. L'ordine non ha importanza. Inoltre, non è necessario specificare un valore per ogni proprietà.

Un esempio:

<!DOCTYPE html>
 <html>
 <head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
 <style>
 ul {
    list-style:square;
 }
 </style>
 </head>
 <body>
 <ul>
 <li>HTML</li>
 <li>CSS</li>
 <li>JavaScript</li>
 </ul>
 </body>
 </html>

Nel browser appare così:

HTML & CSS per principianti (Parte 35): Liste e Contatori

Simboli di elencazione grafica

È possibile specificare una propria immagine come simbolo di elencazione. Per farlo si utilizza la proprietà list-style-image. I valori seguenti sono ammessi:

url – il nome del file e opzionalmente il percorso dell'immagine

none – nessuna immagine viene visualizzata.

Un esempio:

ul { 
    list-style-image: url(bullet.gif); 
 }



Fate attenzione che il percorso dell'immagine specificato con URL sia corretto.

HTML & CSS per principianti (Parte 35): Liste e Contatori



Se viene specificato un percorso errato, i browser dovrebbero ricorrere a un simbolo di elencazione predefinito.

La posizione dei simboli di elencazione

Con list-style-position si stabilisce come devono comportarsi le numerazioni o i simboli di elencazione rispetto alla rientranza.

inside – la prima riga viene rientrata tanto da far combaciare simboli di elencazione e voce di elenco a sinistra.

outside – il simbolo di elencazione si trova a sinistra della voce di elenco.

Nell'esempio seguente vengono utilizzati i due valori inside e outside.

<!DOCTYPE html>
 <html>
 <head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
 <style>
 ul.a {
    list-style-position:inside;
 }
 ul.b {
    list-style-position:outside;
 }
 </style>
 </head>
 <body>
 <p>Una lista con inside:</p>
 <ul class="a">
 <li>HTML</li>
 <li>CSS</li>
 <li>JavaScript</li>
 </ul>
 <p>Una lista con outside:</p>
 <ul class="b">
 <li>HTML</li>
 <li>CSS</li>
 <li>JavaScript</li>
 </ul>
 </body>
 </html>

In questo modo è possibile vedere direttamente le diverse conseguenze che questi due valori hanno effettivamente.

HTML & CSS per principianti (Parte 35): Liste e Contatori

Personalizzare l'aspetto dei simboli di elencazione

Per i simboli di elencazione è possibile specificare esplicitamente l'aspetto. È inoltre possibile influenzare la visualizzazione delle liste numerate. Si utilizza la proprietà list-style-type. Tra i valori ammessi per questa proprietà ci sono i seguenti:

decimal – per le liste ol: numerazione 1, 2, 3 ecc.

lower-roman – per le liste ol: numerazione i., ii., iii. ecc.

upper-roman – per le liste ol: numerazione I., II., III., IV ecc.

lower-alpha o lower-latin – per le liste ol-: numerazione I., II., III., IV. ecc.

upper-alpha o upper-latin – per le liste ol: numerazione A., B., C., D. ecc.

disc – per le liste ul: cerchio pieno come simbolo di elencazione

circle – per le liste ul: cerchio vuoto come simbolo di elencazione

square – per le liste ul: rettangolo come simbolo di elencazione

none – né simboli di elencazione né numerazione

lower-greek – per le liste ol: numerazione con lettere greche

hebrew – per le liste ol: numerazione con lettere ebraiche

decimal-leading-zero – per le liste ol: numerazione con zero iniziale 0: 01., 02., 03., 04. ecc.

cjk-ideographic – per le liste ol: numerazione con caratteri ideografici

hiragana – per le liste ol: numerazione giapponese (con lettere minuscole)

katakana – per le liste ol: numerazione giapponese (con lettere maiuscole)

hiragana-iroha – per le liste ol: numerazione giapponese (con lettere minuscole)

katakana-iroha – per le liste ol: numerazione giapponese (con lettere maiuscole)

Nell'esempio seguente vengono utilizzate alcune delle varianti elencate.

<!DOCTYPE html>
 <html>
 <head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
 <style>
 ul.a {
    list-style-type:circle;
 }
 ul.b {
    list-style-type:square;
 }
 ol.c {
    list-style-type:upper-roman;
 }
 ol.d {
    list-style-type:lower-alpha;
 }
 </style>
 </head>
<body> 
   <ul class="a">   
      <li>HTML</li>   
      <li>CSS</li>
      <li>JavaScript</li>
   </ul> 
   <ul class="b">   
      <li>HTML</li>   
      <li>CSS</li>   
      <li>JavaScript</li> 
   </ul> 
   <ol class="c"> 
      <li>HTML</li>   
      <li>CSS</li>   
      <li>JavaScript</li> 
   </ol> 
   <ol class="d">   
      <li>HTML</li>   
      <li>CSS</li>   
      <li>JavaScript</li> 
   </ol> 
</body> 
</html>

Nel browser si ottiene l'immagine seguente:

HTML & CSS per principianti (Parte 35): Liste e Contatori

Contatori

Attraverso le liste ol è possibile numerare i contenuti. Tuttavia, in applicazioni più complesse, questa forma di numerazione non è realmente praticabile. Per questo, CSS offre un'alternativa con i contatori.

Di seguito vi mostro come utilizzare i contatori.

Innanzitutto, creo un nuovo contatore per l'elemento body.

body { 
    counter-reset: capitolo; 
 }

Grazie a questa definizione, il contatore capitolo esiste nel documento. Questo contatore può quindi essere utilizzato.

h1 { 
    counter-increment: capitolo; 
 }



Attraverso la sintassi mostrata, il contatore viene automaticamente incrementato di 1 ogni volta che appare un nuovo elemento h1. Tuttavia, al momento non si vede ancora nulla della numerazione. Questo problema viene risolto facilmente utilizzando i pseudo-elementi.

h1::before {
   content: counter(capitolo) ". ";
 }



Un'applicazione completa potrebbe apparire così:

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 body {
    counter-reset: capitolo;
 }
 h1 {
    counter-increment: capitolo;
 }
 h1::before {
    content: counter(capitolo) ". ";
 }
 </style>
 </head>
 <body>
 <h1>Capitolo</h1>
 <h1>Capitolo</h1>
 </body>
 </html>

Ecco come appare il risultato nel browser:

HTML & CSS per principianti (Parte 35): Liste e Contatori



Negli esempi è mostrato come i contatori siano potenti.