こんにちは!
今回はCSSの疑似要素でリストのマークを作る方法についてまとめます。
今回作るリスト
サンプルコード
<ul> <li>list1</li> <li>list2</li> <li>list3</li> </ul>
CSSの疑似要素で実装
ul li { position: relative } ul li::before { content: ""; width: 10px; height: 10px; border-top: 3px solid #555; border-right: 3px solid #555; rotate: 45deg; position: absolute; top: 50%; left: -30px; transform: translateY(-50%); }
ポイント
- li要素に
position: relative
とし、位置指定の基準にする- ここの基準をulにしてしまうと、それぞれのli要素にマークがつかずに、一か所に重なってしまう
- 疑似要素で図形を作る時は
content: ""
を指定 width: 10px
,heigth: 10px
で四角の箱を用意border-top
,border-right
で上辺と右辺に線を引くrotate: 45deg
で右に45度回転し矢印に見えるようにtop: 50%
とtransform: translateY(-50%)
の組み合わせで上下中央揃え
おわりに
今回はCSSの疑似要素でリストのマークを作る方法についてまとめました。疑似要素の::before
などを見ると苦手意識がありましたが、少しずつ慣れてきたように思います。
94/100