これは、隣接する兄弟セレクターの代わりに一般的な兄弟セレクターを使用することである程度達成できます。~
+
h1~p
{
margin-left: 20px;
}
h2~p
{
margin-left: 27px;
}
h3~p
{
margin-left: 35px;
}
ただし、特に、、、および要素がすべて同じ親を共有している場合は、これに注意h1
してくださいh2
。スタイルのカスケード方法と兄弟セレクターの動作により、コンテナーの最後の見出しがまたはである場合でも、最後の要素に続くすべての要素に35ピクセルのマージンが与えられます。h3
p
p
h3
h1
h2
たとえば、このマークダウンがある場合:
#見出し1
段落
段落
##見出し2
段落
段落
###見出し3
段落
段落
##見出し2
段落
段落
ルールはカスケード順序の最後であり、すべての要素が同じ親を共有しているため、最後の4つの段落には35ピクセルのマージンがあります。これには最後の段落に続く2つが含まれます。これはあなたが達成しようとしている効果かもしれないし、そうでないかもしれません(私はそうではないと思います)。h2
h3~p
これに対する純粋なCSSの回避策はありません。恐れ入ります。レンダリングされたマークアップをJavaScriptで後処理して、見出しに基づいて段落にクラスなどを追加する必要があります。