最終更新日: 2020年12月6日
CSSで2つの要素の真ん中に縦線を引く方法を解説!
CSSで2つの要素の中央に縦線を引く方法を解説します。余白が入りborderだと上手く中央に線が引けませんが、今回解説するやり方であれば余白込で真ん中に縦線が引けます。
CSSで2つの要素の真ん中に縦線を引きたい
HTMLで2カラムの状態、つまり左と右側にブロックが分かれている状態で、その区切りとして中央に縦線を引きたい場合があります。
線といえばborderプロパティを真っ先に思い浮かべると思いますが、余白を上手く調整したい時にborderで線を引くと要素の間に対しては上手く引けない場合があります。
今回は下記のような状態を目指します。
今回はCSSで2つの要素の真ん中に縦線を引く方法を解説していきます。
CSSで2つの要素の真ん中に縦線を引く方法
それでは順番に2つの要素の真ん中に縦線を引く方法を解説していきます。
一方の要素の::before/::afterの疑似要素を使う
::after
の疑似要素を使って縦線を引いたサンプルコードは下記となります。
index.css
の中の枠線部分は.A:after
の箇所です。position
でrelative
を設定した.A
に対して、absolute
でleft: 100%
としています。つまり.A
の右端に位置します。
更にwidth
(ここでは線の太さ)を4px
としてheight
を100%
とすることで枠線の様に見せています。
第三の要素を用意し間に挿入する
次に第三の要素(ここでは.line
とする)を用意し、間に挿入するやり方です。
.line
のdiv
タグを挿入することでAとBの間に要素が一つ入り、そのスタイルを縦線にすることでAとBの間の区切り線のように見せています。