如何在<li>?</li>中垂直对齐图像中间

时间:2012-05-23 03:43:22

标签: html css

地狱全部:    下面是html代码,我想垂直对齐li中的每个图像,经过google搜索后不知道。我可以使用jquery根据图像的高度设置margin-top,但它是 不方便的解决方案。

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312"/>
    <style type="text/css">
        .psdthumb2 ul {
            list-style: none;

        }
        li.qq2{
            height: 400px;
            width: 400px;
            background-color: red;
        }
    </style>
</head>

<body>
<div class="psdthumb2">
    <ul>
        <li>111111</li>
        <li class="qq2">
            <img src="http://mat1.qq.com/www/images/allskin/wmlogo.gif">
        </li>
    </ul>
    <ul>
        <li>222222</li>
        <li class="qq2">
            <img src="http://img11.360buyimg.com/n4/3445/522086b7-dc0a-432c-b027-7b2a80c79f29.jpg">
        </li>
    </ul>
</div>
</body>
</html>

提前感谢。

4 个答案:

答案 0 :(得分:2)

li.qq2{
   display : table-cell;
   vertical-align : middle;
   text-align : center;
}

这应该有用。

在Chrome,Safari,FF和IE 9中测试过。

答案 1 :(得分:2)

Here's一个工作示例:

<强> CSS

.psdthumb2 ul 
{
    list-style: none;
}
li.qq2
{
    height: 400px;
    width: 400px;
    background-color: red;
    display: table-cell;
    vertical-align: middle;
}​

<强> HTML

<div class="psdthumb2">
    <ul>
        <li>111111</li>
        <li class="qq2">
            <img src="http://mat1.qq.com/www/images/allskin/wmlogo.gif">
        </li>
    </ul>
    <ul>
        <li>222222</li>
        <li class="qq2">
            <img src="http://img11.360buyimg.com/n4/3445/522086b7-dc0a-432c-b027-7b2a80c79f29.jpg">
        </li>
    </ul>
</div>

基本上你只需要在你的css类中添加display: table-cell; vertical-align: middle;

希望它有所帮助!

答案 2 :(得分:1)

.qq2 img{vertical-align:middle;}

应该工作。

答案 3 :(得分:1)

使用更新的代码查看演示: - http://jsbin.com/ozixop/edit#javascript,html,live

您只需更新您的css并为垂直中间添加一些属性,如下所述: -

    li.qq2{
background-color: red;
display: table-cell;
height: 400px;
text-align: center;
vertical-align: middle;
width: 400px;
    }