每个项目与最宽的元素具有相同的宽度 [英] Every item to have the same width as the widest element
问题描述
我想创建这个布局:
当一个项目不适合容器时,我们可以移动到下一行:
当容器比宽项目小时,我们可以用多行包装内容
使用 Javascript 非常简单,这里是示例 https://jsfiddle.net/oucxsep4/.
var selection = document.querySelectorAll('li');var maxWidth = 0;//读for (i = 0; i
ul{边距:0;填充:0;列表样式:无;}李{背景:红色;向左飘浮;边距:5px;}
<li>首选</li><li>选择</li><li>这是更广泛的选择</li><li>其他选择</li>
是否可以不使用 Javascript,只使用 CSS?我试过 flexbox
没有成功.
使用简单的 css 是可能的:
.list-container {显示:inline-flex;弹性方向:行;对齐内容:居中;}.列表 {显示:弹性;弹性方向:列;}.项目清单 {文本转换:大写;背景颜色:rgb(200, 30, 40);字体大小:1.3em;文本对齐:左;填充:10px;边距:1px;显示:弹性;弹性方向:行;flex-wrap: 包裹;justify-content: flex-start;}
<div class="list-container"><div class="list"><div class="list-item">新鲜无花果</div><div class="list-item">松子</div><div class="list-item">亲爱的</div><div class="list-item">香醋</div>
<div class="list-container"><div class="list"><div class="list-item">新鲜无花果</div><div class="list-item">松子</div><div class="list-item">亲爱的</div><div class="list-item">香醋</div>