Есть ли способ сделать вложенный список проверки? - PullRequest
2 голосов
/ 06 декабря 2011

Этот список, похоже, выдает ошибку при попытке использовать валидатор w3c:

<ul class="navtest" >
    <ul>
        <li><a href="url.php">Fall Catalog</a></li>
        <li><a href="url.php">Contact us</a></li>
    </ul>
</ul>

Я получаю ошибку: Строка 94, Столбец 12: стартовый тег для "LI" опущен, но его объявление делаетне разрешать это

        <ul>

Есть ли что-то, что я делаю не так?Использование: HTML 4.01 Transitional

Ответы [ 4 ]

6 голосов
/ 06 декабря 2011
<ul class="navtest" >
<li>
    <ul>
        <li><a href="url.php">Fall Catalog</a></li>
        <li><a href="url.php">Contact us</a></li>
    </ul>
</li>
</ul>

пропавших без вести

2 голосов
/ 06 декабря 2011

Согласно spec , единственный элемент, который может содержать UL, это один или несколько LI элементов.

См. Фрагмент DTD:

<!ELEMENT UL - - (LI)+                 -- unordered list -->

Вы можете поместить второй список в элемент списка:

<ul class="navtest" >
  <li>
    <ul>
        <li><a href="url.php">Fall Catalog</a></li>
        <li><a href="url.php">Contact us</a></li>
    </ul>
  </li>
</ul>
1 голос
/ 27 апреля 2019

Выше ответили на ваш вопрос.Эта ссылка даст вам более подробную информацию, почему эта проблема возникла в валидаторе:

https://www.codecademy.com/en/forum_questions/52a217227c82ca0e9b000c21

Единственный вход, который может принимать элемент UL, - это элемент LI.Поскольку вы можете вставить элемент UL в элемент LI, вы должны поместить закрывающий тег LI после вложенного кластера UL / LI.В противном случае вы просто вкладываете UL в UL, что недопустимо.

TL / DR: вложите UL / LI внутрь LI, а не в UL.

1 голос
/ 06 декабря 2011

Это потому, что вам просто не разрешено помещать <ul> внутри другого <ul>, не вкладывая его в <li>.

Мой вопрос к вам: почему вы используете стандарт?от 99?

...