【发布时间】:2014-07-19 01:13:38
【问题描述】:
我需要将图像和标题垂直对齐到中间。两者都需要绝对左边距。
在过去的 3 个小时里,我试图满足这两个要求,但我只能让对象正确对齐或适当的边距。如何使图像和标题与绝对边距垂直对齐?
这是我的想法,但似乎我只能使用浮动或垂直对齐与 img。
.top {
line-height: 50px;
}
.top img {
margin-left: 15px;
vertical-align: middle;
float: left;
}
.top h1 {
margin-left: 65px;
vertical-align: middle;
display: inline;
}
-
<div class="top">
<img src="http://www.w3schools.com/images/compatible_chrome.gif" />
<h1>Text aligned vertically with the image + absolute left margin</h1>
</div>
查看我的JSFiddle 实验。
编辑: 这是我要实现的目标的图像。文本必须在图标旁边(绝对边距,而不是相对),并且图标 + 文本需要垂直居中。
图像大小不是静态的,这就是为什么我需要文本位置从左边缘绝对。
【问题讨论】:
-
你需要解释最终结果是什么。就像您想在图像上放置文本还是在图像旁边放置文本或什么......也许是一个图像来向我们展示您想要的结果。那么我们可以更好地回答这个问题。
-
你想要这个吗? jsfiddle.net/76ftL/6 当您想使用
vertical-align时,删除浮动并使用display:inline-block用于h1和img。我将把它留在这里:w3fools.com -
您为什么不考虑将
position和top属性与边距结合使用? -
编辑了问题。 Tyblitz:我不想要静态的
top,因为图像大小可能会有所不同。我已经尝试过绝对的position,但这搞砸了垂直对齐。