it-swarm.com.de

Können wir zusammen mit <li> einen anderen TAG in <ul> verwenden?

Können wir in <ul> zusammen mit <li> einen anderen TAG verwenden?

mögen

<ul>
Some text here or <p>Some text here<p> etc
<li>item 1</li>
Some text here or <p>Some text here<p> etc
<li>item 1</li>
</ul>
36
Jitendra Vyas

Damit Ihr Code gültig ist, können Sie keine Tags in einen anderen <ul> einfügen als einen <li>.

Sie können jedoch jedes Block-Level-Element in den <li> einfügen, z.

<ul>
        <li>
            <h2>...</h2>
            <p>...</p>
            <p>...</p>
        </li>
</ul>
44
Jonny Haynes

Gemäß der W3C-Empfehlung muss die Grundstruktur einer Liste sein:

<UL>
   <LI> ... first list item...
   <LI> ... second list item...
   ...
</UL>

Sie können p-Tags nur in li-Tags einfügen, nicht als direkte Kinder von ul. In der W3C-Empfehlung heißt es ausdrücklich:

listen bestehen aus Sequenzen von Listenelementen, die vom LI-Element definiert werden

11
ЯegDwight

Sie könnten zwar andere Tags enthalten (und es funktioniert prima), sollten Sie jedoch nicht tun, da sie nicht W3C-kompatibel sind. Es macht auch sehr wenig semantischen Sinn.

Erstellen Sie einfach eine einfache Seite und führen Sie sie über den Validator ( http://validator.w3.org/ ) aus. Sie werden es selbst sehen :)

5
marcgg

Sie können das Template-Tag verwenden und es ist absolut legal. Zum Beispiel:

<ul>
**<template>**Some text here or <p>Some text here<p> etc**</template>**
<li>item 1</li>
**<template>**Some text here or <p>Some text here<p> etc**</template>**
<li>item 1</li>
</ul>
2
Umair Hamid

Nein, das wäre ein ungültiges Markup. Wenn Sie jedoch versuchen, für einige Zeilen ein anderes Erscheinungsbild zu erzielen, können Sie dies tun, indem Sie stattdessen einen beliebigen Klassennamen zu einem beliebigen li-Tag hinzufügen. Siehe unten:

<ul>
    <li class="foobar">Label</li>
    <li>Some text here</li>
    <li>Some text here</li>
    <li class="foobar">Label</li>
    <li>Some text here</li>
    <li>Some text here</li>
</ul>
2
drdiv

Knockout.js spezifische Antwort, können Sie die folgende Kommentar-Syntax verwenden.

<ul>
    <li class="header">Header item</li>
    <!-- ko foreach: myItems -->
        <li>Item <span data-bind="text: $data"></span></li>
    <!-- /ko -->
</ul>

<script type="text/javascript">
    ko.applyBindings({
        myItems: [ 'A', 'B', 'C' ]
    });
</script>
0
jps

Sie can schreiben eine solche Markierung, aber Sie sollten nicht, da sie nicht kompatibel ist und Sie in verschiedenen Browsern möglicherweise ungewöhnliche und unerwartete Ergebnisse erhalten.

0
gingerbreadboy

wenn Sie dies tun, um einen Teil des Listenelements zu gestalten, können Sie dies tun

<ul>
  <li>normal text <span>bold text</span></li>
  <li>normal text <span>bold text</span></li>
</ul>

und dann das CSS verwenden

ul li {font-size: 12px; font-weight: normal;}
ul li span {font-size: 12px; font-weight: bold;}

hoffe das hilft

0
pixeltocode

Nein. Wenn es sich um eine Liste handelt, enthält es Listenelemente. Ich kann keine Liste für die Liste mit Nicht-Listenelementen sehen. es ist keine liste ...

0
Y. Shoham