2010-09-15 2 views
4

Действительно ли это alright, чтобы разместить теги div внутри якорных тегов? Будет ли содержимое div перенаправлять страницу на href метки привязки?XHTML: Размещение DIVs в тегах A

+1

Ваш XHTML не будет проверять, если поместить элемент уровня блока внутри элемента инлайн-уровня , – Kevin

+0

Спасибо, Кевин. – Francisc

ответ

9

Можно ли разместить теги div внутри якорных меток?

Да, если:

  1. Вы используете HTML5/XHTML5; и
  2. Якорный тег не является встроенным. т. е. потомок элемента, который допускает только кодирование содержимого.

В противном случае нет.

В 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> 

не либо.

+0

Благодарим вас за дополнительные разъяснения. – Francisc

1

Нет, это, безусловно, недействительный HTML.

-Все содержимое div перенаправляет страницу на href метки привязки? Я не настолько уверен в том, что вы имеете в виду на этом. Но это не содержание div, за которым следует якорь, но атрибут href привязки.

+0

Хорошо, спасибо. Никаких элементов уровня блока внутри элементов, не получил. – Francisc

+0

@Francisc - Более конкретно, никаких элементов уровня блока внутри встроенных элементов. Ниже приведены некоторые примеры встроенных элементов: a, strong, span –

1

Если то, что вы пытаетесь достичь, это ссылка на уровне блоков, вы можете просто использовать CSS:

a.block { 
    display: block; 
    /* everything else */ 
} 

<a class="block">...</a> 
Смежные вопросы