我有两列:
<div class="col-md-6"></div>
<div class="col-md-6"></div>
我该如何在它们之间添加空格?
输出将简单地是两列挨在一起,占据整个页面的宽度。假设宽度设置为1000px
,那么每个div将是500px
宽。
如果我想要在这两者之间有100px
的空隙,如何通过Bootstrap自动实现:每个div
的宽度将变为450px
以弥补空隙。
我有两列:
<div class="col-md-6"></div>
<div class="col-md-6"></div>
我该如何在它们之间添加空格?
输出将简单地是两列挨在一起,占据整个页面的宽度。假设宽度设置为1000px
,那么每个div将是500px
宽。
如果我想要在这两者之间有100px
的空隙,如何通过Bootstrap自动实现:每个div
的宽度将变为450px
以弥补空隙。
我遇到了同样的问题;以下方法对我很有效。
<div class="row">
<div class="col-md-6">
<div class="col-md-12">
Some Content..
</div>
</div>
<div class="col-md-6">
<div class="col-md-12">
Some Second Content..
</div>
</div>
</div>
这将自动在两个div之间呈现一些空间。
您可以使用 col-md-offset-*
类来实现列之间的间距,该类在此处有详细介绍。间距是一致的,以便所有列都正确对齐。为了获得均匀的间距和列大小,我建议执行以下操作:
<div class="row">
<div class="col-md-5"></div>
<div class="col-md-5 col-md-offset-2"></div>
</div>
在Bootstrap 4中使用:offset-2
或offset-md-2
。我知道我来晚了,但你可以尝试使用填充来间隔这些框。
<div class="col-md-6 box">
<div class="inner">Hello</div>
</div>
<div class="col-md-6 box">
<div class="inner">Hello</div>
</div>
CSS:
.box {
padding: 0 5px 0 5px;
}
.box .inner {
background-color: #fff;
}
试试看吧
row-eq-height
。 - Greg Wozniak您可以使用 background-clip 和 border 属性的 box-model。
.box{
box-sizing: border-box;
border: 3px solid transparent;
background-clip:padding-box;
}
<div class="row">
<div class="col-xs-4 box"></div>
<div class="col-xs-4 box"></div>
<div class="col-xs-4 box"></div>
</div>
我也遇到了类似的列间距问题。根本问题是Bootstrap 3和4中的列使用填充而不是边距。因此,相邻两个列的背景颜色会接触在一起。
我找到了一个解决方案,适用于我们的问题,并且很可能适用于大多数尝试调整列间距并保持与网格系统中其余部分相同沟槽宽度的人。
这就是我们要达到的最终效果
在列之间具有带有阴影的间隙存在问题。我们不想在列之间增加额外的空间。我们只想让沟槽“透明”,以便站点的背景颜色出现在两个白色的列之间。
这是两个列的标记
<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;
}
这种方法需要一个带有负边距的内部 div,就像 Bootstrap 使用的 "row" 类一样。而且这个 div,我们称之为 "raised-block",必须是列的直接同级兄弟元素。
这样做仍然可以在列内得到正确的填充。我曾经见过一些解决方案,它们似乎通过创建空间来起作用,但不幸的是,它们创建的列在行的两侧都有额外的填充,所以最终使得行比网格布局设计时更窄。如果您查看所需外观的图像,这意味着两个列加在一起会比顶部的一个更大的列更小,从而破坏了网格的自然结构。
这种方法的主要缺点是它需要额外的标记来包装每个列的内容。对我们来说,这个方法可行,因为只有特定的列需要它来实现所需的外观。
根据 Bootstrap 4 文档,您应该给父元素一个负边距 mx-n*
,然后给子元素一个正填充 px-*
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="row mx-n5">
<div class="col px-5">
<div class="p-3 border bg-light">Custom column padding</div>
</div>
<div class="col px-5">
<div class="p-3 border bg-light">Custom column padding</div>
</div>
</div>
<div class="row mt-n4">
和<div class="col-3 pt-4">
。 - Gavin这将在两列之间留出空间,如果您想更改默认宽度,可以使用mixin来修改默认的Bootstrap宽度。或者,您可以使用内联CSS样式指定宽度。
<div class="col-md-5 pull-left"></div>
<div class="col-md-5 pull-right"></div>
<div class="container">
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Content..
</div>
</div>
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Second Content..
</div>
</div>
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Second Content..
</div>
</div>
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Second Content..
</div>
</div>
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Second Content..
</div>
</div>
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Second Content..
</div>
</div>
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Second Content..
</div>
</div>
<div class="col-md-3 ">
<div class="col-md-12 well">
Some Second Content..
</div>
</div>
</div>
既然你使用了 bootstrap,我猜你想做这个东西 响应式。在这种情况下,你就不应该使用固定的尺寸,比如用 'px'。
作为其他解决方案的替代方法,我建议将两列都设置为 "col-md-5",而不是 "col-md-6",然后在包含列的父元素 "row" 中添加类 "justify-content-between",它会将空闲的空间放在中间,你可以在 bootstrap 文档 这里 查看。
当然,对于多于两列的情况,也适用此解决方案,只需相应调整 "col-md-x" 的值即可。
希望能有所帮助;)
Bootstrap 5 提供了一种更方便的方法来添加间隙:
g-*
类使列/行之间的间距相等gx-* gy-*
类使列/行之间的间距不同<div class="row g-2">
<div class="col-6">...</div>
<div class="col-6">...</div>
<div class="col-6">...</div>
<div class="col-6">...</div>
</div>
col-xs-12
相关的第二个 div 中添加width:100%; padding:0px 15x;
的效果与添加一个col-xs-12
的 div 相同。 - mix3d