見出し画像

CSSだけで作る角丸ラインマーカー (改行対応)

CSSだけで複数行(改行)対応のラインマーカーを引くことができます。
角丸になっているのがポイントです!

表示サンプル
<p>「これをお持ちなさい。生憎あいにくマツチを切らしましたから。」<br>
お持ちなさいと云ふのは煙草に添へる一番小型のマツチである。<br>
「貰ふのは気の毒だ。ぢや朝日あさひを一つくれ給へ。」<br>
「何、かまひません。お持ちなさい。」<br>
「いや、まあ朝日をくれ給へ。」</p>

HTMLは何の変哲もないただの文章です。

p {
  padding:0 10px;
  line-height:2;
  background: radial-gradient(circle at calc(100% - 7px) calc(100% - 7px), #ee2 7px, transparent 7px) ,
              radial-gradient(circle at 7px calc(100% - 7px), #ee2 7px, transparent 7px) ,
              linear-gradient(to bottom, #fff calc(100% - 14px), transparent calc(100% - 14px)) ,
              linear-gradient(to right, transparent 7px, #ee2 7px, #ee2 calc(100% - 7px), transparent calc(100% - 7px));
  display:inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

CSSはこうです。
セレクタ(p)は、ご自由にclassとかにしてください。

padding:0 10px;

10pxで左右のラインマーカーの飛び出し量を調整できます。

line-height:2;

改行幅です。お好きな値にしてください。

display:inline;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;

ここは変えないでください。
-webkit-ベンダープレフィックスは2022/12現在必要みたいです。

background

ここが肝心なのですが、調整は特に難しくないです。

線の太さを変える

14の数字をすべてお好きな数値に変えてください。
その後、7の数字を先ほどの線の太さの数値の半分にしてください。

色を変える

#ee2の黄色になっている個所をすべてお好きな色に変えてください。

背景色を変える

背景色が白ではない場合には、#fffの箇所(1か所)を背景色に変えてください。残念ながら色ベタしか対応できません・・。

おしまい