右側の三角形のいくつかの重要なポイントが欠けていました。まず第一に、デフォルトでは :before 要素はdisplay: inline
であるため、求めていた効果を作成するには代わりに必要でしdisplay: block
た。
2 つ目はright: 120px
、元の位置の右側から 120 ピクセル移動していたことです。つまり、左に押し出され、見えなくなっていました。代わりに、 100% (吹き出しの幅) の負の右位置 (右に移動) が必要でした。そうすれば、それはそれの右側になってしまいます。
第三に、あなたがどのような形を目指していたのかはわかりませんが、それは三角形以外のほとんどすべてでした;)。
私は代わりにこれに行きました:
#talkbubble:before
{
content:" ";
display: block;
position: relative;
right: -100%;
width: 0;
height: 0;
border-left: 0 solid transparent;
border-right: 20px solid transparent;
border-bottom: 35px solid #FFCC05;
}
最初の部分は配置用で、2 番目の部分は実際の三角形を作成するためのものです ( http://css-tricks.com/snippets/css/css-triangle/を参照)。
jsfiddle では、三角形を青色にして、三角形がどこにあるかを正確に確認できるようにしました。角を大きくするには、border-right の幅を変更します。http://jsfiddle.net/USEzL/31/