css – 如何使用引导程序调整每行的列数

前端之家收集整理的这篇文章主要介绍了css – 如何使用引导程序调整每行的列数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用Bootstrap v4alpha,我正在尝试在网格下面布置带有标题的24张图片.让我们用一个标题调用一张图片.

1)我希望瓷砖垂直和水平对齐,如果使用<表>顶部和左侧对齐的标签.我的照片尺寸相同,但字幕长度不一.

2)列数根据屏幕大小进行调整.在小屏幕上,我们将有2列12行.在中等屏幕上3列4行.在大屏幕上4列和3行.

我尝试了Cards Columns,这几乎是我需要的,除了砖石外观.我希望它们也按行排列.

我也尝试了使用col-sm-6,col-md-4和col-lg-3的Grid Options,但问题在于我需要在标签中包装固定数量的瓦片< div class =“row”>.

在以前版本的Bootstrap中也存在此问题,但如果有针对v4的特定解决方案,我也想知道.

解决方法

你可以用一个单独的< div class =“row”> …< / div>来包装所有.col – * – *.您的内容将在需要时包装.

现在,至于您的另一个问题:您不需要确保每个屏幕大小的每行中只有12列.如果列不再适合(例如,你有.col – * – 11然后.col – * – 2),它将自动转到下一行,即使前一行不是100%已满.

另一个例子来自Bootstrap’s documentation

<div class="row">
  <div class="col-9">.col-9</div>
  <div class="col-4">.col-4<br>Since 9 + 4 = 13 &gt; 12,this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
  <div class="col-6">.col-6<br>Subsequent columns continue along the new line.</div>
</div>

这里.col-4将引入第10-13列,但由于只有12列,所以整个div进入下一行.

Bootstrap 4

I made a fiddle向您展示,这将如何在Bootstrap 4中工作.v4的网格系统基于flexBox,在flexBox中,项目将增长到使用所有可用的垂直空间.这意味着在一行列中,每列将与最高列一样高.

这与Bootstrap 3有很大不同,意味着无需补偿内容的不同高度.

Bootstrap 3

我最初的答案基于Bootstrap 3并且存在一些差异,所以我会在这里保留原始答案(略微修改)以及任何需要它的人.

在Bootstrap 3中,您可以完全省略.row并使用.container作为所有.col – * – *的父级.

您可以查看this fiddle以查看使用.row和不使用.row来布局图像网格之间的区别.只需调整结果框的宽度,向下滚动即可查看连续3个图像时的差异.当然,您也可以使用一个.row将所有.cols放入其中.

补偿不同的内容高度

但是,由于Bootstrap 3使用浮点数而不是flexBox,这会引入一个问题,即如果列的高度不同,当您希望它从左侧开始时,下一列可能会从上一列的最高元素的右侧开始的屏幕.因此,为了将元素推到所有先前元素下方,您需要清除这些浮点数.

Bootstrap 3为此提供了一个类,您只需插入< div class =“clearfix”>每当你想要清除浮子.此外,您必须隐藏屏幕大小的div,您不想清除浮动,您可以使用类.hidden- *来实现.

<div class="container">
  <div class="col-sm-6 col-md-4 col-lg-3">
  </div>
  <div class="col-sm-6 col-md-4 col-lg-3">
  </div>

  <!-- on small devices the first row is full here,so we add a clearfix and hide it for medium and large sizes -->
  <div class="clearfix hidden-md hidden-lg"></div>

  <div class="col-sm-6 col-md-4 col-lg-3">
  </div>

  <!-- on medium devices the first row is full here,so we add a clearfix and hide it for small and large sizes -->
  <div class="clearfix hidden-sm hidden-lg"></div>

  <div class="col-sm-6 col-md-4 col-lg-3">
  </div>
</div>

我再次制作了一个fiddle来展示整个过程.

猜你在找的CSS相关文章