[英]aligning icon based on text length
这听起来像是可以用flex解决的问题。
您正在寻找属性flex-wrap
。 在您的情况下, flex 将使您的项目保持内联,除非一个变得太长,在这种情况下,它会将其包装到下一行。
CSS 代码如下所示:
.item{
display:flex;
justify-content:center;
flex-wrap:wrap;
}
.icon{
flex-shrink:0;
}
HTML 应如下所示:
<div class="item">
<div class="icon"></div>
<div class="text">aaaaaaaaaa</div>
</div>
<div class="item">
<div class="icon"></div>
<div class="text">
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>
</div>
您的item
将是您应该分配 flex 的项目。
将图标作为伪元素,就像我通过 css 添加的一样。
div{ margin: 1em 0; border: 1px solid black; padding: 2em; position: relative; } div::before { position: absolute; left: 0; content:"icon"; }
<div>My Content</div> <div>My Log ContenttttttttttttttttttttttttttttttttttttMy Log ContenttttttttttttttttttttttttttttttttttttMy Log ContenttttttttttttttttttttttttttttttttttttMy Log ContenttttttttttttttttttttttttttttttttttttMy Log ContenttttttttttttttttttttttttttttttttttttMy Log ContenttttttttttttttttttttttttttttttttttttMy Log ContenttttttttttttttttttttttttttttttttttttMy Log ContenttttttttttttttttttttttttttttttttttttMy Log Contentttttttttttttttttttttttttttttttttttt</div>
首先,在根元素中添加图标和文本元素。
<div class="root"> <div class="icon">Icon</div> <div class="text">Text</div> </div>
这个根元素 styles:
.root{ display: flex; flex-wrap: wrap; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.