看起来很容易,但我不能找出正确的css平衡。
我想要的,是这个结果(橙子块是图像):
这很容易,如果图像有固定的高度和文本固定的属性(行高等),但我需要这个工作,即使我把它插入到我的网站上的不同地方,它需要自动调整到图像和文本属性的大小。因此,如果图像变大,或文本具有不同的大小/行高,它仍然有效。我可能会省略文本变化,但不同大小的图像需要工作。
到目前为止,我只得到了display: flex
与align-items: center
,但这只适用于一行,一旦它打破了新的一行,它的中心整个文本块,这是错误的。一定有一些css技巧来实现这一点,对不对?
编辑:经过另一次尝试,我设法想出了更好的东西,但文本仍然需要控制(文本的最高值必须是:行高/ -2)
.txticon {max-width: 250px; display: block; margin-bottom: 15px; display: flex;}
.txticon::after {content: ""; clear: both; display: table;}
.txticon img {float: left; margin-right: 10px;}
.txticon span {line-height: 20px; top: -10px; position: relative; overflow: hidden; transform: translateY(50%);}
<a class="txticon" href="#">
<img class="icon" src="https://via.placeholder.com/100x100" alt="">
<span>One line text</span>
</a>
<a class="txticon" href="#">
<img class="icon" src="https://via.placeholder.com/100x100" alt="">
<span>Multiple line text which is really really really long</span>
</a>
2条答案
按热度按时间fumotvh31#
这可能有用
oyt4ldly2#
文本块上的
margin-top
是否有效?