html - 如果我使用 Bootstrap 行作为其子 div 的 flex 容器而不是使用列,是否可以?
问题描述
我是 Web 开发的新手,并且一直在我的个人项目中使用 Bootstrap v4。根据 Bootstrap 文档中提到的网格系统,行中包含列。我注意到默认情况下,Bootstrap 行是 flex 容器,而我放在一行中的任何 div 都表现得像 flex 元素。所以他们缩小到里面的内容。
但是,如果我将 col 类应用于行内的那些 div,col div 现在会填满整行,并且不会缩小到其中内容的大小。因此,我有时更喜欢在没有 col 类的情况下连续使用子 div。我也可以直接将 justify-content-center 和 align-items-center 应用于行 div。
所以与其做,
<div class="row">
<div class="col">A</div>
<div class="col">B</div>
<div class="col">C</div>
</div>
我更喜欢这样做,
<div class="container">
<div class="row justify-content-center align-items-center">
<div>A</div>
<div>B</div>
<div>C</div>
</div>
</div>
直接使用行作为弹性容器是一个很好的习惯,还是我必须在其中放置列?
我发现很难将内容集中在一个列中,因为我最终还是将它变成了一个 flex 容器。
解决方案
理论上,您几乎可以将任何东西用作弹性容器,但.row
Bootstrap 中的 s 被专门配置为具有负边距的弹性容器,与.col-*
类配合得很好。因此,我建议你坚持这个.row
和.col-*
组合。
如果您想自己构建一个弹性容器,您可以使用Bootstrap 内置类d-flex
,例如,快速将元素转换为弹性盒。
如果在其父元素中有以下内容,则可以垂直和水平居中元素:
.parent {
display: flex;
justify-content: center;
align-items: center;
}
同样,这些也有 Bootstrap 内置类:
<div class="row">
<div class="col d-flex justify-content-center align-items-center">
<p>Your Content</p>
</div>
</div>
我不确定你是否认为这足够快......
推荐阅读
- caching - 如何处理 Sitecore 富文本字段中的图像标签,以便它可以自动处理媒体哈希?
- sql - Microsoft Access -> 具有内部联接和多项选择的不同计数
- javascript - 以下函数的哪一部分使其异步?
- list - 如何在 f# 中压缩列表?
- python - 需要数组的第一项但只得到第一个字母
- c# - BlockingCollection 上的 foreach 循环为什么以及如何无限运行?
- php - 为什么 laravel 在浏览器上工作但在 phpunit 测试中失败?
- c# - admob 插页式回调事件只工作一次,而不是第二次
- html - display:grid 不能在 chromium 和 nwjs 中的按钮元素上工作,在 Firefox 中工作正常
- javascript - jQuery:一个按钮,它检查自己的 DIV 中的所有复选框并取消选中所有其他复选框