垂直居中HTML页面上的<ul>菜单</ul>

时间:2012-11-13 06:07:34

标签: css html html-lists

我的CSS经验非常少,所以这可能是一个非常基本的问题。我在页面中间垂直居中<ul>菜单时遇到问题。我尝试了以下内容:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <style type="text/css">
            body, html {
                height: 100%;
                margin: 0;
                padding: 0;
            }
            div {
                width: 100%;
                height: 100%;
                position: absolute;
                display: table;
                text-align: center;
                vertical-align: middle;
                border: 10pt solid black;
            }
            ul {
                display: block;
            }
            ul li {
                display: inline-block;
                background-color: yellow;
                border: 1pt solid black;
            }
        </style>
    </head>
    <body>
        <div>
            <ul>
                <li>item 1</li>
                <li>item 2</li>
                <li>item 3</li>
            </ul>
        </div>
    </body>
</html>

我做错了什么?

1 个答案:

答案 0 :(得分:2)

如果你想垂直居中你的菜单就像这样做

Demo

CSS

ul {
    position: absolute;
    top: 50%;
    margin-top: -15px; /* 1/2 of the total height of your ul */
}

如果您希望ul位于页面的中心,请执行此操作

Demo 2

CSS

ul {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -15px; /* 1/2 of the total height of your ul */
    margin-left: -50px; /* 1/2 of the total width of your ul assumed here as -50 */
}