マーカーネット株式会社

WEB制作ブログ WEBデザイン、HTMLコーディング、PHP、スマートフォン制作などWEB制作全般に役立つ情報を発信していきます。

CSS WEB制作

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

投稿日:2014年9月16日 更新日:

凝ったデザインなどには吹き出しなどを作成したりします。
ですが、内容を画像ではなくテキストにしたい場合があると思います。
吹出し画像を文字数に合わせて調節したり、分割して組み立てたりするのは大変ですよね。
そんなときに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;
}

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

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

-CSS, WEB制作

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

【css技術】CSSだけで生成された歴代Appleのマウスがスゴい

【css技術】CSSだけで生成された歴代Appleのマウスがスゴい

css3の普及で、画像を使わなくとも ボタンで使用する様なグラーデーションや形など、 様々な表現を実現することができるようになってきました。 こうした機能も、上手く使いこなせるようになれば こんなこと …

知ってそうで知らないCSS3の便利な使い方【その4:複数背景指定】

今回はCSS3から可能になったbackgroundプロパティでの複数指定をご紹介します。 以前は1要素に指定出来る背景画像は1つでしたので複数の背景画像を使用したい場合には要素を入れ子等にして対応して …

【Illustrator】簡単!マーブル模様の作り方

マーブル模様って、パターンと違って規則性もないし、表現するのは大変ですよね。 アナログで作るのにも道具を引っ張り出すのも面倒・・・失敗するのも怖い・・・ そこで、Illustratorで簡単にマーブル …

戦略なきWEBブランディングは効果なし

戦略なきWEBブランディングは効果なし

ブランディングとうい視点で、日本酒について考えてみたいと思います。 旅人・中田英寿 たどり着いた先は「日本酒ビジネス」のなぜ? “旅人”のたどりついた先は酒蔵だった。元サッカー日本代表の中田英寿(37 …

レスポンシブにも対応!② グローバルナビゲーションを作成してみました。

この間はレスポンシブでも使える行ごとのブロック要素の高さを自動で合わせるJavaScriptをご紹介致しました。 レスポンシブにも対応!行ごとのブロック要素の高さを自動で合わせる方法。 レスポンシブで …