тип документа не допускает здесь элемент «div»; отсутствует один из «object», «ins», «del», «map», «button» start-tag

#html

#HTML

Вопрос:

Проверка W3C выдает мне вышеупомянутую ошибку в следующей строке:

 <div id='main' style='border:1px solid #999;'>
  

в следующем коде:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><body>
<p>
    <label for="wrap">Quick Reference:</label>
    <div id='main' style='border:1px solid #999;'>
        <div id='wrap' ></div>
    </div>
</p>
</body>
</html>
  

Заранее спасибо

Комментарии:

1. Где ваши теги <!DOCTYPE><html><body>? Вы знаете, что такое правильная структура html?

2.A <div> не может быть дочерним для <p> элемента.

3. Да, но когда я удаляю элементы <p>, я получаю эту ошибку: тип документа не допускает здесь элемента «label»; отсутствует один из «p», «h1», «h2», «h3», «h4», «h5», «h6», «div», «pre», «address», «fieldset», «ins», «del» start-tag

4. Там есть мои теги doctype, html и body. Я просто не включил их для ясности.

5. Вы хотите сказать, что единственные вещи, которые вы нам не показываете, — это элементы wrapping <body> и <html> ? И предыдущий <!DOCTYPE> ? Я бы посоветовал включить ваш полный HTML, потому что то, что вы опубликовали, является недопустимым HTML (из-за того, что он <div> заключен в <p> ), но если ошибка сохраняется, это говорит о том, что что-то еще идет не так.

Ответ №1:

Вы не можете иметь div внутри абзаца, а содержимое, которое у вас есть, не похоже на абзац. Замените p на div (который является общим контейнером уровня блока для случаев, когда более подходящий элемент не существует в HTML).

Кроме того, метки обозначают элементы управления формой, а не divs. Вероятно, у вас должен быть заголовок (возможно, h1 но более вероятно h2 , если бы было больше контекста), а не label . Заголовки также не могут отображаться внутри абзацев.