Ich verwende Twitter Bootstrap und habe eine Zeile mit zwei Spalten (span6). Wie erstelle ich einen vertikalen Teiler zwischen beiden Bereichen?
Danke, Murtaza
html
css
twitter-bootstrap
murtaza52
quelle
quelle
Antworten:
Wenn Ihr Code so aussieht:
Dann würde ich annehmen, dass Sie zusätzliche DIVS innerhalb der "span6" -DIVS verwenden, um Ihre Inhalte zu speichern / zu gestalten? So...
Sie können also einfach etwas CSS zur Klasse "mycontent-left" hinzufügen, um Ihren Teiler zu erstellen.
quelle
<span>
höher als der des linken ist. In diesem Fall ist die vertikale Linie hässlich.min-height: 100%; height: 100%;
im CSS für den Containerdiv
und diediv
s, die jede Spalte enthalten, festlegen.col-*
Divs verwenden, funktioniert dies nicht.quelle
.row.vertical-divider div[class^="col-"] + div[class^="col-"] { text-align: center; padding-bottom: 100px; margin-bottom: -100px; border-left: 3px solid #0396D1; }
In Bootstrap 4 gibt es die Dienstprogrammklasse,
border-right
die Sie verwenden können.So können Sie zum Beispiel Folgendes tun:
quelle
Nun, hier ist eine weitere Option, die ich seit einiger Zeit verwende. Es funktioniert großartig für mich, da ich es meistens brauche, um 2 Spalten visuell zu trennen. Und es reagiert auch. Das heißt, wenn ich Spalten in mittleren und großen Bildschirmgrößen nebeneinander habe, würde ich die Klasse verwenden
col-md-border
, die das Trennzeichen bei kleineren Bildschirmgrößen verbirgt.CSS:
In scss können Sie wahrscheinlich alle benötigten Klassen daraus generieren:
scss:
HTML:
Wie es funktioniert:
Die Spalten müssen sich in einem Element befinden, in dem keine anderen Spalten vorhanden sind. Andernfalls funktionieren die Selektoren möglicherweise nicht wie erwartet.
.col-md-border:not(:last-child)
Entspricht allen bis auf das letzte Element vor .row close und fügt einen rechten Rand hinzu..col-md-border + .col-md-border
Stimmt mit dem zweiten Div mit derselben Klasse überein, wenn diese beiden nebeneinander liegen, und fügt den linken Rand und den negativen Rand -1px hinzu. Ein negativer Rand ist der Grund, warum es nicht mehr wichtig ist, welche Spalte eine größere Höhe hat und das Trennzeichen 1px der Höhe der höchsten Spalte entspricht.Es hat auch einige Probleme ...
col-XX-X
class zusammen mithidden-XX
/visible-XX
classes innerhalb desselben Zeilenelements zu verwenden.... Aber auf der anderen Seite reagiert es, funktioniert hervorragend für einfaches HTML und es ist einfach, diese Klassen für alle Bootstrap-Bildschirmgrößen zu erstellen.
quelle
Fügen Sie allen Spalten Rahmen hinzu, um das hässliche Aussehen eines Teilers zu korrigieren, der zu kurz ist, wenn der Inhalt einer Spalte größer ist. Geben Sie jeder zweiten Spalte einen negativen Rand, um Positionsunterschiede auszugleichen.
Zum Beispiel meine drei Spaltenklassen:
Und der HTML:
Stellen Sie sicher, dass Sie #ddd verwenden, wenn Sie dieselbe Farbe wie die horizontalen Teiler von Bootstrap wünschen.
quelle
Wenn Sie 2018 immer noch nach der besten Lösung suchen, habe ich festgestellt, dass dies perfekt funktioniert, wenn Sie mindestens ein freies Pseudoelement haben (:: after oder :: before).
Sie müssen Ihrer Zeile lediglich eine Klasse wie folgt hinzufügen:
<div class="row
Vertikalteiler">
Und fügen Sie dies Ihrem CSS hinzu:
Jede Zeile mit dieser Klasse hat jetzt einen vertikalen Teiler zwischen allen darin enthaltenen Spalten ...
Wie das geht, sehen Sie in diesem Beispiel.
quelle
Wenn Sie einen vertikalen Teiler zwischen zwei Spalten wünschen, müssen Sie nur hinzufügen
zu einem Ihrer Spalten div-s
ABER
In der Welt des Responsive Design müssen Sie es möglicherweise manchmal verschwinden lassen.
Die Lösung verschwindet
<hr>
+ verschwindet<div>
+margin-left: -1px;
https://jsfiddle.net/8z1pag7s/
getestet auf Bootstrap 4.1
quelle
Ich habe es getestet. Es funktioniert gut.
quelle
Mit 4 Bootstrap können Sie mit Grenzen , die Vermeidung andere CSS zu schreiben.
Und wenn Sie Platz zwischen Inhalt und Rand wünschen, können Sie Polster verwenden . (in diesem Beispiel links 4px auffüllen)
Beispiel:
quelle
Muss auf der ganzen Seite geöffnet werden, um Grenzen zu sehen!
Es wurden Klauseln zur Medienbreite im CSS hinzugefügt, damit es auf der mobilfreundlichen Seite keine unangenehmen Grenzen gibt. Hoffe das hilft! Dadurch wird die Größe auf die Länge der längsten Spalte geändert. Getestet auf .col-md-4 und .col-md-6 und ich gehe davon aus, dass es mit dem Rest kompatibel ist. Keine Garantie.
JSFiddle
quelle
Angenommen, Sie haben einen Spaltenraum, ist dies eine Option. Stimmen Sie die Spalten je nach Bedarf neu ab.
quelle
Nun, ich habe die Rinne zwischen den jeweiligen Bereichen entfernt und dann einen linken Rand für den linken Bereich und einen rechten Rand für den rechten Bereich so gezeichnet, dass sich ihre Ränder überlappten, um nur eine einzige Linie zu ergeben. Auf diese Weise ist die sichtbare Linie nur eine der Grenzen.
CSS
HTML
Versuchen Sie dies, es funktioniert für mich
quelle
Verwenden Sie dies, 100% garantiert: -
quelle