2013-12-15 17 views
17

Ich benutze Bootstrap, versuchen, ein Div ein CSS-Dreieck vor haben.CSS-Dreieck: vor Element

http://jsfiddle.net/B2XvZ/11/

Hier ist mein nicht-funktionierenden Code:

.d:before { 
    width: 0px; 
    height: 0px; 
    border-style: solid; 
    border-width: 10px 15px 10px 0; 
    border-color: transparent #dd4397 transparent transparent; 
} 

So wie ich es für dort suchen mag, ist ein rosa links weisende Dreieck rechts vor dem Text „, dies zu sein ", ohne Lücke zwischen ihm und dem div. Ich habe versucht, dies zu tun, indem ich die Elemente auch ohne Erfolg schweben lasse.

+2

eine 'content' Eigenschaft hinzufügen. –

+1

Um zu verstehen, wie diese Form funktioniert und für alternative Lösungen finden Sie unter http://stackoverflow.com/q/7073484/1811992 –

+0

Mögliche Duplikate von [Transparenter Pfeil/Dreieck] (http://stackoverflow.com/questions/23758922/transparent -Perl-Dreieck) –

Antwort

28

Sie müssen die content Eigenschaft angeben.

Fügen Sie zur Positionierung position:relative zum übergeordneten Element hinzu, und positionieren Sie dann den Pfeil -15px absolut nach links.

jsFiddle example

.d { 
    position:relative; 
} 

.d:before { 
    content:"\A"; 
    border-style: solid; 
    border-width: 10px 15px 10px 0; 
    border-color: transparent #dd4397 transparent transparent; 
    position: absolute; 
    left: -15px; 
} 
+1

perfekt. Ich habe den Inhaltsteil vergessen. Danke, – amagumori

+0

Danke, das hat auch mein Problem gelöst. Aber wofür steht das CSS ISO \ A? –

+2

@FrauWolf '\ A' ist ein Wagenrücklauf. Ich denke, ich habe das für eine ältere Browser-Eigenart (wahrscheinlich IE) getan. Es wird jedoch nicht mehr benötigt. 'content: ''' würde gut funktionieren. –

3

Sie benötigen Inhalt Eigentum und einige andere

.d:before { 
    content: ''; 
    width: 0px; 
    height: 0px; 
    border-style: solid; 
    border-width: 10px 15px 10px 0; 
    border-color: transparent #dd4397 transparent transparent; 
    display: inline-block; 
    vertical-align: middle; 
    margin-right: 5px; 
} 
Verwandte Themen