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

Почему теги <style> в теге HTML <body> проверяются на W3C?

Возможный дубликат:
Есть ли <STYLE> должны находиться в <HEAD> HTML-документа?

Я - часть команды, которая разработала систему CMS.

Мы хотели бы иметь возможность вставлять теги <style> в <body> HTML-страницы таким образом, чтобы это подтверждалось стандартами W3C, поскольку проверка является требованием нашего консультанта по SEO.

Тег стиля отлично работает в теге тела во всех браузерах, но он отказывается проверять.

4b9b3361

Ответ 1

HMTL DTD не позволяет этого, поэтому он не проверяет. Неважно, все браузеры поддерживают его в любом случае.

Ответ 2

Спецификация HTML 4 указывает, что предполагается, что она находится внутри элемента HEAD, а не элемента BODY. См. Также этот связанный (дублирующий?) Вопрос

does-style-have-to-be-in-the-head-of-an-html-document

W3C HTML 4.01 ref on <style>

HTML разрешает любое количество элементов STYLE в разделе HEAD документа.

Ответ 3

Элементы

<style> содержат метаданные, которые относятся ко всему документу. Это то, что элемент <head> был предназначен для хранения. Это просто имеет смысл для них жить в голове, так что там, где спецификация требует, чтобы они были.

Ответ 4

Буквально тег <style> в теге <body> не проверяет, потому что все спецификации HTML говорят, что он не может быть там.

Что касается того, почему спецификации говорят, что я не знаю. Требование по-прежнему находится в последней спецификации HTML, и в последнее время все, что работает в реальном мире, которые были запрещены предыдущими спецификациями (например, исключение атрибута type в теге <style>), разрешено, поэтому Im предполагает, что причина, по которой требование все еще существует.

Я предполагаю, что есть некоторые случаи, когда включение тега <style> в тело делает работу страницы более сложной/медленной/менее надежной.

Ответ 5

С чем вы подтверждаете? HTML, XHTML Transitional, XHTML strict?

Возможно, потому, что встроенные стили недействительны в XHTML Strict. Вместо этого вам нужно использовать class="foo" и определить foo внутри файла CSS.