Bootstrap 3 中的网格系统需要您从 Bootstrap 2 的思维中进行一些横向转变。BS2 中的列 ( col-*
) 与 BS3 中的列 (col-sm-*
等) 不同,但有一种方法可以实现相同的结果。
查看您的小提琴的此更新:http: //jsfiddle.net/pjBzY/22/(代码复制如下)。
首先,如果您想要所有尺寸的 50/50 列,则不需要为每个屏幕尺寸指定 col。col-sm-6
不仅适用于小屏幕,也适用于中大屏幕,意思class="col-sm-6 col-md-6"
是多余的(如果你想在不同尺寸的屏幕上改变列宽,好处就来了,比如col-sm-6 col-md-8
)。
至于边距问题,负边距提供了一种以比 BS2 更灵活的方式对齐文本块的方法。您会在 jsfiddle 中注意到,第一列中的文本在视觉上与段落中的文本对齐row
——除了“xs”窗口大小,其中不应用列。
如果您需要更接近 BS2 中的行为,即每列之间有填充并且没有视觉负边距,则需要为每列添加一个内部 div。inner-content
在我的 jsfiddle 中查看。在每一列中放置这样的内容,它们的行为方式与旧col-*
元素在 BS2 中的行为方式相同。
jsfiddle HTML
<div class="container">
<p class="other-content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse aliquam sed sem nec viverra. Phasellus fringilla metus vitae libero posuere mattis. Integer sit amet tincidunt felis. Maecenas et pharetra leo. Etiam venenatis purus et nibh laoreet blandit.</p>
<div class="row">
<div class="col-sm-6 my-column">
Col 1
<p class="inner-content">Inner content - THIS element is more synonymous with a Bootstrap 2 col-*.</p>
</div>
<div class="col-sm-6 my-column">
Col 2
</div>
</div>
</div>
和 CSS
.row {
border: blue 1px solid;
}
.my-column {
background-color: green;
padding-top: 10px;
padding-bottom: 10px;
}
.my-column:first-child {
background-color: red;
}
.inner-content {
background: #eee;
border: #999;
border-radius: 5px;
padding: 15px;
}