CSSで文字の横に線がびよーんと伸びる見出しを作成する
技術
この記事では文字の横に線がびよーんと伸びる見出しスタイルの作成の仕方について説明します。
画像のようなスタイルです。
指定するタグ
html
<h1 class="sideLine">見出し</h1>
css
.sideLine {
display: flex;
align-items: center;
}
.sideLine:before,
.sideLine:after {
content: '';
height: 1px;
flex-grow: 1;
background-color: #000000;
}
.sideLine:before {
margin-right: 20px;
}
.sideLine:after {
margin-left: 20px;
}
タグの解説
.sideLine {
display: flex;
align-items: center;
}
見出しをdisplay:flex
にすることで、要素を横並びにしています。
align-items: center;
で縦の位置が中央にそろうように設定。
.sideLine:before,
.sideLine:after {
content: '';
height: 1px;
flex-grow: 1;
background-color: #000000;
}
見出しの前後に空の要素を作ります。
flex-grow: 1;
で自動的に親要素全体に線が伸びるように設定。
height
を変えると線の太さが、background-color
を変えると線の色が変わります。
.sideLine:before {
margin-right: 20px;
}
.sideLine:after {
margin-left: 20px;
}
それぞれにmargin
を設定して、文字との間の隙間を設定しています。
おまけ:scssでの指定方法
最近はスタイルをscssで作成することが多いので、scssでの指定方法も記載しておきます。
.sideLine {
display: flex;
align-items: center;
&:before,
&:after {
content: '';
height: 1px;
flex-grow: 1;
background-color: #000000;
}
&:before {
margin-right: 20px;
}
&:after {
margin-left: 20px;
}
}