2010-03-22 1 views
3

Элемент HTML <body> может содержать только элементы блока, такие как <p>. Если я объявляю встроенный элемент, например <span>, который должен быть display: block с использованием CSS, это делает следующий HTML-код корректным?Является ли атрибут блока CSS влиять на корректность HTML?

<!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" lang="en" xml:lang="en"> 
    <head> 
    <title>Title</title> 
    </head> 
    <body> 
    <span style="display: block;">Hi!</span> 
    </body> 
</html> 
+1

Вы всегда можете использовать http://validator.w3.org/ для проверки – Kane

+0

Попробуйте избегать таких терминов, как «хорошо сформированный» с HTML. Хорошо сформированность - это концепция XML. Как XML, ваш образец хорошо сформирован независимо от значения атрибута «style». «Valid» или «Conforming» являются подходящими условиями для измерения правильности HTML. - И CSS * никогда * не изменяет корректность HTML. – Alohci

+0

Может быть, так, но он указывает там DTD XHTML-strict, так что технически это * IS * xml –

ответ

4

<span> является встроенным элементом и не является допустимым прямым потомком <body>. Атрибут CSS display не изменяет этого.

1

Вы проверили, есть ли it validated (это не так)? Спецификации для XHTML и HTML применимы только к самим себе, они не очень сильно пересекают границы спецификациями CSS. Таким образом, не будет нигде в определении, которое проверяет значение атрибута style для определенного свойства CSS для проверки документа.