シェア
//画像なしでCSS3スピーチバブルを作成する方法

画像なしでCSS3スピーチバブルを作成する方法

クレジット: https://www.sitepoint.com/pure-css3-speech-bubbles/

私が初めて画像なしのスピーチバブルを作成したのは何年も前のことです。その際、DOMに要素を挿入するための長ったらしいJavaScript関数が必要で、ひどいCSSを使っていて、見た目もあまり良くなく、IE5ではうまく動作しませんでした。

CSS3は私たちの生活をより良く変え始めています。現在、すべてのブラウザーで動作し、1つのHTML要素、数行のCSS3コード、画像なし、JavaScriptなしで素晴らしいスピーチバブルを作成できるようになっています。

CSS3スピーチバブル

最初に、HTMLを確認しましょう。1つの要素だけが必要なので、Pタグを使用しています:


	<p>SitePoint Rocks!</p>

まず、外枠のボックスをスタイリングします:


	p.speech
	{
	position: relative;
	width: 200px;
	height: 100px;
	text-align: center;
	line-height: 100px;
	background-color: #fff;
	border: 8px solid #666;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	-webkit-box-shadow: 2px 2px 4px #888;
	-moz-box-shadow: 2px 2px 4px #888;
	box-shadow: 2px 2px 4px #888;
}

そこまで難しくはありません。唯一の重要なプロパティは、スピーチバブルのポインターに必要なposition: relativeです。また、すべてのCSS3ブラウザーで動作するように、border-radiusとbox-shadowにはMozillaおよびWebkitのベンダープレフィックスが必要です。IE8以下では角が四角く、影は表示されませんが、ボックス自体は表示されます。

CSS3スピーチバブル

次に、三角形のバブルポインターを作成します。画像を使う代わりに、CSSのボーダーを使用して三角形を作成できます。簡単な説明として、異なる色のボーダーを持つ要素を確認してみてください:

CSS3ボーダートライアングル

要素の幅と高さを0pxにして、異なるサイズのボーダーを使うと、さまざまな三角形が形成されることがわかります:

CSS3ボーダートライアングル

したがって、スピーチバブルポインターには、上部と左のボーダーを実線にし、右と下のボーダーを透明にすることができます:

CSS3ボーダートライアングル

しかし、このボーダープロパティをどこに適用すればよいのでしょうか?幸い、CSSの:before:after疑似要素を使用して、さらに2つのコンテンツ項目を生成することができます。したがって、次のようにします:


	p.speech:before
	{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
	left: 30px;
	top: 100px;
	border: 25px solid;
	border-color: #666 transparent transparent #666;
}

三角形はバブルの下に配置されます。ちなみに、この要素に影を適用しようとしても、透明なボーダーの周りに影が表示され、見える三角形には影が表示されません。

CSS3スピーチバブル

この三角形の一部を削除する必要があります。そのため、灰色の三角形の上に小さな白い三角形を配置して、削除効果を実現します:


	p.speech:after
	{
	content: ' ';
	position: absolute;
	width: 0;
	height: 0;
	left: 38px;
	top: 100px;
	border: 15px solid;
	border-color: #fff transparent transparent #fff;
}

これで、画像なしの純粋なCSS3スピーチバブルが完成しました。

CSS3スピーチバブル

本質的には、:beforeと:after疑似要素を使用して、さまざまな効果を作成できます。例えば、思考バブルは、2つのコンテンツ項目を円に丸めて作成できます:


	p.thought
	{
	position: relative;
	width: 130px;
	height: 100px;
	text-align: center;
	line-height: 100px;
	background-color: #fff;
	border: 8px solid #666;
	-webkit-border-radius: 58px;
	-moz-border-radius: 58px;
	border-radius: 58px;
	-webkit-box-shadow: 2px 2px 4px #888;
	-moz-box-shadow: 2px 2px 4px #888;
	box-shadow: 2px 2px 4px #888;
}

p.thought:before, p.thought:after
{
	left: 10px;
	top: 70px;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border: 8px solid #666;
	-webkit-border-radius: 28px;
	-moz-border-radius: 28px;
	border-radius: 28px;
}

p.thought:after
{
	width: 20px;
	height: 20px;
	left: 5px;
	top: 100px;
	-webkit-border-radius: 18px;
	-moz-border-radius: 18px;
	border-radius: 18px;
}

CSS3思考バブル

こちらのデモページで、これらのテクニックを使用した例をご覧ください。すべてのCSSコードはHTMLソースに含まれています。


今すぐ応募







    福利厚生

    給料・ボーナス制度

    社員の感情・願望を理解しているので、リバークレーンベトナムは特に年2回の定期昇給制度を設けています。毎年6月と12月に評価を行い、毎年1月と7月に給与が変更されます。また、社員は月次と年次の優秀な個人には定期的な業績賞与が別で支給されます。

    日本研修制度

    世界中の新しい技術分野に触れるために、社員を日本にオンサイトさせる方針があります。さらに、技術分野か管理分野かのキャリアパスは社員の決定次第です。

    毎年社員旅行

    リバークレイン・ベトナムは、スタッフに挑戦の機会を提供するだけでなく、年に一度の魅力的な旅行で彼らを楽しませています。エキサイティングなガラディナーやチームビルディングゲームは、リバークレインのメンバー同士の絆をさらに深める手助けをします。

    リバークレイン イベント

    チームビルディング・ファミリーデー・お夏休み・中秋節などのイベントはチーム内のメンバーが接続出来るしお互いに自分のことを共有出来る機会です。ご家族員に連携する際にはそれも誇りに言われています。

    社会保険制度

    リバークレーンベトナムは従業員に社会保険、医療保険、失業手当などの社会保険制度があります。当社は、これらの保険に関するあらゆる手続きをスタッフに必ずサポートしています。さらに、他の保険契約も考慮され、検討されています。

    他福利

    社員向けの活動をサポートすることもあります。 ・文化・芸術・スポーツクラブの運営費用 ・技術研究の教科書を購入する金額 ・エンジニア試験・言語能力試験を受験料 ・ソフトスキルのセミナー・コースの参加費 ・等 また会社政策通り、他のベネフィットもあります。

    © 2012 RiverCrane Vietnam. All rights reserved.

    Close