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 に答える