Например:
Это в порядке
<div>
<p>some <strong>long</strong> text</p>
<strong>- end -</strong>
<p>some long text</p>
</div>
Или это более семантически корректно?
<div>
<p>some <strong>long</strong> text</p>
<p><strong>- end -</strong></p>
<p>some long text</p>
</div>
Если это не абзац, то его не следует обозначать абзацем. (Спецификация HTML объясняет , как читать DTD, чтобы определить, какие элементы разрешены в данной точке документа.)
- end -
... однако, я не знаю, что это такое. Вы должны следовать обычным правилам грамматики.
Академический ответ: оба они совместимы с XHTML. Практический ответ: браузеры не дадут об этом sh@t
.Если контент не является абзацем, значит, он не семантический, чтобы отметить его как таковой.
Если ваш конечный маркер предназначен для чтения, то остается спорным, действительно ли это абзац или нет. Если он не предназначен для чтения, он не должен быть размечен тегами, ориентированными на чтение, например
, а должен быть в диапазоне или div с таблицей стилей, применяемой для увеличения веса шрифта. смелый.
В спецификации не сказано, что вы должны это делать. Валидатор рад, что вы поместили его в какой-то другой контейнер уровня блока.
Мне кажется, что "- end -" - это случай для
или p:after{content:"-end-"}
Как вы упомянули, нижний вариант более семантически верен, поскольку тег
является не элемент уровня блока, что означает, что вам нужно обернуть его в
. В противном случае я уверен, что вы столкнетесь с проблемами, когда попытаетесь проверить свой HTML.