Это alright
размещать теги div внутри тегов привязки? Будет ли содержимое div перенаправлять страницу на href тега привязки?
XHTML: размещение DIV в тегах A
comment
Ваш XHTML не будет проверяться, если вы поместите элемент блочного уровня внутрь элемента встроенного уровня.
- person Kevin   schedule 16.09.2010
Ответы (3)
Можно ли размещать теги div внутри тегов привязки?
Да, если:
- Вы используете HTML5/XHTML5; а также
- Тег привязки не находится во встроенном контексте. то есть потомок элемента, который позволяет только фразовое содержимое.
В противном случае нет.
В HTML5/XHTML5 элемент <a>
не просто встроенный элемент, как в HTML4/XHTML1. Вместо этого у него прозрачная модель содержимого, что означает, что правила проверки его содержимого такие же, как если бы его там не было.
Так например
<div>
<div>Hello World</div>
</div>
действителен, поэтому
<div>
<a href="#">
<div>Hello World</div>
</a>
</div>
слишком.
Но
<p>
<div>Hello World</div>
</p>
недействителен, поэтому
<p>
<a href="#">
<div>Hello World</div>
</a>
</p>
тоже нет.
person
Alohci
schedule
15.09.2010
Спасибо за дополнительные разъяснения.
- person Francisc; 16.09.2010
Нет, это определенно недопустимый HTML.
-Будет ли содержимое div перенаправлять страницу на href тега привязки? Я не совсем уверен в том, что вы имеете в виду в этом случае. Но это не содержимое div, за которым следует якорь, а атрибут href якоря.
person
lock
schedule
15.09.2010
Спасибо. Никаких блочных элементов внутри элементов, понял.
- person Francisc; 16.09.2010
@Francisc. В частности, нет элементов блочного уровня внутри встроенных элементов. Ниже приведены некоторые примеры встроенных элементов: a, strong, span.
- person Jordan S. Jones; 16.09.2010
Если вы пытаетесь получить ссылку на уровне блока, вы можете просто использовать CSS:
a.block {
display: block;
/* everything else */
}
<a class="block">...</a>
person
Casey Chu
schedule
15.09.2010