CSSだけで点線の吹き出しを作る方法
吹出口まで含め、枠が点線となる吹き出しをCSSだけで作れます。
完成イメージ
コード
<div class="balloon">
<p>ここにテキストが入ります。</p>
</div>
.balloon {
position: relative;
max-width: 400px;
padding: 20px 8px;
text-align: center;
background-color: #fff;
text-align: center;
color: #000;
border: 2px dashed #f00;
border-radius: 15px;
margin: 0 auto;
}
.balloon::before {
content: '';
position: absolute;
display: block;
width: 18px;
height: 18px;
left: 0;
right: 0;
top: -10px;
margin: 0 auto;
border-top: 2px dashed #f00;
border-right: 2px dashed #f00;
background-color: #fff;
transform: rotate(-45deg);
}
原理
点線で作った枠の上に、点線で作った吹出口の四角形を重ねています。
背景がベタ塗りじゃないと使えませんが、グラデーションやボーダーの場合は枠はsolidな線の方がいいと思うので問題はないかと。
下向きや横位置を変更したい場合は、::beforeのleftやright、topを調整すると出来るんじゃないかと思います。borderをleftやbottomにしたりとか。