Действительно ли необходимо перенестись <сильный>, <их>, <b>, <i> внутри <p> тег, если содержание не является абзацем?

Например:

Это в порядке

<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>
9
задан Jitendra Vyas 10 February 2010 в 13:31
поделиться

6 ответов

Если это не абзац, то его не следует обозначать абзацем. (Спецификация HTML объясняет , как читать DTD, чтобы определить, какие элементы разрешены в данной точке документа.)

- end -

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

6
ответ дан 4 December 2019 в 19:33
поделиться

Академический ответ: оба они совместимы с XHTML. Практический ответ: браузеры не дадут об этом sh@t

.
3
ответ дан 4 December 2019 в 19:33
поделиться

Если контент не является абзацем, значит, он не семантический, чтобы отметить его как таковой.

Если ваш конечный маркер предназначен для чтения, то остается спорным, действительно ли это абзац или нет. Если он не предназначен для чтения, он не должен быть размечен тегами, ориентированными на чтение, например , а должен быть в диапазоне или div с таблицей стилей, применяемой для увеличения веса шрифта. смелый.

1
ответ дан 4 December 2019 в 19:33
поделиться

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

1
ответ дан 4 December 2019 в 19:33
поделиться

Мне кажется, что "- end -" - это случай для


или p:after{content:"-end-"}

1
ответ дан 4 December 2019 в 19:33
поделиться

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

. В противном случае я уверен, что вы столкнетесь с проблемами, когда попытаетесь проверить свой HTML.

0
ответ дан 4 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: