Какой подходящий способ упаковки субтитров?

#html

#HTML

Вопрос:

У меня есть заголовок и подзаголовок примерно так:

Программист

Спасаем мир с помощью байкшед и perl-хаков.

Который я представляю следующим образом:

 <h1>The Programmer</h1>
<p><strong>Saving the world with bikesheds and perl hacks.</strong></p>
  

Однако, возможно, это более уместно:

 <h1>The Programmer</h1>
<p class="subtitle">Saving the world with bikesheds and perl hacks.</p>
  

Но поскольку, похоже, имеет смысл поместить subtitle класс в элемент, не было бы лучше:

 <h1>The Programmer</h1>
<h2>Saving the world with bikesheds and perl hacks.<h2>
  

Какой был бы более подходящим?

Комментарии:

1. @Oded — Меня бы заинтересовали оба варианта, если в HTML5 есть более семантический способ, это скорее вопрос любопытства, чем практической проблемы.

Ответ №1:

В HTML4 я бы, возможно, выбрал ваш второй подход, но изменил название класса на tagline, если вам не совсем удобно иметь класс subtitle в теге, не являющемся заголовком:

 <h1>The Programmer</h1>
<p class="tagline">Saving the world with bikesheds and perl hacks.</p>
  

В HTML5 вы могли бы использовать тег <section> , <header> и <hgroup> и обернуть версию <h1> и <h2> , получив что-то вроде:

 <section>
    <header>
        <hgroup>
            <h1>The Programmer</h1>
            <h2>Saving the world with bikesheds and perl hacks.<h2>
        </hgroup>
    </header>
    ...
</section>
  

(В качестве альтернативы вы могли бы использовать <article> тег вместо <section> тега — или любого другого разделяющего тега — из-за изменения способа, которым HTML5 обрабатывает структуру документа).

Ответ №2:

Ну, я думаю, что использование правильной разметки более уместно, если это заголовок (например, начало главы), который вы определенно должны использовать <h2> . Если это просто способ подчеркнуть контент, я думаю, лучше использовать класс CSS, чтобы вы объяснили, что это такое.

Если вы используете html 5, вы можете быть заинтересованы в теге <header >, как в этом примере:

 <header>
    <h1>The most important heading on this page</h1>
    <p>With some supplementary information</p>
</header>

<article>
<header>
    <h1>Title of this article</h1>
    <p>By Richard Clark</p>
</header>
    <p>...Lorem Ipsum dolor set amet...</p>
</article>
  

здесь и здесь приведена краткая информация о теге header в html5.

Вы также можете прочитать эту главу «Погружение в html5» для получения более полной справки (прочитайте всю книгу, пока вы за ней, это хорошо!)

Ответ №3:

Иногда такие «субтитры» представляют собой скорее тизер или краткое описание (но в вашем случае это действительно похоже на подзаголовок); если вы считаете, что это часть заголовка, вы можете вставить его в <h1> тег и выполнить специальное форматирование. Это просто вопрос семантики: если вы считаете, что это скорее часть заголовка или больше часть тела, или ни то, ни другое.

Я бы сказал, что мое предложение было бы более подходящим семантически и для программ чтения с экрана в данном конкретном случае. Но второй вариант тоже работает хорошо, если предположить, что это не слишком объемные описания.

Ответ №4:

Первый выглядит хорошо. второй подход тоже хорош, но для этого вам нужно написать класс css.