Ich habe gerade angefangen, Bootstrap 3 zu verwenden. Es fällt mir schwer zu verstehen, wie die Zeilenklasse funktioniert. Gibt es eine Möglichkeit, das padding-left
und zu vermeiden padding-right
?
<div class="row" style="background:#000000">
<div class="col-xs-4 .col-xs-offset-1">
col
</div>
<div class="col-xs-2">
col
</div>
<div class="col-xs-2">
col
</div>
<div class="col-xs-2">
col
</div>
</div>
Antworten:
In allen Rastersystemen befinden sich zwischen jeder Säule Dachrinnen. Das Bootstrap-System legt links und rechts von jeder Spalte eine 15-Pixel-Polsterung fest, um diese Rinne zu erstellen.
Das Problem ist, dass die erste Spalte links keine halbe Rinne und die letzte rechts keine halbe Rinne haben sollte. Anstatt eine Art
.first
oder.last
Klasse für diese Spalten zu verwenden, wie dies bei einigen Rastersystemen der Fall ist, setzen sie die.row
Klasse so, dass sie negative Ränder aufweist, die mit dem Auffüllen der Spalten übereinstimmen. Dies "zieht" die Dachrinnen von der ersten und der letzten Säule ab und macht sie gleichzeitig breiter.Das
.row
div sollte niemals wirklich verwendet werden, um etwas anderes als Gitterspalten zu halten. Wenn dies der Fall ist, wird der Inhalt relativ zu den Spalten verschoben, wie aus Ihrer Geige hervorgeht.AKTUALISIEREN:
Sie haben Ihre Frage geändert, nachdem ich sie beantwortet habe. Hier ist die Antwort auf die Frage, die Sie jetzt stellen: Fügen Sie die
.container
Klasse der ersten hinzu<div>
. Siehe Arbeitsbeispiel .quelle
Mit Bootstrap 3.3.7 ist dieses Problem gelöst, indem die .row mit .container-fluid umwickelt wird.
quelle
.container-fluid
wurde auch hier vorgeschlagen: stackoverflow.com/a/23616447/5272567absolute
. danke für den HinweisSiehe meine Antwort unten auf einen ähnlichen Beitrag.
Warum hat der Bootstrap .row einen Standardrand von -30px links?
Sie verwenden grundsätzlich "clearfix" anstelle von "row". Es macht genau das gleiche wie "Zeile" ohne den negativen Rand.
quelle
Ich habe die Zeilenklasse innerhalb der Containerklasse verwendet und hatte immer noch ein Problem. Als ich
margin-left: auto; margin-right: auto;
zur.row
Klasse hinzufügte , funktionierte es gut.quelle
@Michelle M. sollte für diese Antwort die volle Gutschrift erhalten.
Sie sagte in einem der Kommentare:
Sie müssten Ihr erstes
div
Element folgendermaßen aktualisieren :Sie müssen dies nicht für alle verschachtelten Zeilen tun (falls vorhanden). Fügen Sie
einfach
mx-auto
die äußerstenrow
(oder Zeilen) hinzu, um die vertikale Bildlaufleiste zu vermeiden.Überschreiben Sie nicht das Verhalten aller Bootstrap-Zeilen, indem Sie eine "Zeilen" -Klasse hinzufügen, um die Ränder zu ersetzen.
quelle
Für zukünftige Entwickler, die dieses Problem debuggen:
Bootstrap legt die Auffüllung für Zeilenspalten fest, sodass der Inhalt einer Zeile nicht außerhalb des Containers angezeigt werden darf. Wenn dies auftritt und Sie das Bootstrap-Rastersystem korrekt mit den Klassen col -... verwenden, ist es wahrscheinlich, dass Sie irgendwo über zusätzliches CSS verfügen, das das Auffüllen der Spalten zurücksetzt.
quelle