2009-11-11 8 views
11

Валидатор W3C говорит мне, что я не могу поместить элементы уровня блока внутри встроенных элементов. Делает смысл ...Элементы уровня блока внутри встроенных элементов

но что делать, если я использую CSS для изменения этого элемента уровня блока в встроенный элемент?

А что, если я использую CSS для преобразования встроенного элемента в элемент уровня блока (когда внутри другого встроенного элемента)?

Валидатор не понимает это явно, но не так ли?

(я на самом деле не делать этого, я просто интересно, о лучших практиках)

ответ

7

Элемент определяется как блочный элемент в HTML спецификации не то же самое, как элемент определяется как display: block; в CSS ,

С этим я имею в виду: Даже если вы скажете <p style="display: inline;">Lorem...</p>. <p> по-прежнему будет блочным элементом в глазах HTML.

HTML, CSS и JavaScript, если используются правые, имеют loose coupling друг к другу и что они не должны зависеть от другого и что отсутствие одного не должно приводить к сбою других (или всей системы).

2

Элемент, который является встроенным элементом, не должен содержать элементы блока. Элементы блока могут содержать блок и/или встроенные элементы, в то время как встроенные элементы могут содержать только другие встроенные элементы (включая inline-block, например <img>).

Вы можете, конечно, сделать это в любом случае, так как графическое представление будет довольно согласованным между браузерами. Это все еще не то, что я бы рекомендовал, но и не могу думать о причине сделать это.

Смежные вопросы