modo corretto di scrivere le liste
-
23-08-2019 - |
Domanda
Questa è una cosa che ho riflettuto sopra per un po ', come ho visto sia utilizzato nella pratica.
Metodo 1
<ol>
<li>List item 1</li>
<li>List item 2
<ol>
<li>List item 3</li>
</ol>
</li>
<li>List item 4</li>
</ol>
Questo sembra semanticamente corretto per me, dal momento che il sub-list è un sotto-elenco di quel elemento della lista, ma non è molto pulito (List Item Content<list right next to it>
).
Metodo 2
<ol>
<li>List item 1</li>
<li>List item 2</li>
<ol>
<li>List item 3</li>
</ol>
<li>List item 4</li>
</ol>
Cleaner, ma non è direttamente comprensibile la lista è un sotto-elenco di punto 2 (anche se è comprensibile per inferenza umana).
Questo è puramente una preoccupazione per il markup semantico tra l'altro, entrambi i metodi presentano lo stesso contenuto della pagina.
così così, cosa ne pensi? Fonti ove possibile sono preferibili, ma l'uso personale è buono. Ho notato che TOC heirachial di MediaWiki stanno usando il metodo 1 che mi incoraggia a credere che sia l'uso corretto.
Soluzione
Metodo 2 non è valido HTML. OL
non è consentito come un figlio diretto di un altro elemento OL
. Solo LI
è consentito in un OL
.
Inoltre, l'appartenenza della sottolista al punto 2 è evidente solo per un lettore umano a causa del rientro. Rendere il rientro anche con le LI
s, e sembra come se la lista interna è di per sé il terzo elemento. Potrei aspettare un rendering come questo, con due numeri:
1. List item 1 2. List item 2 3. 1. List item 3 4. List item 4
Il metodo 1 è la strada da percorrere.
Altri suggerimenti
Il metodo 1 è corretto.
HTML 4.01 permette solo gli elementi LI in un OL. Il tag di chiusura LI, tuttavia, è facoltativo. Il che significa che questo è equivalente al metodo 1:
<ol>
<li>List item 1
<li>List item 2
<ol>
<li>List item 3
</ol>
<li>List item 4
</ol>
E 'un po' ambigua a un lettore in cui la chiusura del LI sono -. Anche se la specifica è chiaro che sarebbe dopo OL di chiusura
XHTML 1.1 ha lo stesso restrizioni, ma le forze l'uso del LI chiusura per renderlo esplicito.