[英]CSS: place text left and right around a centered image
我想在居中图像的左侧和右侧放置文本。 看到:
<div style="position:relative; display: table; margin: 2em auto;">
<span>TEXTSAMPLE 12345</span>
<img src="http://placehold.it/350x150" style="height: 4em;">
<span>12345</span>
</div>
我想出了如何使整个内容居中,但我希望图像不居中并相应地调整文本。
尝试使用float,但我没有得到适当的结果。 有任何想法吗?
谢谢
您可以在父级上使用flex
,然后在text div上使用flex
flex-grow
(或简称为flex: 1 0 0
),这样它们将填充图像剩余的所有可用空间(将图像置于中心),然后在第一个跨度中使用text-align
可以按图像放置文本。 我也将您的img
包裹在一个元素中,因为img
是因为flex子项通常最终会拉伸。
div { display: flex; } span:not(.img) { flex: 1 0 0; } span:first-child { text-align: right; }
<div> <span>TEXTSAMPLE 12345</span> <span class="img"><img src="http://placehold.it/350x150" style="height: 4em;"></span> <span>12345</span> </div>
要获得预期结果,请使用以下选项-display:flex将内容水平和垂直居中
CSS:
html,body{
height:100%;
}
body, div{
display:flex;
align-items:center;
justify-content:center;
}
HTML:
<body>
<div>
<span>TEXTSAMPLE 12345</span>
<img src="http://placehold.it/350x150" style="height: 4em;">
<span>12345</span>
</div>
</body>
Codepen- https: //codepen.io/nagasai/pen/vmeYzb
您可以创建一个无边框的3列1行表格。 在第一个和最后一个单元格中,根据需要放置文本; 在中央放置图片:
<table>
<tr>text 1</tr>
<tr><img...></tr>
<tr>text 2</tr>
</table>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.