在 HTML 页面上垂直居中显示<ul>菜单



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

我在做什么错?

如果要垂直居中菜单,请像这样

演示

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 */
}

相关内容

  • 没有找到相关文章