やあ、
次のような div を作成する必要があります。
私がこれまでに思いついたのはこれです: http://jsfiddle.net/suamikim/ft33k/
.bubble {
position: relative;
width: 80px;
height: 160px;
border: 1px solid #33A7F4;
border-radius: 9px;
margin: 100px;
-webkit-box-shadow: 0px 0px 20px 2px #33A7F4;
-moz-box-shadow: 0px 0px 20px 2px #33A7F4;
-ms-box-shadow: 0px 0px 20px 2px #33A7F4;
-o-box-shadow: 0px 0px 20px 2px #33A7F4;
box-shadow: 0px 0px 20px 2px #33A7F4;
}
.bubble:after, .bubble:before {
content: ' ';
position: absolute;
width: 0;
height: 0;
border: 17px solid transparent;
right: 100%;
}
.bubble-left:before {
border-top-color: #33A7F4;
border-right-color: #33A7F4;
top: 60px;
}
.bubble-left:after {
border-width: 16px;
border-top-color: black;
border-right-color: black;
top: 61px;
}
ご覧のとおり、「唯一の」問題は、バブルの尾の周りのボックス シャドウ (三角形の矢印) です。
また、前と後の疑似クラスを使用せずに、三角形のみを保持する2番目のdivを使用しようとしました(変換、回転など)が、明らかにそれは私を成功に導きませんでした。
長方形自体のサイズと尾の位置はどちらも動的であり、「実行時」に変化する可能性があるため、静的な画像はオプションではありません。
また、動的に生成された svg を使用して境界線と影を作成するソリューションも考え出しました。他のオプションが見つからない場合は、このソリューションに固執するつもりですが、「ハック」のようにかなり強力に感じます. このソリューションには 2 つの javascript-framworks (extjs と raphael) が含まれており、この質問は html と css に関するものであるため、ここには投稿しません。それにもかかわらず、誰かがそれに興味を持っているなら、私はまだそれを提供することができます...
最後にもう 1 つ: ブラウザの互換性はそれほど重要ではありません。大きなもの(Firefox、Chrome、Opera、つまり10など)の最新バージョンで動作している場合、すべて問題ありません;)
ありがとう、
マイク