如何垂直对齐水平ul列表中的项目与图像?

时间:2013-04-25 07:59:57

标签: html css vertical-alignment

我有以下HTML代码:

<div id="footer">
    <ul id="yw1">
        <li><a href="/index.php/site/login">About</a></li>
        <li><a href="/index.php/site/login">FAQ</a></li>
        <li><a href="http://twitter.com"><img src="/images/twitter_icon.png" /></a></li>
        <li><a href="http://twitter.com"><img src="/images/facebook_icon.png" /></a></li>
    </ul>       
</div>

以下CSS样式:

#footer {
    margin-top: 25px;
    background: #000000 url(images/background.png) repeat;
    padding: 25px;
    box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, .2);
}
#footer ul {
    margin: 0;
    padding: 0px 0px 0px 0px;
    list-style: none;
    line-height: normal;
}
#footer li {
    padding-left: 20px;
    display: inline;
    list-style-type: none;
}
#footer a {
    color:white;
    letter-spacing: 1px;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    font-weight: 300;
}

现在的结果是:

screenshot

但我需要垂直对齐图像和文本链接。我该怎么办?

4 个答案:

答案 0 :(得分:9)

默认情况下,img代码是内嵌的,它会垂直对齐基线,因此您需要vertical-align: middle;用于img代码

Demo

CSS

#footer img {
    vertical-align: middle;
}

答案 1 :(得分:0)

您需要vertical-align: middle上的#footer li和图片上的#footer a + display: inline-block

#footer li {
    /* ... */
    display: inline;
    vertical-align: middle;
}
#footer a {
    /* ... */
    vertical-align: middle;
    display: inline-block;
}

http://jsfiddle.net/dfsq/7kssu/

答案 2 :(得分:0)

用户关注CSS。

li { display:inline-block; vertical-align:middle }

答案 3 :(得分:-1)

只需更改你的CSS

来自

line-height:normal

line-height:30px