CSS水平居中浮动

3

我有一个简单的菜单,我想使用CSS将其放置在页面中央。 这是菜单:http://jsfiddle.net/kSV4K/4/

以下是代码, CSS:

ul#menu { margin:0; padding:0; list-style-type:none; }
ul#menu li { position:relative; float:left; border-bottom:4px solid #efefef; margin-right: 0px; padding-right: 0px; padding-bottom: 5px;}
ul#menu .current { border-bottom:4px solid #3d496a;}
ul#menu li:hover { border-bottom:4px solid #3d496a;}
ul#menu li a { padding:2px 2px; text-decoration:none; font:bold 8px Verdana, Georgia, "Times New Roman", Times, serif; color:#68759c;}
ul#menu li a:hover { color:#8895b8; border:none; }

HTML:

<ul id="menu">
    <li class="current"><a href="#" data-id="div1">Description</a></li>
    <li><a href="#" data-id="div2">Shipping and payment</a></li>
    <li><a href="#" data-id="div3">Returns</a></li>
    <li><a href="#" data-id="div4">Feedback</a></li>
</ul>

有什么建议吗?

我强烈建议在你的fiddle中加入更多的上下文:应用于容器和周围元素的样式可能会影响其位置。此外,请注意,ul#menu是一种不好的选择。你的页面上只应该有一个id为“menu”的项目,因此无需使用ul前缀。 - Laurent S.
2个回答

4

不要使用浮动,而是在

  • 元素上使用内联块,然后应用text-align: center
      块上就可以居中显示。

      ul#menu {
          margin:0;
          padding:0;
          list-style-type:none;
          text-align: center;
      }
      ul#menu li {
          display: inline-block;
          border-bottom:4px solid #efefef;
          margin-right: 15px;
          padding-right: 20px;
          padding-bottom: 5px;
      }
      

      查看 fiddle:http://jsfiddle.net/audetwebdesign/kSV4K/3/


  • 1
    你还可以给菜单添加一些宽度,并应用 margin: 0 auto; 来使其居中,这里是 fiddle http://jsfiddle.net/xtatanx/swT4F/。我建议你的菜单应该被包含在一个 <nav> 标签或一个 <div> 中。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接