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

Является ли что-либо, кроме LI, разрешенным в UL?

Мы получаем некоторый подозрительный HTML от нашего дизайнера. Имеет ли значение следующее: (обратите внимание на UL внутри UL)

<ul>
    <li>1</li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
    <li>2</li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
</ul>
4b9b3361

Ответ 1

В соответствии с спецификациями HTML 4 спецификации XHTML 2 и спецификации HTML 5, что код недействителен.

HTML 4

< ELEMENT UL - - (LI) +

Это означает, что внутри a <ul> могут быть только несколько элементов <li>.

XHTML

Оба типа списков (ul|ol) состоят из последовательностей элементов списка, определенных элементом LI.

HTML 5

Модель контента:
    Ноль или более LI и script -поддерживая.

Обратите внимание, что script -поддерживающие элементы - это элементы, которые не отображаются, и в настоящее время включают только <script> и <template>.

Ответ 2

Нет, это неверно. Единственными допустимыми элементами внутри ul являются li.

Исправленный образец:

<ul>
    <li>
        <span>1</span>
        <ul>    
            <li>1.1</li>
            <li>1.2</li>
            <li>1.3</li>
        </ul>
    </li>
    <li>
        <span>2</span>
        <ul>    
            <li>1.1</li>
            <li>1.2</li>
            <li>1.3</li>
        </ul>
    </li>
</ul>

Не позволяйте вашему дизайнеру писать HTML-код для вас. Нанять стороннего разработчика, который действительно знает, как бороться с HTML и XHTML.

Ответ 3

Это действительно недействительно; что, вероятно, означало следующее:

<ul>
  <li>1
    <ul>
    <!-- ... -->
    </ul>
  </li>
</ul>

Также, что ваш дизайнер пишет HTML?

Ответ 4

Это неверно. Чтобы создать вложенные списки, вы должны поместить тег ul внутри тега li:

<ul>
<li>1</li>
<li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
</li>
<li>2</li>
<li>
    <ul>    
        <li>1.1</li>
        <li>1.2</li>
        <li>1.3</li>
    </ul>
</li>

Ответ 5

Вам следует искать информацию о стандартах HTML на сайте W3C. Для элементов списка вы можете найти его здесь: http://www.w3.org/wiki/HTML/Elements/ul. Он говорит, что ul должен содержать только элементы li. В вашем коде вложенный ul должен быть помещен внутри li.

Ответ 6

Недействителен. Я просто проверил проверку validator.w3.org

Вот ошибка

Строка 6, столбец 8: тип документа не допускать здесь элемент "ul"; при условии, отсутствует "li" start-tag

Ответ 7

Это не только недействительно, но <li>1</li> не обязательно. Почему бы и нет:

<ol>
  <li>&nbsp; <!--if no content, some browsers render nested li on same line-->
    <ul>
      <li>1.1</li>
      <li>1.2</li>
      <li>1.3</li>
    </ul>
  </li>
  <li>&nbsp;
    <ul>
      <li>1.1</li>
      <li>1.2</li>
      <li>1.3</li>
    </ul>
  </li>
</ol>