Подобно тому, что сказал ADW, на самом деле я отредактирую его скрипку, чтобы помочь объяснить разницу.
В вашем описании вы явно описали h2 , за которым следует p , между которыми должна быть двойная граница.
Решение ADW достаточно хорошее, только если после h2 есть только один p, но если есть другой p, между абзацами будет странная красная линия. Вот почему мы должны выбирать только р, который следует сразу за h2.
Селектор CSS для p сразу после h2 равен h2 + p
Попробуйте это: http://jsfiddle.net/gR4qy/42/
h2 { border-bottom: solid pink;}
h2 + p { border-top: solid blue; }
В этом нет ничего нового. Это CSS 2.1! http://www.w3.org/TR/CSS2/selector.html
К сожалению, я ничего не могу придумать, чтобы избавиться от синей границы, если p отсутствует. Ты там сам по себе: S
Извините, мне нужно набрать 50 баллов, прежде чем я смогу комментировать, и я не знаю, как получить баллы, поэтому я поставил это как новый ответ: S