WordPress技術ブログは、毎週月曜日の午前7時に更新!最新の情報をお見逃しなく!

Web制作の基本

【HTML/CSS】どんな背景でもOK!CSSで作るスタイリッシュな吹き出し

今回作るもの

コード全容

とりあえずこのコードをコピペすれば動くはず。

See the Pen どんな背景でもOK! CSSで作るスタイリッシュな吹き出し by 安本彩野 (@ctdxqdpi-the-typescripter) on CodePen.

HTML

htmlは超シンプル。吹き出しを付けたい部分は “fukidashi” というクラスを付けています。

<div>
  <p class="contact__text --read fukidashi">
    <span>どんな背景でもOK!</span>
  </p>
  <p>CSSで作るスタイリッシュな吹き出し</p>
</div>

CSS

活躍するプロパティ

linear-gradient

CSSでグラデーションを表現するための関数です。
通常 background-image: linear-gradient(方向, 色・パーセント, 色・パーセント, ...); という書き方をします。

  • 方向to bottom / to right / 角度(例:90deg)など
  • 色とパーセント:どこからどこまでその色が適用されるかを指定(0%~100% など)

linear-gradient を使うと、要素に画像を使わずに段階的な色の変化や、特定箇所だけが透明になるようなデザインを手軽に実装できます。

参考:MDN「linear-gradient()」

参考1歩踏み込んでみる! CSSグラデーションのマニアックな世界

コード解説

今回の吹き出しデザインの大きな特徴は、::before で作る「間が透明なライン」です。

通常、要素に線を付けるときは border を使うことが多いのですが、border だと線全体に単色の境界線しか設定できません。
「ラインの途中で透明にしたい」「しま模様のように一部が抜けて背景が見えるようにしたい」という場合には、border だけでは実現が難しいです。

そこで活躍するのがlinear-gradient です。
::before にグラデーションを背景として設定し、指定した部分だけを透明(transparent)にすることで、背景が見える「抜け」のある線を作っています。

background-image: linear-gradient(90deg, #fff 55%, transparent 55%, transparent 60%, #fff 60%);

日本語に訳すと以下のような感じです。

横方向(左から右)のグラデーション, 左から55%まで#fff ,55%から60%までが透明, 60%から最後(100%)まで#fff

図にしてみたので、併せてご確認ください。

afterは、斜めの短い線をいい感じのポジションに配置するだけなので、コードをご確認いただければわかると思います。

まとめ

今回は、linear-gradientでスタイリッシュな吹き出しを作る方法をご紹介しました。

border だけではどうしても単調になりがちな線の表現ですが、::beforelinear-gradient を組み合わせることで、
「一部が透明で、背景が透けるライン」 を簡単に実装できます。

ぜひほかの角度や色を試してみて、オリジナルのデザインも作ってみてください!

メルマガ登録用

メルマガ登録で、最新情報をキャッチ!

WordPressの使いこなし術、プラグインの活用法、トラブル対策など、サイト運営に役立つ情報を月1でお届けしています。
「知らなかった…!」では済まされない大切なポイントを、今すぐチェックしませんか?





WordPressでお悩みの方へ!

ABOUT ME
アバター画像
yasumoto
おやつをやめなきゃいけない気持ちはあるけどやめたくないのが悩みです。 コーヒーがわかる人になることが目標。 趣味:モーニングに行くこと