質問: CSSだけでは無理かもしれないのですが、もし出来る方法があれば教えていただきたいです。 まず前提で以下のようなHTMLがあります。 ``` xxx aaa bbb ccc yyyyy ddddd eeeee fffff ``` この構造を変えることはできません。 aaa や ddddd を p や div などで囲むことや h1 を div で囲むこと、 h1 の中に span を入れる等はできません。 h1 がある理由で inline-block になっています。 そのままだと aaa や ddddd が h1 のとなりに来てしまいますが、それをどうにか改行させて h1 が block であるような見た目にしたいです。 h1 が inline-block の理由ですが、 :before/:after を使い ``` *** xxx *** ***** yyyyy ***** ``` のように上下に文字のサイズに合わせた背景を設定しているからです。 `display: block;` だと :before/:after を文字幅に合わせたwidthにできません。 ロード後に JS で処理するならどうにもできるのですが、出来る限りCSSのみで終わらせたいです。 何か方法ありますでしょうか?
回答: ``` h2 + *:before { content: " "; display:block; } ``` こういうのじゃダメかな?