html - Angular:无法在 PrimeNG FlexGrid 中并排定位两个 p-col-6
问题描述
我在我的 Angular7 项目中使用了Flex Grid,但是虽然在第一种情况下行为是正常的,并且我可以并排定位两个 p-col-6,但是在将它们移动到 p-col-12 后我无法将它们并排放置。这是问题所在:
#状态1:
<style>
.p-grid {
border: 2px solid red;
padding: 10px;
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
}
.p-col-6 {
box-sizing: border-box;
padding: 20px;
border: 2px solid green;
flex: 1 0 50%;
margin-bottom: 5px;
max-width: 50%;
}
</style>
<div class="p-grid">
<div class="p-col-6">
</div>
<div class="p-col-6">
</div>
<div class="p-col-6">
</div>
<div class="p-col-6">
</div>
</div>
这里没有问题。但是当如下所示使用它时,会出现问题:
#状态2:
<style>
* {
-webkit-box-sizing: border-box;
}
.p-grid {
border: 2px solid red;
padding: 10px;
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
}
.p-col-6 {
box-sizing: border-box;
padding: 20px;
border: 2px solid green;
flex: 1 0 50%;
margin-bottom: 5px;
max-width: 50%;
}
.p-col-12 {
box-sizing: border-box;
padding: 20px;
border: 2px solid green;
flex: 1 0 100%;
margin-bottom: 5px;
max-width: 100%;
}
</style>
<div class="p-grid">
<div class="p-col-12">
<div class="p-col-12">12</div>
</div>
<div class="p-col-12">
<div class="p-col-12">12</div>
</div>
<div class="p-col-12">
<div class="p-col-6">
6
</div>
<div class="p-col-6">
6
</div>
</div>
</div>
但即使改变宽度属性也不能使 col-6 并排。任何想法?
解决方案
问题是您添加的嵌套导致.p-col-6
不再是 flexbox 父级的子级,.p-grid
. 相反,.p-col-6
它是一个块级元素,不会像典型的行方向弹性子元素那样并排对齐。
<div class="p-grid"> /* <-- flexbox parent */
<div class="p-col-12"> /* <-- flexbox child */
<div class="p-col-12">12</div>
</div>
<div class="p-col-12"> /* <-- flexbox child */
<div class="p-col-6"> /* <-- NOT a flexbox child */
6
</div>
…
</div>
</div>
推荐阅读
- r - dplyr 友好的用户函数与连接函数一起使用
- javascript - 通过 JS 加载图像的 S3 存储桶 CORS 错误
- neural-network - NEAT 中的偏置神经元是如何产生的?
- javascript - 如何在 HTML5 JavaScript 中检测joy-con 输入/运动控件
- javascript - 使用 toLocaleString 在括号中显示数字以表示负值
- c++ - cpu 的谷歌基准报告时间不正确
- java - 将一组三个整数编码为一个唯一数字
- javascript - Node.js - 缓冲区与 Uint8Array
- android - Android Material Components 主题 - 当字段聚焦时更改 TextInputLayout/TextInputEditText 标签和下划线的颜色
- vb.net - 使用来自不同文本文件的两个字段执行线性搜索