Подтвердить что ты не робот

Можно ли использовать любую другую TAG внутри <ul> вместе с <li>?

Можно ли использовать любую другую TAG в <ul> вместе с <li>?

как

<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>
4b9b3361

Ответ 1

Чтобы ваш код был действительным, вы не можете поместить любой тег внутри <ul>, кроме <li>.

Однако вы можете поместить любой элемент уровня блока внутри <li>, например:

<ul>
        <li>
            <h2>...</h2>
            <p>...</p>
            <p>...</p>
        </li>
</ul>

Ответ 2

В соответствии с Рекомендацией W3C основная структура списка должна быть:

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

Теги p можно размещать только внутри тегов li, а не как прямые дочерние элементы ul. В Рекомендации W3C четко указано:

Списки

состоят из последовательностей элементов списка, определенных элементом LI

Ответ 3

Хотя у вас могут быть другие теги внутри (и это может сработать нормально), вы не должны, потому что это не w3c-совместимый. Это также очень мало смыслового смысла.

Просто создайте простую страницу и запустите ее в валидаторе (http://validator.w3.org/), и вы сами убедитесь:)

Ответ 4

Нет, это будет неправильная разметка. Однако, если вы пытаетесь добиться отличного внешнего вида некоторых строк, вы можете сделать это, добавив вместо этого конкретное имя класса в любой тег li. См. Ниже:

<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>

Ответ 5

Вы можете использовать шаблонный тег, и он полностью легален. Например:

<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>

Ответ 6

Нет. Если он содержит список, в нем есть элементы списка. Я не вижу никакого использования для списка с не-списками в нем; это не список...

Ответ 7

Вы можете пишете такую ​​отметку, но не должны, поскольку она не соответствует требованиям, и вы можете получить странные и неожиданные результаты в разных браузерах.

Ответ 8

если вы это сделаете, чтобы создать часть элемента списка, вы можете сделать это

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

а затем используйте CSS

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

надеюсь, что это поможет

Ответ 9

Определенный ответ Knockout.js, вы можете использовать следующий синтаксис комментария.

<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>