Если вы хотите перейти на CSS3 , то селектор first-of-type
- это именно то, что вы пытаетесь выполнить.
Вот пример: http://jsfiddle.net/m3yrR/1/
first-of-type
всегда будет выбирать первое вхождение элемента на любом уровне. Так что для вашего случая это будет стиль <h2>
на любом уровне дерева разметки. Конечно, вы можете использовать более конкретные селекторы, чтобы ограничить, где он будет выбран. :)
В противном случае, да, вам придется сделать что-то вроде обернуть это в другой <div>
, убедиться, что это первый элемент, а затем выполнить div > h2:first-child
. Или просто h2:first-child
, если вы хотите быть менее конкретным.
Просто убедитесь, что это первый дочерний элемент (!!) своего родителя, и будьте конкретны, как вам необходимо в иерархии parent-child.