Gunnar Bittersmann: /CSS: li in li? Einfaches dumm gefragt.

Beitrag lesen

Hello out there!

In der Liste der HTML-Elemente steht etwas anderes als in den ausführlichen Beistpielen und deren Erklärungen.

Nein.

Zum einen heißt es:
"Zwischen <li> und </li> darf eine komplette weitere Liste stehen. [...]"

Eine _komplette_ Liste, aha.

In der Element-Referenz steht:

"li:
[...]
2. bei ol und ul:
[Block-Elemente] | [Inline-Elemente]"

Und was lehrt dich der Click auf "Block-Elemente"? Ist 'li' denn ein solches?

Das bedeutet doch ich kann folgendes tun:

<ul>
   <li><a href="#a">a</a></li>
   <li>Peter</li>
   <li><img src="URL"></li>
   <li>
      <li>1</li>
      <li>9</li>
      <li>B</li>
   </li>
   <li>Hase</li>
</ul>

Ist

         <li>1</li>  
         <li>9</li>  
         <li>B</li>

denn eine _komplette_ Liste?

die li's im li sind ja Inline-Elemente.

Hä??

Also erlaubt. oder doch verboten?

Natürlich letzteres.

Im Zweifelsfalle ist nicht SELFHTML _die_ Referenz, sondern die HTML-Spec [HTML401]

In der DTD [HTML401 §21, DTD] findest du:

<!ELEMENT LI - O (%flow;)* -- list item -->

'flow' wurde vorher definiert als (Link folgen):

<!ENTITY % flow "%block; | %inline;">

'block' wurde vorher definiert als (Link folgen):

<!ENTITY % block  
     "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |  
      BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">

'list' wurde vorher definiert als (Link folgen):

<!ENTITY % list "UL | OL">

Alle Beispiele von verschachtelten Links nutzen aber eine weitere ul im li. Wieso?

Die Antwort kannst du dir jetzt selbst geben.

Mein Problem ist u. a. dass: [...]
Verschachtel ich zwei ul's fehlt der Abstand, bzw Opera und Firefox scheinen den Abstand vom ersten li aus zu setzen. Ich würde erwarten dass der Abstand zum letzten li gehalten wird.

Von collapsing margins [CSS2 §8.3.1] hast du schon gehört?

See ya up the road,
Gunnar

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
See ya up the road,
Gunnar
--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)