サイトアイコン 東京のホームページ制作・WEB制作会社 マーカーネット

CSS3のみで吹き出しを作成してみました!上下左右どこでも大丈夫!

CSS3のみで吹き出しを作成

凝ったデザインなどには吹き出しなどを作成したりします。
ですが、内容を画像ではなくテキストにしたい場合があると思います。
吹出し画像を文字数に合わせて調節したり、分割して組み立てたりするのは大変ですよね。
そんなときにCSSのみで吹き出しが作れたらとても助かります。

CSSで吹き出しを作成する基本的な部分をご紹介したいと思います。
まずは吹き出しで重要な部分の三角形を作成してみます。

上向き

border:50px solid transparent;
width:0;
border-bottom-color:#000;
border-top-width:0;

下向き

border:50px solid transparent;
width:0;
border-top-color:#000;
border-bottom-width:0;

右向き

border:50px solid transparent;
width:0;
border-left-color:#000;
border-right-width:0;

左向き

border:50px solid transparent;
width:0;
border-right-color:#000;
border-left-width:0;

次にこれらを利用して吹き出しを作成してみます。
枠のない吹出しを作成する場合は、:beforeと:afterのどちらかを使って作成します。

上向き
.demo05 {
padding: 20px;
margin-bottom:10px;
text-align: center;
background-color: #ddd;
position:relative;
}
.demo05:after {
border:20px solid transparent;
border-bottom-color:#ddd;
border-top-width:0;
top:-20px;
content:””;
display:block;
left:30px;
position:absolute;
width:0;
}
下向き
.demo06 {
padding: 20px;
margin-bottom:10px;
background-color: #ddd;
position:relative;
}
.demo06:after {
border:20px solid transparent;
border-top-color:#ddd;
border-bottom-width:0;
bottom:-20px;
content:””;
display:block;
left:30px;
position:absolute;
width:0;
}
右向き
.demo07 {
padding: 20px;
margin-bottom:10px;
background-color: #ddd;
position:relative;
}
.demo07:after {
border:20px solid transparent;
border-left-color:#ddd;
border-right-width:0;
right:-20px;
content:””;
display:block;
top:30px;
position:absolute;
width:0;
}
左向き
.demo08 {
padding: 20px;
margin-bottom:10px;
background-color: #ddd;
position:relative;
}
.demo08:after {
border:20px solid transparent;
border-right-color:#ddd;
border-left-width:0;
left:-20px;
content:””;
display:block;
top:30px;
position:absolute;
width:0;
}

今回は枠無しバージョンをご紹介致しました。
近いうちに枠有りバージョンをご紹介できたらと思います。
それだけでなく、様々な形の吹き出しを作成できますので、
それらもご紹介していきたいと思います。

これでデザインの幅やコーディングの幅が広がったかと思います。
この記事を参考に少しでも役立てていただければ幸いです。

モバイルバージョンを終了