css - 如何让动态内容居中且宽度相同的孩子与flex?
问题描述
好吧,所以,我知道这是一个很长的镜头,但你永远不知道,所以我还是会问。
我有一个 flex 容器,它显示 4 个项目,这些项目的内容是动态生成的(在数据库中选择)。这意味着我不知道它们里面有什么。我只知道这是一些具有一定最大长度的文本。所以我基本上有这样的东西:
#container {
display: flex;
justify-content: center;
}
.item {
margin: 0 5px;
background-color: yellow;
}
<div id="container">
<div class="item">Content</div>
<div class="item">Long item content</div>
<div class="item">Short</div>
<div class="item">Other content</div>
</div>
我想要的是所有物品的尺寸相同,这将是它们中最大的(这里是第二个)的尺寸,有这样的东西:
#container {
position: absolute;
display: flex;
justify-content: center;
width: 85%;
left: 50%;
transform: translateX(-50%);
}
.item {
margin: 0 5px;
background-color: yellow;
flex: 1 1 0;
text-align: center;
}
<div id="container">
<div class="item">Content</div>
<div class="item">Long item content</div>
<div class="item">Short</div>
<div class="item">Other content</div>
</div>
但当然,不用摆弄容器的宽度和位置。我希望容器是 100% 的宽度,并且孩子们可以调整他们的大小来获得这个渲染。
有谁知道这样做的方法?
顺便说一句,我和 Angular 一起工作。
非常感谢。
解决方案
您是否考虑过display: grid
改用?
#container {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-column-gap: 4px;
grid-row-gap: 4px;
}
.item {
padding: 4px;
background-color: #aaaa00;
text-align: center;
}
<div id="container">
<div class="item">Content</div>
<div class="item">Long item content</div>
<div class="item">Short</div>
<div class="item">Other content</div>
<div class="item">fifth element</div>
</div>
添加了第五个元素以显示网格布局受到其他元素的尊重。
推荐阅读
- python - 在 Pandas 数据框中具有依赖性的条件累积和
- react-native - React Native 无法访问 4G 中的沙箱,但可以在 Wifi 中工作
- spring-boot - 在 JPA 存储库(Spring Data Jpa)中执行自定义查询
- python - Python项目设置损坏
- ceph - 如何配置 Ceph rgw sts 密钥
- laravel - 当有人单击laravel 8中的复选框时如何调用控制器功能
- pandas - Pandas 简单的 API 可以找出所有 inf 或 nan 单元格?
- actions-on-google - 调度智能家居操作
- php - 如何调试 codeigniter Web 应用程序上的问题
- sql - 我想在 Informix 数据库中将 Integer 转换为 hh:mm:ss 格式