css - 多行文本使 svg 缩小
问题描述
我正在尝试使用 svg + text 和 flexbox 创建行,但我遇到了一个问题。
当文本太长并占用 2 行时,svg 正在缩小。线条越多,越缩水
注意:svg 暂时是一个占位符
这是代码:
<div class="wrapper">
<div class="container">
<div class="svg"></div>
<p>lorem</p>
</div>
<div class="container">
<div class="svg"></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. </p>
</div>
</div>
和CSS:
.wrapper {
width: 800px;
margin-right: auto;
margin-left: auto;
display: flex;
flex-direction: column;
padding: 40px 12px;
}
.container {
display: flex;
align-items: flex-start;
margin-bottom: 20px;
}
.svg {
margin-right: 20px;
height: 20px;
width: 20px;
background-color: #DEDEDE;
}
p {
margin: 0;
}
这是一个codepen,所以你可以看到我所说的“缩小”:https ://codepen.io/anon/pen/YdWyBM?editors=1100
有任何想法吗?
谢谢
解决方案
你的魔术是.svg {flex-shrink: 0;}
。这就是您禁用 flex child 收缩的方式。
.wrapper {
width: 800px;
margin-right: auto;
margin-left: auto;
display: flex;
flex-direction: column;
padding: 40px 12px;
}
.container {
display: flex;
align-items: flex-start;
margin-bottom: 20px;
}
.svg {
margin-right: 20px;
height: 20px;
width: 20px;
background-color: #DEDEDE;
flex-shrink: 0;
}
p {
margin: 0;
}
<div class="wrapper">
<div class="container">
<div class="svg"></div>
<p>lorem</p>
</div>
<div class="container">
<div class="svg"></div>
<p>lorem</p>
</div>
<div class="container">
<div class="svg"></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. </p>
</div>
<div class="container">
<div class="svg"></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris </p>
</div>
</div>
推荐阅读
- javascript - 在更改 Vue.Js + HTML Range 时重新加载画布
- html - 我创建了一个表格,但它不是水平滚动
- javascript - 从排序数组 JS 中删除重复项
- amazon-dynamodb - DynamoDB docClient 扫描没有响应
- css - 如何仅使用 css 设置挤压框的样式
- prestashop - 如何在 Prestashop 1.7 中跳过付款步骤
- sql-server - 将 SQL Server 函数迁移到 PostgreSQL
- tinymce - TinyMCE 5:插入时总是向块引用元素添加一个类(通过单击工具栏上的“块引用”按钮)
- javascript - 如何禁用图像拖动
- python - 去元组替代