Ich hatte ähnliche Probleme mit dem Abstand zwischen den Spalten. Das Hauptproblem besteht darin, dass Spalten in Bootstrap 3 und 4 anstelle des Randes Auffüllen verwenden. Hintergrundfarben für zwei benachbarte Spalten berühren sich also.
Ich habe eine Lösung gefunden, die zu unserem Problem passt und höchstwahrscheinlich für die meisten Menschen funktioniert, die versuchen, Säulen zu platzieren und die gleichen Rinnenbreiten wie der Rest des Rastersystems beizubehalten.
Dies war das Endergebnis, das wir anstrebten
Es war problematisch, die Lücke mit einem Schlagschatten zwischen den Spalten zu haben. Wir wollten keinen zusätzlichen Platz zwischen den Spalten. Wir wollten nur, dass die Dachrinnen "transparent" sind, damit die Hintergrundfarbe der Site zwischen zwei weißen Spalten angezeigt wird.
Dies ist das Markup für die beiden Spalten
<div class="row">
<div class="col-sm-7">
<div class="raised-block">
<h3>Facebook</h3>
</div>
</div>
<div class="col-sm-5">
<div class="raised-block">
<h3>Tweets</h3>
</div>
</div>
</div>
CSS
.raised-block {
background-color: #fff;
margin-bottom: 10px;
margin-left: 0;
margin-right: -0.625rem; // for us 0.625rem == 10px
padding-left: 0.625rem;
padding-right: 0.625rem;
}
@media (max-width: 33.9em){ // this is for our mobile layout where columns stack
.raised-block {
margin-left: -0.625rem;
}
}
.row [class^="col-"]:first-child>.raised-block {
// this is so the first column has no margin so it will not be "indented"
margin-left: -0.625rem;
}
Dieser Ansatz erfordert ein inneres Div mit negativen Rändern, genau wie es der Bootstrap der "Zeilen" -Klasse verwendet. Und dieses Div, wir nannten es "Raised Block", muss das direkte Geschwister einer Säule sein
Auf diese Weise erhalten Sie immer noch die richtige Polsterung in Ihren Spalten. Ich habe Lösungen gesehen, die anscheinend funktionieren, indem sie Platz schaffen, aber leider haben die von ihnen erstellten Spalten auf beiden Seiten der Zeile einen zusätzlichen Abstand, sodass die Zeile, für die das Rasterlayout entworfen wurde, dünner wird. Wenn Sie das Bild für das gewünschte Aussehen betrachten, bedeutet dies, dass die beiden Spalten zusammen kleiner sind als die größere darüber, wodurch die natürliche Struktur des Gitters unterbrochen wird.
Der Hauptnachteil dieses Ansatzes besteht darin, dass ein zusätzliches Markup erforderlich ist, das den Inhalt jeder Spalte umschließt. Für uns funktioniert dies, weil nur bestimmte Spalten Platz zwischen ihnen benötigten, um das gewünschte Aussehen zu erzielen.