【CSS】吹き出しを作る

CSSで吹き出しを作る方法を紹介します。

キャラクター等の画像と組み合わせることによって会話風にしたり、目立たせたい箇所に使用するとちょっとしたアクセントになります。

スポンサーリンク

サンプル

吹き出しのサンプルです。吹き出しのサンプルです。吹き出しのサンプルです。吹き出しのサンプルです。吹き出しのサンプルです。

HTML

<div class="fukidashi">
  吹き出しのサンプルです。吹き出しのサンプルです。吹き出しのサンプルです。吹き出しのサンプルです。吹き出しのサンプルです。
</div>

CSS

/* 吹き出し本体 */
.fukidashi {
  position: relative;
  width: 500px;  /* 吹き出しの横幅 */
  padding: 16px;  /* 内側の余白 */
  background: #eee;  /* 吹き出しの色 */
  border-radius: 8px;  /* 角を丸くする*/
}
/* 吹き出しの出っ張り部分 */
.fukidashi::after {
  content: "";
  display: block;
  position: absolute;
  left: 0; right: 0;  /* 出っ張りの横位置を中央にする */
  bottom: -10px;  /* 出っ張りの縦位置を調整 */
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 10px 10px 0 10px;  /* 出っ張り部分のサイズ */
  border-color: #eee transparent transparent transparent;  /* 出っ張り部分の色 */
}

よくある質問(FAQ)

Q. borderのshorthandの書き方を教えてください。
A. border: 幅 スタイル 色の順番です。例:border: 1px solid #ccc。4辺を個別に設定する場合はborder-top・border-right・border-bottom・border-left。論理プロパティ(横書き・縦書きに対応)ではborder-block-start・border-inline-startが使えます。
Q. 角丸(border-radius)でできる形の種類を教えてください。
A. border-radius: 50%で円形(正方形の場合)。border-radius: 10px 10px 0 0(上角だけ丸め)で様々な形に。border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%のように水平/垂直で異なる値を指定すると有機的な曲線形状(blob)になります。
Q. outline-offsetプロパティはどのような場面で使いますか?
A. outlineはborderの外側に描画されるためスペースを取りません。outline-offsetでborderとoutlineの間隔を調整できます。フォーカスインジケーターのカスタマイズによく使われます::focus-visible { outline: 2px solid blue; outline-offset: 4px; }でボーダーから少し離れたフォーカスリングを表示できます。