html - 如何在列表中居中 <UL>

标签 html css html-lists center

我有一个我无法解决的问题。

我有一个列表列表,就像这个:

<ul id="nav">
    <li>
        <div  class="tabquad">
            Item 1
        </div>

        <ul>
            <li>
                <a class="item" href="index.jsp?quad=1">
                    <div  class="tabquad">
                        1.1
                    </div>
                </a>
            </li>
            <li>
                <a class="item" href="index.jsp?quad=2">
                    <div  class="tabquad">
                        1.2
                    </div>
                </a>
            </li>
            <li>
                <a class="item" href="index.jsp?quad=3">
                    <div  class="tabquad">
                        1.3
                    </div>
                </a>
            </li>
        </ul>
    </li>
    <li>
        <div  class="tabquad">
            Item 2
        </div>

        <ul>
            <li>
                <a class="item" href="index.jsp?quad=7">
                    <div  class="tabquad">
                        2.1
                    </div>
                </a>
            </li>
            <li>
                <a class="item" href="index.jsp?quad=8">
                    <div  class="tabquad">
                        2.2
                    </div>
                </a>
            </li>
            <li>
                <a class="item" href="index.jsp?quad=9">
                    <div  class="tabquad">
                        2.3
                    </div>
                </a>
            </li>
            <li>
                <a class="item" href="index.jsp?quad=10">
                    <div  class="tabquad">
                        2.4
                    </div>
                </a>
            </li>
            <li>
                <a class="item" href="index.jsp?quad=11">
                    <div  class="tabquad">
                        2.5
                    </div>
                </a>
            </li>
        </ul>
    </li>
</ul>

使用这个 CSS:

#nav, #nav ul {
    padding: 0;
    margin: 0 auto;
    list-style: none;
}

#nav {
    width: 45em;
    margin: 0 auto;
}

#nav a {
    display: block;
    width: 15em;
}

#nav li {
    float: left;
    width: 15em;
}
#nav li ul {
    position: absolute;
    width: 15em;
    left: -500em;
}

#nav li:hover ul {
    left: auto;
}

#nav li:hover ul, #nav li.sfhover ul {
    left: auto;
}
.item{
    color:#0E4063;
    text-decoration:none;
}
.tabquad{
    color:white;
    margin:auto;
    position:relative;
    border:1px solid #000;
    border-color:rgb(82,115,154);
    width:200px;
    height:30px;
    text-align:center;
    padding-top:10px;
    top:25px;
    background-color:rgb(0,56,130);
}
    .tabquad:hover{
    background-color:rgb(49,87,132);
    cursor: hand;
}

我的问题是:元素 1 列表和元素 2 列表不在我页面的中心,它们是左向的。

我已经尝试使用中心参数和 float 参数,但没有成功。

有什么建议吗?

你可以在这里找到一个 fiddle :Link

最佳答案

您必须将#nav 的宽度设置为正确的值(对应于内容的宽度)。将您的示例更改为以下值,这两个菜单将在页面上居中。

#nav {
    width: 30em;
    margin: 0 auto;
}

更新了 jsFiddle:http://jsfiddle.net/F9Wrb/17/

为了增加跨浏览器的兼容性,将以下 CSS 添加到 #nav 的父节点:

body {
    text-align: center;
}

关于html - 如何在列表中居中 <UL>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17211076/

相关文章:

jQuery form.serialize() 返回一个空字符串

javascript - Angular JS 提取 JSON 数据

html - 更改托管在 Github Pages 上的 Jekyll 博客的图标?

jquery - 图像预加载 jquery

html - 减少 Bootstrap 列表宽度

javascript - 旋转/平移和恢复后在 Canvas 上定位

html - GridView 居中问题

php - 使用 php 设置 <div> 属性的正确语法

JQuery,在 jsfiddle 中工作但不在现场的 li 元素的淡入循环

jquery - 为列表中不可点击的图像添加灯箱功能