コーディングをしているとよく使うけど、書き方をすぐ忘れるコードがあるのでメモしておく。
上記のような吹き出し型のブロックについて、あるブロック要素の中央下部に三角形を配置したい場合がある。
この場合のコード(SCSS)は以下のとおり。
.parentBlock {
$elemColor: #f4f8f4; // 要素の色
position: relative;
background: $elemColor;
&::after {
$size: 24px; // 三角形のサイズ
position: absolute;
bottom: -($size*2);
left: 50%;
margin-left: -($size);
display: block;
content: '';
width: 0;
height: 0;
border-top: $size solid $elemColor;
border-bottom: $size solid transparent;
border-left: $size solid transparent;
border-right: $size solid transparent;
}
}
三角形は疑似要素タグafterを使う。
三角形を表示させるポイントとなるコードはborderの付け方。
今回の例のように下向き三角の場合はtopにのみborder-colorを指定し、その他方向のborderにはtransparentを指定する。
中央配置については、leftとmargin-leftの組み合わせで調整する。