【CSS】疑似要素::beforeや::afterを使って吹き出しを作ろう
2020.09.03 Posted by Coding_team

【CSS】疑似要素について知ろうの記事で、疑似要素::beforeや::afterは、要素の直前・直後に疑似的に要素を追加することができるとご紹介しました。
この::beforeや::afterをうまく使えば、ワンランク上のデザインを作成することができます。
今回は、吹き出しを作成してみましょう。
吹き出しの作り方
SAMPLE
吹き出しをつくりました。
吹き出しは、疑似要素を使えばHTMLはpタグだけで作成することができます。
| 1 | <p class="fukidashi">吹き出しをつくりました。</p> | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | .fukidashi {     position: relative;     background: #f9efd7;     padding: 20px 40px;     display: inline-block;     border-radius: 10px;     margin-right: 10px; /*吹き出しのしっぽの部分の余白を空けておく*/ } .fukidashi::before {     /*疑似要素にをブロック要素にする*/     display: block;     content: '';     /*positionの指定*/     position: absolute;     right: -10px;   /*親要素で余白を設けた箇所に配置*/     top: 0;     bottom: 0;     margin: auto 0; /*上下中央位置に*/     /*三角形を作るCSS*/     width: 0;     height: 0;     border-style: solid;     border-width: 10px 0 10px 10px;     border-color: transparent transparent transparent #f9efd7; } | 
pタグのスタイルのポイント
- 疑似要素のpositionはabsoluteで配置するので、pタグをrelativeにしておく。
- 吹き出しのしっぽ(三角形)を配置するための余白を空けておく。
- display:inline-blockだと吹き出しの横幅は可変になります。
 display:block;にしてwidthプロパティで幅を指定すると、幅固定の吹き出しを作成することができます。
疑似要素のスタイルのポイント
- 疑似要素はdisplay:block;でブロック要素にしておく。
 content: ”;で空文字を指定しておかなければ表示されないので注意
- position:absolute;で場所を指定する。
 topとbottomを0にし、margin: auto 0;にすることで上下中央位置に表示されます。
 rightの値はpタグで開けた分の余白をマイナスで設定しておきましょう。
三角形を作るためのCSSは、自動生成できるツールを公開しているサイトなどを参考にすると、時短で作成することができます。
まとめ
今回、しっぽの部分は::beforeで作成しましたが、疑似要素はabsoluteで自由に配置できるため、::afterでも同様に作成可能です。
疑似要素を使えば、シンプルなHTMLのまま幅広いデザインを適用することができます。
ぜひ試してみてください。
関連記事こちらの記事も合わせてどうぞ。
SSLの仕組みをわかりやすく解説!安全なWebサイト運営のための基礎知識
2025.05.23
ウェブアクセシビリティチェック完全ガイド!誰でもできる実践方法
2025.05.09
ノーコードツールとは?Web制作の新常識と活用事例について徹底解説!
2024.08.23

 
						 
						 
						















