0

我的 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>

我究竟做错了什么?

4

1 回答 1

2

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

演示

CSS

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

如果您希望您ul位于页面的中心,请这样做

演示 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 */
}
于 2012-11-13T06:12:56.497 回答