在一行文本中垂直居中图像的最简单方法是什么?

时间:2010-09-18 06:26:26

标签: html html-table vertical-alignment

目前我使用:

<table cellpadding="0" cellspacing="0">
    <tr><td><a href="cv.pdf" target="_blank">
    <img src="graphics/pdf.gif" width="24" height="24" /></a></td>
    <td width="10px"></td> <!--that just spaces the image from the text-->
    <td>
        <a href="cv.pdf" target="_blank"><em>Download CV.</em></a>
    </td></tr>
</table>

相当笨重,但渲染得很完美。有没有更好的方法呢?

2 个答案:

答案 0 :(得分:3)

在图片上设置以下CSS属性:

vertical-align: middle;

答案 1 :(得分:0)

抛弃桌子,将两个锚点合并为一个,删除width标记上的heightimg,删除em标记然后< / em>使用vertical-align使图像居中。您还可以使用margin在文本和图像之间添加一些空格,并使用font-style作为斜体文本。

HTML:

<p class="cv">
    <a href="cv.pdf">
        <img src="image/source.png" /> Download CV.
    </a>
</p>

CSS:

.cv {
    font-size: 14px;
    line-height: 1.4em;
    font-family: Arial, sans-serif;
}

.cv a {
    text-decoration: none;
    color: #999;
}

.cv img {
    vertical-align: middle;
    margin-right: 10px;
}

.cv a:hover {
    color: #333;
}

看得更清楚。删除widthheight可以让图片更好地显示(因为浏览器会对图像插值感到厌烦。如果您需要的尺寸与可用尺寸不同,则应自行调整大小。)并删除target="_blank"将减少用户的烦恼。

在此处查看:http://jsfiddle.net/kZeCt/1/