Tôi đã có vấn đề tương tự với không gian giữa các cột. Vấn đề gốc là các cột trong bootstrap 3 và 4 sử dụng phần đệm thay vì lề. Vì vậy, màu nền cho hai cột liền kề chạm vào nhau.
Tôi đã tìm thấy một giải pháp phù hợp với vấn đề của chúng tôi và rất có thể sẽ hiệu quả với hầu hết mọi người đang cố gắng giữ các cột không gian và duy trì độ rộng máng xối giống như phần còn lại của hệ thống lưới.
Đây là kết quả cuối cùng chúng tôi sẽ cho
Có khoảng cách với bóng đổ giữa các cột là vấn đề. Chúng tôi không muốn có thêm không gian giữa các cột. Chúng tôi chỉ muốn máng xối "trong suốt" để màu nền của trang web sẽ xuất hiện giữa hai cột trắng.
đây là đánh dấu cho hai cột
<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;
}
Cách tiếp cận này đòi hỏi một div bên trong có lề âm giống như cách sử dụng bootstrap của lớp "hàng". Và div này, chúng tôi gọi nó là "khối nâng cao", phải là anh chị em trực tiếp của một cột
Bằng cách này bạn vẫn có được phần đệm thích hợp bên trong các cột. Tôi đã thấy các giải pháp có vẻ hoạt động bằng cách tạo không gian, nhưng thật không may, các cột mà chúng tạo ra có thêm phần đệm ở hai bên của hàng để cuối cùng làm cho hàng mỏng hơn mà bố cục lưới được thiết kế. Nếu bạn nhìn vào hình ảnh để có cái nhìn mong muốn, điều này có nghĩa là hai cột với nhau sẽ nhỏ hơn cột lớn hơn ở trên cùng, phá vỡ cấu trúc tự nhiên của lưới.
Hạn chế chính của phương pháp này là nó yêu cầu đánh dấu thêm bao bọc nội dung của từng cột. Đối với chúng tôi điều này hoạt động vì chỉ có các cột cụ thể cần không gian giữa chúng để đạt được giao diện mong muốn.