Eu tive problemas semelhantes com o espaço entre as colunas. O problema principal é que as colunas no bootstrap 3 e 4 usam preenchimento em vez de margem. Portanto, as cores de fundo de duas colunas adjacentes se tocam.
Encontrei uma solução que se encaixa no nosso problema e provavelmente funcionará para a maioria das pessoas que tentam espaçar colunas e manter as mesmas larguras de sarjeta que o resto do sistema de grade.
Este foi o resultado final que estávamos buscando
Ter o espaço com uma sombra entre colunas era problemático. Não queríamos espaço extra entre as colunas. Só queríamos que as sarjetas fossem "transparentes" para que a cor de segundo plano do site aparecesse entre duas colunas brancas.
esta é a marcação para as duas colunas
<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;
}
Essa abordagem exige uma div interna com margens negativas, como a classe "row" da inicialização. E essa div, que chamamos de "bloco elevado", deve ser o irmão direto de uma coluna
Dessa forma, você ainda obtém o preenchimento adequado dentro de suas colunas. Vi soluções que parecem funcionar criando espaço, mas infelizmente as colunas que eles criam têm preenchimento extra em ambos os lados da linha, então isso acaba tornando a linha mais fina para a qual o layout da grade foi projetado. Se você olhar a imagem para a aparência desejada, isso significaria que as duas colunas juntas seriam menores que a maior no topo, que quebra a estrutura natural da grade.
A principal desvantagem dessa abordagem é que ela requer marcação extra, envolvendo o conteúdo de cada coluna. Para nós, isso funciona porque apenas colunas específicas precisavam de espaço entre elas para obter a aparência desejada.