Валидатор пропустил тег AP, но он есть! - PullRequest
4 голосов
/ 29 ноября 2010

У меня есть следующая разметка:

<footer>
    <p id="foo">
        &copy;Copyright. <address><a href="" title="Web Development">Me</a></address>. Todos os direitos reservados.
    </p>
</footer>

Но W3 Validator (HTML 5) говорит:

Error Line 81, Column 20: No p element in scope but a p end tag seen.

                </p>

У меня есть тег ap.В чем дело?Спасибо.

Ответы [ 3 ]

14 голосов
/ 29 ноября 2010

Проблема: <p> не может содержать <address> блок

Вы можете вложить <p> в <address>!Блок <address> означает, что в нем есть информация об адресе.Его не нужно плотно оборачивать вокруг самого адреса.

http://www.whatwg.org/specs/web-apps/current-work/multipage/sections.html#the-address-element

2 голосов
/ 04 сентября 2012

Проблема с макетом:

Зачем в любом случае использовать обертку типа 'p или' div для кодирования макета?в качестве элемента уровня блока вы можете использовать 'adress непосредственно в качестве контейнера-контейнера и отформатировать его с любым CSS, как вам нравится.сохранить код минимальным и простым.

Семантическая проблема:

также вам не требуется перенос 'p для семантики, поскольку' адрес уже очень хорошо объясняет его содержимое.просто используйте его; -)

Синтаксическая проблема:

и да, другие ответы верны: 'p юридически содержит только inline- / inline-block-elementsбез элементов уровня блока

0 голосов
/ 29 ноября 2010

Это может быть связано с тем, что вы используете теги HTML5 (которые еще не завершены W3c).Так что просто используйте div, чтобы поддерживать проблемы с кросс-браузингом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...