Вариант 1
В HTML5 есть элементы figure
и figcaption
, которые, как мне кажется, работают очень хорошо.
Пример:
<figure>
<figcaption>Fruit</figcaption>
<ul>
<li>Apple</li>
<li>Pear</li>
<li>Orange</li>
</ul>
</figure>
Затем их легко стилизовать с помощью CSS.
Вариант 2
Использование псевдоэлемента :: before в CSS3 может быть хорошим решением:
HTML:
<ul title="Fruit">
<li>Apple</li>
<li>Pear</li>
<li>Orange</li>
</ul>
CSS:
ul[title]::before {
content: attr(title);
/* then add some nice styling as needed, eg: */
display: block;
font-weight: bold;
padding: 4px;
}
Конечно, вы можете использовать другой селектор, чем ul[title]
; например, вы можете добавить класс title-as-header и использовать вместо него ul.title-as-header::before
или все, что вам нужно.
У этого побочного эффекта есть всплывающая подсказка для всего списка. Если вам не нужна такая подсказка, вы можете вместо этого использовать атрибут данных (например, <ul data-title="fruit">
и ul[data-title]::before { content: attr(data-title); }
).