Sie wurden einige fehlende entscheidende Punkte in Ihrem Dreieck auf der rechten Seite. Zunächst einmal ist standardmäßig ein: before-Element display: inline
, um den Effekt zu erzeugen, den Sie suchten, benötigten Sie stattdessen display: block
.
Zweitens bewegte die right: 120px
es 120 Pixel von der rechten Seite seiner ursprünglichen Position entfernt. Das heißt, es wurde aus dem Blickfeld nach links geschoben. Stattdessen benötigen Sie eine negative rechte Position (Verschieben bis rechts) von 100% (die Breite der Sprechblase). Auf diese Weise würde es rechts davon enden.
Drittens, nicht sicher, welche Form Sie anstrebten, aber es war fast alles außer einem Dreieck;).
I für diese Stelle ging:
#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;
}
Der erste Teil zum Positionieren, so wird der zweite Teil das tatsächliche Dreieck zu schaffen (siehe http://css-tricks.com/snippets/css/css-triangle/).
In der JFiddle habe ich das Dreieck blau gemacht, damit Sie genau sehen können, wo es ist. Ändern Sie die Rahmenbreite, um den Winkel zu vergrößern. http://jsfiddle.net/USezL/31/
Aww, hast du mich gerade mit fast genau der gleichen Lösung geschlagen? –
Danke Rene. Es ist auch perfekt. – Irishgirl
Entschuldigung Kumpel :) ... Ihre hatten eine genauere Erklärung, was OP fehlte. –