Mam techniczne wyjaśnienie, dlaczego element <p>
nie może zawierać elementu <ul>
. Niestety nie pomaga mi to, gdy taka jest struktura treści.Jaki jest właściwy sposób umieszczania list w akapicie w HTML5?
w Meta, rozumiem ani
- semantyczne wyjaśnienie, ani
- zalecana struktura
w przypadkach, gdy tak naprawdę chcą pokazać listę elementów „inline” z normalną zadowolony.
This page sugeruje albo oddzielenie listę z paragrafów:
<p>For instance, this fantastic sentence has bullets relating to</p>
<ul>
<li>wizards,
<li>faster-than-light travel, and
<li>telepathy,
</ul>
<p>and is further discussed below.</p>
lub przy użyciu znacznika alternatywną dla akapitu:
<div>For instance, this fantastic sentence has bullets relating to
<ul>
<li>wizards,
<li>faster-than-light travel, and
<li>telepathy,
</ul>
and is further discussed below.</div>
Ale oba te wydaje mi się straszne hacki które czynią pośmiewisko o rzekomej treści semantycznej HTML5. W jaki sposób znacznik <p>
ma znaczenie semantyczne? Nie wspominając już o praktycznej trudności w poprawnym ukształtowaniu tego, jeśli chcę wyeliminować odstępy wokół listy (a jeśli mam inne listy, które naprawdę są oddzielnymi blokami treści - oy!)
W drugim przypadku, jeśli Muszę mieć <div>
, co oznacza "jest to akapit zawartości" Mogę równie dobrze po prostu upuścić <p>
całkowicie, a nie trzeba przełączać się tam iz powrotem w zależności od treści pojawiającej się w akapicie.
ISTM że najbardziej sensowne semantycznie wersja może być coś takiego:
<p>For instance, this fantastic sentence has bullets relating to
<span class="li">wizards,</span>
<span class="li">faster-than-light travel, and</span>
<span class="li">telepathy,</span>
and is further discussed below.</p>
z przęseł urządzonych jako blok lub lista przedmiotów (a kto wie, jakie inne szczypie), aby uzyskać świadczenie rację. Praktycznie brzmi to jak strasznie dużo niepokoju.
Czy istnieją jakieś dobre zalecenia dotyczące renderowania tego rodzaju treści?
Edit
To nie jest właściwie wszystko, co trudne do stylu, jak się wydaje. Nie jestem pewien, czy istnieje sposób, aby zebrać wszystkie domyślne ustawienia przeglądarki, ale mogę powtórzyć domyślny styl listy (na OS X Chrome, przynajmniej) z:
span.li {
display: list-item;
list-style-type: disc;
margin-left: 40px;
}
Nawiązując do własnego postu tutaj, technika rozpiętość stylu nie dla list numerowanych w Firefoksie powodu [długotrwałymi bug] (https: //bugzilla.mozilla.org/show_bug.cgi?id=4522). – Adam