Не задавались вопросом, почему так a > span сделано в PHPStorm? Потому что есть такое понятие как семантика. Блочные элементы не могут быть встроены в линейные.
Да, но с выходом последней версии HTML допустимо встраивать блочные элементы в линейные и тот же Валидатор не ругается на подобное. Возможно просто в шторме это еще не поправили
Php Storm, ваш комментарий удалили так как он бессмысленный был. Вам доказать очевидные вещи не получилось, попробую дать ссылку на спецификацию Антон, может он умеет думать, в отличии от вас :)
y0u, всё правильно сказал. Спецификация HTML5 позволяет встраивать блочные элементы в тег A. Для меня это дико, но спецификация есть спецификация. По-моему, тут не причин для споров.
Php Storm, где там написано про тег P? Там сказано "The a element may be wrapped around entire paragraphs, lists, tables, and so forth, even entire sections, so long as there is no interactive content within (e.g. buttons or other links)". Тебе перевести? Элемент A может быть обернут вокруг параграфов, списков, таблиц и даже секций до тех пор, пока они не имеют интерактивного контента (кнопок или других ссылок). Это говорит о том, что если я сделаю как ты предлагаешь - так делать нельзя, потому что внутри A будет находится ещё один A, а так делать нельзя.
<!-- Так делать нельзя -->
<a href="#">
<p><a href="#">LINK</a></p>
</a>
<!-- Так делать можно -->
<a href="#">
<p>Ты глупый</p>
</a>
<a href="#">
<div>Учись читать</div>
</a>
Далее, "Although previous versions of HTML restricted the a element to only containing phrasing content (essentially, what was in previous versions referred to as “inline” content), the a element is now transparent; that is, an instance of the a element is now allowed to also contain flow content (essentially, what was in previous versions referred to as “block” content)". Это означает, что предыдущие версии HTML ограничивались только встраиванием строчного контента в А, но теперь, элементу А разрешено встраивать в себя блочные элементы. ЗДЕСЬ ЭТО ЯВНО НАПИСАНО! Алфавит почитай, если не справляешься с этим.
Дальше. В той ссылке, что ты давал на HTMLBOOK - это статья 2010 года и там есть комментарий от МОДЕРАТОРА САЙТА, который говорит о том, что статья устарела, теперь блочные элементы можно вставить в тег А. Даже модератор твоего любимого сайта говорит об этом :))
Как бы я не хотел попасть с тобой в одну команду :) В спецификации нигде не говорится про P, нигде! В примере там используется P, но там так же есть ещё и SECTION - что тоже является блочным элементом. Причем тут тогда P? Одумайся пока не поздно)
Php Storm,
1. не только текст. Внутри блочного элемента может быть ещё один блочный элемент.
2. "кто будет дописывать" - в спецификации выше сказано, я тебе уже написал "можно встроить блочный элемент если он не имеет интерактивного контента (ссылок и кнопок). Разве это я не указал, когда давал ссылку на спецификацию?
3. "размещать блочные элементы в строчных - нельзя". То есть для тебя блочный элемент является полноценным, если там можно размещать ссылки? А если нельзя, то он не полноценный и это автоматически считается, что его нельзя встроить в строчные :D
Сергей Горностаев, я себе дал обещание не спорить с этим петухом, но не сдержался)
нужно просто перестать отвечать ему. никто из нас не планировал быть его учителем, потому если человек не вникает в суть разговора и не хочет думать - зачем ему что-либо вообще отвечать + админы всё равно почистят эти комменты, так что нужно просто уйти от этого разговора. Жаль на тостере нельзя добавить в мут человека, потому что я то может и забью, а вот оповещения от него мне по прежнему будут приходить.
Прямым текстом написано, что нельзя вкладывать a внутрь a. Тег p можно убрать, эффект будет тот же. А вот если убрать ссылку, то можно хоть 10 тегов p с произвольной вложенностью вставить.