2013-02-15 5 views
5

ich die Anzeige eine horizontale Linie mit CSS:einfügen Raum an Position in Grenzlinie

.horizontalLineBottom { 
    border-bottom:solid #6E6A6B; 
    border-width:1px; 
} 

Kann ich Raum eine bestimmte Position auf dieser Linie insterted werden?

wird also

______________________________________________ 

______________________________    ___ 
+4

Nr Sie könnten gefälschte es mit mehreren Elementen, though. Oder Rahmenbild. –

+4

Sie haben gesagt, dass es sich um eine vertikale Linie handelt, aber Sie haben ein Beispiel für eine horizontale Linie gezeigt. –

+0

@Aspiring Aqib danke, Frage aktualisiert –

Antwort

3

Eine andere Lösung mit border-width:

.line { 
    width: 20px; 
    height: 1px; 
    padding: 0; 
    border-width: 0 100px 0 150px; 
    border-style: solid; 
    border-color: red; 
} 

http://jsfiddle.net/dfsq/Uttxy/1/

+0

ahhh sehr guter Mann. Aber nur darauf beschränkt, wenn der Benutzer diese Zeile anzeigen möchte. Wenn ich als div border verwenden möchte, dann ist es dasselbe wie ich, z. Mehrere Elemente Aber immer noch +1 für die Bemühungen. –

+0

Richtig, wie gesagt für bessere Lösung müssen wir wissen, was genau OP mit diesen Zeilen machen will. – dfsq

+0

IDK, warum Frager nach dem Stellen von Fragen schlafen gehen. –

0

Nein mit Grenze in einem Block (nur eine Grenze für einen Block).

Sie können ein Hintergrundbild hinzufügen, wenn es Ihren Anforderungen entspricht.

1

:after oder :before psuedo Klasse kann Ihnen helfen. Wie in dieser Fiddle:

div { 
    width:100px; 
    height:100px; 
    border:1px solid #000; 
    margin:50px; 
    background:yellow; 
    position:relative; 
} 
div:after { 
    content: ''; 
    height:60px; 
    width:1px; 
    position:absolute; 
    top:20px; 
    left:-1px; 
    background:yellow; 
} 
0

können Sie dies direkt über CSS nicht erreichen. Ich würde vorschlagen, 2 Lösungen 1) Sie können _ Zeichen verwenden und es wie eine Zeile aussehen und Platz einfügen, wo immer Sie wollen und geben Sie Farbe Attribut über CSS. 2) Verwenden Sie zwei Elemente, wobei das erste Element eine gewisse Breite und einige Rand rechts aufweist. Die Marge Recht geben Ihnen den erforderlichen Raum

0

Sie einen background Gradienten auf dem Element verwenden: http://jsfiddle.net/q652t/ Dann könnte man so viele erstellen, wie Sie möchten

.line { 
    margin: 10px; 
    height: 1px; 
    width: 400px; 
    background: -webkit-linear-gradient(
     left, gray 10%, white 10%, white 40%, 
     gray 40%, gray 60%, 
     white 60%, white 80%, 
     red 80%, red 100%); 
} 
+0

Dies funktioniert jedoch nur in Webkit-Browsern. – jeroenvisser101

+0

dann fügen Sie einfach die Präfixe für die anderen Browser – ashley

+0

AFAIK hinzu, IE unterstützt dies noch nicht. FF nur von einer bestimmten Version. Cross-Browser ist dies keine gute Lösung. – jeroenvisser101

0

Sie es nicht direkt tun, aber mit einer kleinen Umgehung mit einem Pseudo-Element. Der Trick besteht darin, eine kleine Überlagerung mit der gleichen Hintergrundfarbe wie der Hintergrund unter Ihrem Element zu erstellen.

.verticalLineBottom { 
    position: relative; 
    border-bottom: 1px solid #6E6A6B; 
} 
.verticalLineBottom:after { 
    content: ""; 
    position: absolute; 
    right: 20px; 
    bottom: -1px; 
    width: 100px; 
    height: 1px; 
    background: #fff; 
} 

Beispiel: http://jsfiddle.net/zxdS7/

Leider ist es nicht funktioniert, wenn der Hintergrund hinter dem Element ein Muster aufweist.

0

Ich habe diesen Code für Sie erstellt, dies fake das Ergebnis, das Sie suchen.

.stopped-line { 
    /* basic styles here */ 

    width: 100px; /* this is mandatory */ 
    position: relative; 
} 
.stopped-line:before { 
    position: absolute; 
    bottom: 0; 
    display: block; 
    width: 70%; /* width in percentage of the line */ 
    content: " "; 
    height: 1px; /* thickness of the line */ 
    background: #000; /* color of the line */ 
} 
.stopped-line:after { 
    position: absolute; 
    bottom: 0; 
    left: 80%; /* Where should the second line start? */ 
    display: block; 
    width: 20%; /* width in percentage of the line */ 
    content: " "; 
    height: 1px; /* thickness of the line */ 
    background: #000; /* color of the line */ 
} 

JSBin: click

Verwandte Themen