css - 换行文本在 flex 行中占用了太多空间
问题描述
在下面的列表中,一些列表项包含文本。当文本换行时,<p>
元素的宽度有点过大,这会迫使蓝色方块向最右侧移动。
有没有办法让段落元素跨越最小宽度,以便文本根据需要换行而不将蓝色方块一直推到右边?
body {
margin: 0;
}
ul {
width: 300px;
background: snow;
margin: 0;
padding: 0 0 0 30px;
}
ul li {
display: flex;
align-items: center;
}
ul li div {
width: 40px;
height: 40px;
background: violet;
flex: 0 0 40px;
}
ul li p {
font-size: 24px;
padding: 16px;
text-align: left;
/* flex: 0 1 calc(100% - 68px); */
}
ul li i {
width: 28px;
height: 28px;
background: dodgerblue;
flex: 0 0 28px;
}
<ul>
<li>
<div></div>
<p>foo</p>
<i></i>
</li>
<li>
<div></div>
<p>foo very much longer text here</p>
<i></i>
</li>
<li>
<div></div>
<p>foo</p>
<i></i>
</li>
<li>
<div></div>
<p>foo some more text here</p>
<i></i>
</li>
</ul>
解决方案
推荐阅读
- macos - 修复 Mac 上的文件权限
- r - 为什么将日期时间放入R中的向量时会转换时区?
- swift - 如何暂停 touchesBegan 并且只使用 touchesMoved 反之亦然?
- javascript - 当我点击视频时,它不会弹出 [Jquery]
- python - Matplotlib饼图楔形透明度?
- javascript - vue.js 引用数据中的常量?
- javascript - 为什么div文本通过innerHTML用JavaScript调整后会自动恢复原状?
- mysql - MySQL 触发器不起作用
- ruby-on-rails - 工作时无法获得 Ruby
- python - 复杂的 django 查询,包括一对一模型