目次
サンプルコード
<style>
.bubble {
position: relative;
background: #ffffff;
border: 4px solid #000000;
border-radius: 12px;
padding: 20px;
width: 300px;
margin: 40px;
}
.bubble:after, .bubble:before {
content: '';
position: absolute;
left: -20px;
top: 50%;
transform: translateY(-50%);
border-style: solid;
}
.bubble:before {
border-width: 10px 20px 10px 0;
border-color: transparent #000000 transparent transparent;
left: -24px;
}
.bubble:after {
border-width: 8px 16px 8px 0;
border-color: transparent #ffffff transparent transparent;
left: -16px;
}
</style>
<div class="bubble">
こんにちは!これは吹き出しのサンプルです。
</div>
</body
こんにちは!これは吹き出しのサンプルです。
疑似要素の :before と :after では、:after の方が前面(上のレイヤー)に表示されます。
これは CSS の仕様で定められていて、要素の描画順序は以下のようになります:
- :before 疑似要素(最背面)
- 要素本体(中間)
- :after 疑似要素(最前面)
- :before(青色の三角形)が後ろに
- :after(赤色の三角形)が前に
※この描画順序を変更したい場合は、z-indexを使用することができます
before要素の箇所
after要素の箇所
after要素の箇所