Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 居中水平列表样式菜单_Html_Css - Fatal编程技术网

Html 居中水平列表样式菜单

Html 居中水平列表样式菜单,html,css,Html,Css,我有以下代码: CSS #main { width:100%; height:120px; border:solid 1px #efefef; } #links { background-color:#808080; } #links ul { margin:0px auto; padding:0px; list-style:none; background-color:#eee; height:30px; } #li

我有以下代码:

CSS

#main
{
    width:100%;
    height:120px;
    border:solid 1px #efefef;
}

#links
{
    background-color:#808080;
}

#links ul
{
    margin:0px auto;
    padding:0px;
    list-style:none;
    background-color:#eee;
    height:30px;
}

#links ul li
{
    float:left;
    margin:0px;
    list-style:none;
    padding:0px 10px;
}
#links
{
    /* .... */
    overflow-x: hidden ;
}
HTML

<div id="main">
    <div id="links">
        <ul>
            <li>Link 1</li>
            <li>Link 2</li>
            <li>Link 3</li>
            <li>Link 4</li>
            <li>Link 5</li>
            <li>Link 6</li>
        </ul>    
    </div>
</div>

  • 链接1
  • 链接2
  • 链接3
  • 链接4
  • 链接5
  • 链接6
列表项是动态的,所以我不能在#links层上使用固定宽度,我希望列表完全居中。上面的代码不起作用,我有多种方法,但似乎无法使列表居中

我不想使用表格,部分原因是我讨厌使用表格作为菜单,而且我最终会有水平的子菜单项

有什么建议吗

谢谢
Steve

以下是可能的解决方案:

添加:

text-align:center;
#链接


#links ul
将左右边距设置为自动。如果容器被告知将其内容物放在中心位置,这将使它们的大小相等。上面这一行就可以了。

给萨夫拉兹的答案一点风格细节(谢谢你也为我工作!)

当我设置左:ul的50%,左:li项目的50%。 浏览器显示一个水平滚动条,尽管没有什么可看的(滚动条在那里是因为UL产生的溢出,左50%),因此解决方案是将此样式添加到包装div(在本例中为id=links):

CSS

#main
{
    width:100%;
    height:120px;
    border:solid 1px #efefef;
}

#links
{
    background-color:#808080;
}

#links ul
{
    margin:0px auto;
    padding:0px;
    list-style:none;
    background-color:#eee;
    height:30px;
}

#links ul li
{
    float:left;
    margin:0px;
    list-style:none;
    padding:0px 10px;
}
#links
{
    /* .... */
    overflow-x: hidden ;
}

“边距0自动”仅在给定宽度时有效! 您需要使用内联块,然后文本居中对齐

ul {
    text-align: center;        
}
ul > li {
    display: inline-block;
}

品质!谢谢这正是我想要的。以前试过这个,但不幸的是,它不起作用。还是谢谢你!