html - 为什么我的菜单栏不能居中?

标签 html css position center menubar

我对 HTML 和 CSS 还很陌生。我正在将菜单栏设为水平,但似乎无法将其与屏幕中心对齐。我试过margin:0 auto;<body align=center>但似乎都不起作用。

这是我的代码:

<html>
<head>

<style>

#menu {
margin:0 auto;
float:left;
list-style:none;
padding:0;
border-top:1 solid #ccc;
border-left:1 solid #ccc;
border-bottom:1 solid #ccc;
}

#menu li {
float:left;
background-color:#f2f2f2;
}

#menu li a {
display:block;
padding:10px 80px;
text-decoration:none;
color:#069;
border-right:1px solid #ccc;
font-weight:bold;
}   

#menu li a:hover {
color:#c00;
background-color:#fff;
}

</style>

</head>

<body>

<ul id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">Gallery</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">FAQs</a></li>
<li><a href="#">Donate</a></li>
</ul>

</body>
</html>

如您所见,我正在使用 margin:0 auto; , 但它不起作用。

最佳答案

你有 float 元素。除非您的容器被视为 block 或内联 block ,否则 float 元素不会遵循该居中。

要达到预期的结果,您需要执行类似 this example 中的操作.

通过添加容器、居中边距并在 #menu 上使用 display: inline-block,它们将像普通内容一样居中。请注意,这在 IE 中可能不起作用,在这种情况下,您应该添加一行 *display: inline;

Example |代码

HTML

<div class='container'>
    <ul id="menu">
        <li><a href="#">Home</a></li>
        <li><a href="#">Gallery</a></li>
        <li><a href="#">Contact</a></li>
        <li><a href="#">FAQs</a></li>
        <li><a href="#">Donate</a></li>
    </ul>
</div>

CSS

.container{
    text-align: center;
    width: auto;
    margin: 0 auto;
}

#menu {
    margin:0 auto;
    display: inline-block;
    list-style:none;
    padding:0;
    border-top:1 solid #ccc;
    border-left:1 solid #ccc;
    border-bottom:1 solid #ccc;
}

#menu li {
    float: left;
    background-color:#f2f2f2;
}

#menu li a {
    display:block;
    padding:10px 10px;
    text-decoration:none;
    color:#069;
    border-right:1px solid #ccc;
    font-weight:bold;
}   

#menu li a:hover {
    color:#c00;
    background-color:#fff;
}

关于html - 为什么我的菜单栏不能居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10014770/

相关文章:

javascript - 弹出图像不会停留在同一个地方

search - ElasticSearch-查询与第一个位置匹配的字段上的数据

php - WordPress 链接和 CSS

css - 自定义 CSS 以创建 WordPress 下拉菜单

javascript - 我怎样才能制作一个向上滑动以显示页面而不完全隐藏它的div?

HTML/CSS - 我怎样才能让我的表格列永远不会比我指定的宽度更宽

css - 列表的最后一个子伪类不起作用

java - Spany 2 与 MigLayout 一行

javascript - document.createElement ('img' ) v/s new Image()?哪一个要附加到 DOM?

html - 从 CSS 背景延迟加载 GIF 图像