Является ли что-либо, кроме 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>
Ответы
Ответ 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> <!--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>
<ul>
<li>1.1</li>
<li>1.2</li>
<li>1.3</li>
</ul>
</li>
</ol>