Miałem podobne problemy z odstępem między kolumnami. Problem polega na tym, że kolumny w bootstrap 3 i 4 używają wypełnienia zamiast marginesu. Tak więc kolory tła dla dwóch sąsiednich kolumn stykają się ze sobą.
Znalazłem rozwiązanie, które pasuje do naszego problemu i najprawdopodobniej zadziała dla większości ludzi próbujących rozmieścić kolumny i zachować te same szerokości rynny, co reszta systemu siatki.
To był końcowy rezultat, na który zamierzaliśmy
Problemem było posiadanie odstępu z cieniem między kolumnami. Nie chcieliśmy dodatkowej przestrzeni między kolumnami. Chcieliśmy tylko, aby rynny były „przezroczyste”, aby kolor tła witryny pojawił się między dwiema białymi kolumnami.
to jest znacznik dla dwóch kolumn
<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;
}
To podejście wymaga wewnętrznego div z ujemnymi marginesami, podobnie jak w przypadku bootstrap klasy „row”. I ten div, który nazwaliśmy „podniesionym blokiem”, musi być bezpośrednim rodzeństwem kolumny
W ten sposób nadal masz odpowiednie wypełnienie w swoich kolumnach. Widziałem rozwiązania, które wydają się działać, tworząc przestrzeń, ale niestety kolumny, które tworzą, mają dodatkowe wypełnienie po obu stronach wiersza, co powoduje, że wiersz jest cieńszy, dla którego zaprojektowano układ siatki. Jeśli spojrzysz na obraz w celu uzyskania pożądanego wyglądu, oznaczałoby to, że dwie kolumny razem byłyby mniejsze niż ta większa na górze, która łamie naturalną strukturę siatki.
Główną wadą tego podejścia jest to, że wymaga dodatkowego znacznika owijania zawartości każdej kolumny. Dla nas to działa, ponieważ tylko określone kolumny potrzebowały przestrzeni między nimi, aby osiągnąć pożądany wygląd.