使 ul 内部的列表垂直居中



我可以将我的 UL 居中。但我正试图让我的清单成为 vertical-align:middle .但是这个词仍然没有移到中间。

我的 CSS 代码

.topnav{
    width:100%;
    height:50px;
    background:grey;
    display:inline-block;
}
.topnav ul{
    list-style-type:none;
    margin:0 auto;
    width:1000px;
    border:black solid 1px;
    height:50px;
}
.topnav ul li{
    border:black solid 1px;
    text-align:center;
    display:block;
    width:180px;
    float:left;
    height:50px;
}

我的网页代码

<div class="topnav">
    <ul>
        <li>
            <a href="#">A</a>
        </li>
        <li>
            <a href="#">B</a>
        </li>
        <li>
            <a href="#">C</a>
        </li>
    </ul>
</div>

所有新的编辑都挖掘。

完整代码如下。

JS小提琴小提琴中间解

.CSS:

.wrapper {
    width: 100%;
    height: 50px;
    background: green;
    display: table;
}
.topnav {
    width:1000px;
    height:50px;
    background:red;
    display:table;
    margin: 0 auto;
}
.topnav ul {
    list-style-type:none;
    margin:0 auto;
    border:black solid 1px;
    height:50px;
    display:table-row;
}
.topnav ul li {
    border:black solid 1px;
    width:180px;
    height:50px;
    text-align:center;
    vertical-align: middle;
    display:table-cell;
    clear: none;
}
a {
    color: yellow;
}

.HTML

<div class="wrapper">
    <div class="topnav">
        <ul>
            <li><a href="#">A</a>
            </li>
            <li><a href="#">B</a>
            </li>
            <li><a href="#">C</a>
            </li>
        </ul>
    </div>
</div>

这里的主要变化是增加了一个包装器div 以允许内部div 居中。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        .wrapper {
            width: 45%;
            margin: 0 auto;
        }
        .topnav{
            width:100%;
            height:50px;
            background:grey;
        }
        .topnav ul{
            list-style-type:none;
            border:black solid 1px;
            height:50px;
            margin: 0;
            padding: 0;
        }
        .topnav ul li{
            border:black solid 1px;
            text-align:center;
            vertical-align: middle;
            display: inline-block;
            width: 180px;
            height:50px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
<div class="topnav">
    <div class="wrapper">
        <ul>
            <li><a href="#">A</a></li>
            <li><a href="#">B</a></li>
            <li><a href="#">C</a></li>
        </ul>
    </div>
</div>
</body>
</html>

这不是确切的解决方案,但可以解决问题.
调整 .wrapper 和 .topnav ul li 中的宽度以添加更多菜单项并将它们居中
如果这个剂量不起作用,那么您可以使用定位来定位 ul.
希望这会有所帮助。

最新更新