Stil mit Inhalt zu verbinden ist für viele kein Tabu. <div style = "border-left: thin solid # 0000ff"> Ich habe nichts zu sagen und sage es </ div>
ctpenrose
15
@ctpenrose Es ist in der Tat kein Tabu, aber das Trennen ist praktisch, da Sie es bei Bedarf einfach an einer Stelle anpassen können. Das Einfügen in eine separate CSS-Datei ist für die Leistung besser, da sie vom Browser zwischengespeichert werden kann und Sie bei jeder Anforderung des gerenderten HTML-Codes weniger Bytes über die Leitung übertragen.
Kris van der Mast
235
Mit dem horizontalen Regel-Tag können Sie vertikale Linien erstellen.
Bravo, Sir. Das ist ein cooler Trick. Muss immer noch eingestellt werden, display:inline-blocksonst sitzt es nicht gut neben anderen Inline-Elementen.
Alex W
2
Ich denke jedoch nicht, dass dies in Firefox funktioniert. Die Linie ist da, scheint aber nicht sichtbar zu sein ...
Edd
2
Danke für diesen Code. Hier ist ein funktionierendes Beispiel jsfiddle von diesem jsfiddle.net/ccatto/c8RQc
Catto
Giulio, weil es den Bildschirm nicht in zwei Spalten unterteilt. Auch hier müssen Sie einige CSS-Mitarbeiter für das gewünschte Ergebnis verwenden, genau wie div.
Ismail Sahin
Ich mag das besser, weil es die Seltsamkeit vermeidet, ein verstecktes Div zu haben, bei dem nur eine Seite einen sichtbaren Rand hat. Zugegeben, es ist nicht die Art und Weise, wie Sie normalerweise Stunden verwenden, aber es macht für mich immer noch mehr Sinn.
Levininja
71
Sie können ein Leerzeichen verwenden <div>, das genau so gestaltet ist, wie die Linie angezeigt werden soll:
HTML:
<divclass="vertical-line"></div>
Mit exakter Höhe (überschreibender Stil in der Linie):
div.vertical-line{width:1px;/* Line width */background-color: black;/* Line color */height:100%;/* Override in-line if you want specific height. */float: left;/* Causes the line to float to left of content.
You can instead use position:absolute or display:inline-block
if this fits better with your design */}
Toller Trick, um die Linie wie gewohnt zu gestalten <hr>. Wahrscheinlich muß auch zusätzlichen Styling Schwimmer auf der Seite des Inhalts (Beispiel: float:left;)
awe
Diese "vertikale" Regel trennt (Text-) Elemente weiterhin vertikal als normale horizontale Regel.
Qwerty
20
Es gibt kein vertikales Äquivalent zum <hr>Element. Ein Ansatz, den Sie möglicherweise ausprobieren möchten, besteht darin, einen einfachen Rand links oder rechts von dem zu verwenden, was Sie trennen:
* Möglicherweise müssen Sie ein wenig herumspielen, display:inline-block|inlineda inlinees nicht auf die Höhe des Elements erweitert wird. Verwenden Sie den Rand, um die Linie innerhalb eines Containers zu zentrieren.
Traurig über die Einschränkungen, aber das sieht an einigen anderen Stellen wirklich sehr, sehr nützlich aus.
Smar
Es füllt nicht alle div Größe, wie zu beheben?
Otávio Barreto
1
@ OtávioBarreto Möglicherweise müssen Sie mit der kommentierten displayEigenschaft herumspielen . Stellen Sie entweder inlineoder ein inline-block. Siehe die obigen Hinweise und die Beispiel-URL.
Qwerty
9
Eine andere Möglichkeit besteht darin, ein 1-Pixel-Bild zu verwenden und die Höhe festzulegen. Mit dieser Option können Sie es an die gewünschte Stelle verschieben.
Ich habe einfach den Wert des "linken" Pixelwerts geändert, um ihn zu positionieren. (Ich habe die vertikale Linie verwendet, um Inhalte auf meiner Webseite auszurichten, und habe sie dann entfernt.)
Um eine vertikale Linie zu erstellen, die in einem Div zentriert ist, können Sie diesen Code verwenden. Der 'Container' kann durchaus 100% breit sein, denke ich.
Wenn Sie vertikale Linien in einen Container einfügen möchten, um untergeordnete untergeordnete Elemente (Spaltenelemente) nebeneinander zu trennen, können Sie den Container folgendermaßen gestalten:
Dies fügt allen untergeordneten Elementen ab dem 2. untergeordneten Element einen linken Rand hinzu. Mit anderen Worten, Sie erhalten vertikale Grenzen zwischen benachbarten Kindern.
>ist ein Kinderselektor. Es stimmt mit jedem untergeordneten Element der links angegebenen Elemente überein.
*ist ein universeller Selektor. Es entspricht einem Element eines beliebigen Typs.
:not(:first-child) bedeutet, dass es nicht das erste Kind seines Elternteils ist.
Ich denke, dies ist besser als eine einfache .child-except-first {border-left: ...}Regel, da es sinnvoller ist, die vertikalen Linien aus den Regeln des Containers zu stammen, nicht aus den Regeln der verschiedenen untergeordneten Elemente.
Ob dies besser ist als die Verwendung eines provisorischen vertikalen Regelelements (durch Stylen einer horizontalen Regel usw.), hängt von Ihrem Anwendungsfall ab. Dies ist jedoch zumindest eine Alternative.
Ein weiterer Ansatz ist möglich: Verwendung von SVG .
z.B :
<svgheight="210"width="500"><linex1="0"y1="0"x2="0"y2="100"style="stroke:rgb(255,0,0);stroke-width:2"/>
Sorry, your browser does not support inline SVG.
</svg>
Vorteile:
Sie können Linien beliebiger Länge und Ausrichtung haben.
Sie können die Breite und Farbe einfach angeben
Nachteile:
SVG wird jetzt in den meisten modernen Browsern unterstützt. Einige alte Browser (wie IE 8 und älter) unterstützen dies jedoch nicht.
<divstyle="width:50%"><divstyle="border-right:1px solid;"><ul><li>
Empty div didn't shows line
</li><li>
Vertical line length depends on the content in the div
</li><li>
Here I am using inline style. You can replace it by external style or internal style.
</li></ul></div></div>
<divstyle="width:50%"><divstyle="border-left:1px solid;"><ul><li>
Empty div didn't shows line
</li><li>
Vertical line length depends on the content in the div
</li><li>
Here I am using inline style. You can replace it by external style or internal style.
</li></ul></div></div>
Die Eigenschaft width bestimmt die Dicke der Linie. Die Eigenschaft height bestimmt die Länge der Linie. Die Eigenschaft Hintergrundfarbe bestimmt die Farbe der Linie.
<vr>
Antworten:
Setzen Sie ein Mark
<div>
um das Markup, an dem die Linie als nächstes angezeigt werden soll, und verwenden Sie CSS, um sie zu formatieren:quelle
Mit dem horizontalen Regel-Tag können Sie vertikale Linien erstellen.
Durch die Verwendung einer minimalen Breite und Größe wird die horizontale Regel zu einer vertikalen Regel.
quelle
display:inline-block
sonst sitzt es nicht gut neben anderen Inline-Elementen.Sie können ein Leerzeichen verwenden
<div>
, das genau so gestaltet ist, wie die Linie angezeigt werden soll:HTML:
Mit exakter Höhe (überschreibender Stil in der Linie):
Gestalten Sie den Rand, wenn Sie einen 3D-Look wünschen:
Sie können natürlich auch mit erweiterten Kombinationen experimentieren:
quelle
Sie können auch eine vertikale Linie mit einer horizontalen HTML-Linie erstellen
<hr />
quelle
<hr>
. Wahrscheinlich muß auch zusätzlichen Styling Schwimmer auf der Seite des Inhalts (Beispiel:float:left;
)Es gibt kein vertikales Äquivalent zum
<hr>
Element. Ein Ansatz, den Sie möglicherweise ausprobieren möchten, besteht darin, einen einfachen Rand links oder rechts von dem zu verwenden, was Sie trennen:quelle
Benutzerdefinierte HTML5- Elemente (oder reines CSS)
1. Javascript
Registrieren Sie Ihr Element.
* Das
-
ist in allen benutzerdefinierten Elementen obligatorisch.2. CSS
* Möglicherweise müssen Sie ein wenig herumspielen,
display:inline-block|inline
dainline
es nicht auf die Höhe des Elements erweitert wird. Verwenden Sie den Rand, um die Linie innerhalb eines Containers zu zentrieren.3. instanziieren
* Leider können Sie keine benutzerdefinierten selbstschließenden Tags erstellen.
Verwendungszweck
Beispiel: http://html5.qry.me/vertical-rule
Sie möchten sich nicht mit Javascript anlegen?
Wenden Sie diese CSS-Klasse einfach auf Ihr bestimmtes Element an.
CSS
* Siehe Anmerkungen oben.
quelle
display
Eigenschaft herumspielen . Stellen Sie entwederinline
oder eininline-block
. Siehe die obigen Hinweise und die Beispiel-URL.Eine andere Möglichkeit besteht darin, ein 1-Pixel-Bild zu verwenden und die Höhe festzulegen. Mit dieser Option können Sie es an die gewünschte Stelle verschieben.
Nicht die eleganteste Lösung.
quelle
Sie können eine vertikale Linie zeichnen, indem Sie einfach Höhe / Breite mit einem beliebigen HTML-Element verwenden.
quelle
Es gibt kein Tag zum Erstellen einer vertikalen Linie in HTML.
Methode: Sie laden ein Linienbild. Dann setzen Sie seinen Stil wie
"height: 100px ; width: 2px"
Methode: Sie können
<td>
Tags verwenden<td style="border-left: 1px solid red; padding: 5px;"> X </td>
quelle
Sie können das Tag hr (horizontale Linie) verwenden und es dann mit CSS unten um 90 Grad drehen
http://jsfiddle.net/haykaghabekyan/0c969bm6/1/
quelle
Ich habe eine Kombination des vorgeschlagenen "hr" -Codes verwendet. So sieht mein Code aus:
Ich habe einfach den Wert des "linken" Pixelwerts geändert, um ihn zu positionieren. (Ich habe die vertikale Linie verwendet, um Inhalte auf meiner Webseite auszurichten, und habe sie dann entfernt.)
quelle
Um eine vertikale Linie zu erstellen, die in einem Div zentriert ist, können Sie diesen Code verwenden. Der 'Container' kann durchaus 100% breit sein, denke ich.
quelle
Warum nicht & # 124 verwenden, das das HTML-Sonderzeichen für | ist?
quelle
Wenn Sie vertikale Linien in einen Container einfügen möchten, um untergeordnete untergeordnete Elemente (Spaltenelemente) nebeneinander zu trennen, können Sie den Container folgendermaßen gestalten:
Dies fügt allen untergeordneten Elementen ab dem 2. untergeordneten Element einen linken Rand hinzu. Mit anderen Worten, Sie erhalten vertikale Grenzen zwischen benachbarten Kindern.
>
ist ein Kinderselektor. Es stimmt mit jedem untergeordneten Element der links angegebenen Elemente überein.*
ist ein universeller Selektor. Es entspricht einem Element eines beliebigen Typs.:not(:first-child)
bedeutet, dass es nicht das erste Kind seines Elternteils ist.Browserunterstützung: > *: erstes Kind und : nicht ()
Ich denke, dies ist besser als eine einfache
.child-except-first {border-left: ...}
Regel, da es sinnvoller ist, die vertikalen Linien aus den Regeln des Containers zu stammen, nicht aus den Regeln der verschiedenen untergeordneten Elemente.Ob dies besser ist als die Verwendung eines provisorischen vertikalen Regelelements (durch Stylen einer horizontalen Regel usw.), hängt von Ihrem Anwendungsfall ab. Dies ist jedoch zumindest eine Alternative.
quelle
Ein weiterer Ansatz ist möglich: Verwendung von SVG .
z.B :
Vorteile:
Nachteile:
quelle
Vertikale Linie rechts zum div
Vertikale Linie links zum div
quelle
Um eine vertikale Linie hinzuzufügen, müssen Sie eine Stunde stylen.
Wenn Sie nun eine vertikale Linie erstellen, wird diese in der Mitte der Seite angezeigt:
Um es jetzt zu platzieren, wo Sie wollen, können Sie diesen Code verwenden:
Dadurch wird es nach links positioniert. Sie können es umkehren, um es nach rechts zu positionieren.
quelle
Im vorherigen Element, nach dem Sie die vertikale Zeile anwenden möchten, können Sie CSS festlegen ...
quelle
Um
<hr>
90 Grad drehen :quelle
Es gibt ein
<hr>
Tag für die horizontale Linie. Es kann mit CSS verwendet werden, um auch horizontale Linien zu erstellen:Die Eigenschaft width bestimmt die Dicke der Linie. Die Eigenschaft height bestimmt die Länge der Linie. Die Eigenschaft Hintergrundfarbe bestimmt die Farbe der Linie.
quelle
Für einen Inline-Stil habe ich diesen Code verwendet:
und das positionierte es direkt in der Mitte.
quelle
Ich brauchte eine vertikale Inline-Linie, also habe ich einen Knopf dazu gebracht, eine Linie zu werden.
quelle
Das hat bei mir super funktioniert
quelle
Um die vertikale Linie in der Mitte zu zentrieren, verwenden Sie:
quelle