【问题标题】:Center a Navigation Bar将导航栏居中
【发布时间】:2012-02-27 12:49:53
【问题描述】:

使用下面的 CSS,我试图在页面顶部创建一个导航栏(固定在顶部),但不是在屏幕的绝对左侧,我希望它居中。

ul#list-nav
{
    position:fixed;
    top:0;
    left:0;
    margin:auto;
    padding:0px;
    width:100%;
    height:28px;
    font-size:120%;
    display:inline;
    text-decoration:none;
    list-style:none;
    background-color: #1F1F1F;
    border:none;
    z-index:1000;
}

ul#list-nav li
{
    float:left;
}
ul#list-nav a
{
    background-color:#1F1F1F;
    color:#C4C4C4;
    /*display:block;*/
    padding:5px 15px;
    text-align: center;
    text-decoration:none;
    font-size:14px;
}

ul#list-nav a:hover
{
    background-color:#4D4D4D;
    text-decoration:none;
}

ul#list-nav a:active
{
    background-color:#9C9C9C;
    text-decoration:none;
}

目前尝试使其成为垂直列表,或使按钮从中心开始(而不是居中)。我怎样才能做到这一点?

编辑:下面是 HTML ...这个列表是唯一的样式。

<ul id="list-nav">
            <li><a href="/ourbs/index.php">Home</a></li>
            <li><a href="/ourbs/categories/projects.php">Projects</a></li>
            <li><a href="/ourbs/categories/opinion.php">Opinion</a></li>
            <li><a href="/ourbs/categories/humour.php">Humour</a></li>      
            <li><a href="/ourbs/categories/games.php">Games</a></li>
            <li><a href="/ourbs/categories/movies.php">Movies</a></li>
            <li><a href="/ourbs/categories/tvshows.php">TV Shows</a></li>
</ul>

EDIT2:如果这有帮助,这里是一个 jsFiddle http://jsfiddle.net/752jU/1/

【问题讨论】:

  • 到目前为止,您收到的答案只是猜测,没有看到您的 HTML。也发布一个 jsFiddle 会很棒。
  • 我已经添加了 HTML,但我现在会查看 jsFiddle,谢谢
  • Centering the Navigation bar 和许多其他人的可能副本。

标签: html css


【解决方案1】:

您需要在 3 个嵌套的 div 中插入列表:

在你的 CSS 中:

div#container1
{
  position:fixed;
  top:0;
  left:0;
  width:100%
}

div#container2
{
  margin-left:auto;
  margin-right:auto;
  text-align: center;
}

div#container3
{  
  display:inline-block; 
}

然后在你的html中:

<div id="container1">
<div id="container2">
<div id="container3">
<ul id="list-nav">
...
</ul>
</div>
</div>
</div>

请参阅 http://jsfiddle.net/jZQ4v/ 以获取正确居中的代码版本

【讨论】:

  • 这通常是个好建议。但是,您还没有看到 OP 的 HTML,所以我不知道您如何给出任何答案。
  • @rar,我不知道你希望任何人在没有看到你的 HTML 的情况下解决这个问题。
  • 您不能只是将您之前的列表复制粘贴到“...”中。例如,您可能希望从列表样式中删除“位置:固定”
  • 我已经添加了 HTML,我认为因为它只是样式化的列表,所以无论有没有 HTML,它都不会有太大的区别,但我已经将它包含在原帖。
  • 它仍然拒绝移动到中心。您的答案在您的小提琴中有效,但当我尝试将其添加到我的时则无效。
【解决方案2】:

用途:

#list-nav {
    padding: 0px;
    height: 28px;
    font-size: 120%;
    margin: auto;
    text-align: center;
    list-style: none;
    background-color: #1F1F1F;
    border: none;
    z-index: 1000;
}
#list-nav li {    
    display: inline;    
    text-align: center;
}
#list-nav a {   
    color: #C4C4C4;
    background-color: #1F1F1F;   
    display: inline;   
    text-decoration: none;
    padding: 5px 15px;    
    font-size: 14px;
}
#list-nav a:hover {  
    background-color: #4D4D4D;   
    text-decoration: none;
}
#list-nav a:active {   
    background-color: #9C9C9C;  
    text-decoration: none;
}

我删除了所有不会以任何方式改变菜单的不必要的编码。

在此处查看现场演示:http://jsfiddle.net/YFDeX/1/

编辑:为与 IE6+ 兼容而更改

希望这会有所帮助。

【讨论】:

  • 需要注意的是display: inline-blockno good below IE 8
  • @Sparky672 认为它是固定的,兼容 IE6+ 和所有其他浏览器,不需要额外的元素。
  • 您不必修复它...为读者记录兼容性问题是件好事。
  • @Sparky672 我通常喜欢尽可能多地与浏览器兼容,我只是没有意识到 IE 6&7 不支持 inline-block,谢谢你向我指出.
  • @rar,有了 Danny 的最后一个 jsFiddle,这个答案已经完全演变成我首先解决的问题(fixed position wrapper and display inline)。大声笑。
【解决方案3】:

您只需要一个包装器div 即可完成此操作...

http://jsfiddle.net/752jU/5/

注意:通过使用display: inline,我的答案也是good in IE 6 & 7,如果这很重要的话。

CSS:

div#wrapper {
    position: fixed;
    top: 0;
    width: 100%;
    text-align: center;
    height:28px;
    background-color: #1F1F1F;
    border: none;
    z-index: 1000;
}
ul#list-nav {
    padding: 0px;
    width: auto;
    font-size: 120%;
    text-decoration: none;
    list-style: none;
}
ul#list-nav li {
    display: inline;
}

HTML:

<div id="wrapper">
    <ul id="list-nav">
        <li><a href="/index.php">Home</a></li>
        <li><a href="/ourbs/categories/projects.php">Projects</a></li>
        <li><a href="/categories/opinion.php">Opinion</a></li>
        <li><a href="/categories/humour.php">Humour</a></li>        
        <li><a href="/categories/games.php">Games</a></li>
        <li><a href="/categories/movies.php">Movies</a></li>
        <li><a href="/categories/tvshows.php">TV Shows</a></li>
    </ul>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 2012-11-14
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多