Red*_*Red 9 css flexbox twitter-bootstrap bootstrap-4
是否(允许)建议将.col-*
's 用作.d-flex
容器中的子项?或者不是.d-flex
应该使用的方式而是使用.row
?
在Bootstrap 4 Docs 中,我找不到任何.col-*
在.d-flex
容器中使用 a 的示例。他们只使用这样的布局
<div class="d-flex flex-row">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是这些.p-2
类不会使这些列响应。他们只有一个padding
定义,没有width
给出。
所以例如我想要这样的东西:
<div class="d-flex flex-row">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse">
<div class="p-2">Flex item 1</div>
<div class="p-2">Flex item 2</div>
<div class="p-2">Flex item 3</div>
</div>
Run Code Online (Sandbox Code Playgroud)
根据 Bootstrap 是好的还是坏的做法?我找不到任何相关.d-flex
和.col-*
组合的内容。
Zim*_*Zim 10
正如文档所解释的那样......
“行是列的包装器。每列都有水平填充(称为装订线),用于控制它们之间的空间。然后在具有负边距的行上抵消这种填充。这样,列中的所有内容都在视觉上向下对齐左边。”
因此,col-*
应该是直系子孙.row
。并且.row
和col-*
一起设计为网格。这允许列根据需要换行到下一行。包装在您的示例中有效,因为flex-wrap
.
因此,col-*
应该有两个原因row
而不是d-flex
:
比较col-*
里面row
VS d-flex
:https://www.codeply.com/go/82ecXXvpkO
我找不到
.col-*
在.d-flex
容器中使用 a 的任何示例。
这应该是你的第一个迹象,是的,你应该依赖.row
. 本d-flex
类应用下面的CSS:
.d-flex {
display: -webkit-box!important;
display: -ms-flexbox!important;
display: flex!important;
}
Run Code Online (Sandbox Code Playgroud)
而就是这样。同时.row
与.container
(或 )交互.container-fluid)
。它还提供额外的边距设置,以便您的嵌套.col-*-*
项目正确定位。
的d-flex
类是引导4S“实用程序”类的一部分; 这些类旨在为您的布局和结构提供额外的灵活性;不要替换更强大的组件,如 Grid。