【问题标题】:How can I centre an unordered list of floated items to the page如何将浮动项目的无序列表居中到页面
【发布时间】:2011-09-15 03:02:12
【问题描述】:

如果我有一个无序列表,例如

<ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="index.html">About</a></li>
    <li><a href="index.html">Service</a></li>
    <li><a href="index.html">Blog</a></li>
</ul>

使用 CSS 很好地对齐它们,例如

ul {
    margin: 0px;
    padding: 0px;
    list-style: none;
}
ul li {
    float: left;
    line-height: 50px;
    margin-left: 5px;
    margin-right: 5px;
}
ul li a {
    display: block;
    height: 46px;
    padding-left: 5px;
    padding-right: 5px;
}

我如何才能将&lt;ul&gt; 元素与页面中心对齐,同时记住没有为任何元素指定宽度?

首选答案将在 ie6+ 中兼容

任何帮助表示赞赏。

【问题讨论】:

    标签: html css internet-explorer-6 positioning margin


    【解决方案1】:

    您可以将display: inline-blocktext-align: center 结合使用。

    这是您的代码的实现:http://jsfiddle.net/kRDsf/

    如果您需要 IE7 支持:http://jsfiddle.net/kRDsf/1/ + Inline block doesn't work in internet explorer 7, 6

    如果您需要 IE6 支持,请参阅此答案中的 cmets。

    【讨论】:

    • 是否兼容所有广泛使用的浏览器?即ie6+?
    • @Jai:支持 IE6 将使您的项目更难完成 5000%。 In most countries,它不再“广泛使用”。既然我已经说过了:出于某种原因,ul li a 上的display: block 正在阻止它在 IE6 中的工作。我通过为仅 IE6 提供display: inline 来“修复”它以在 IE6 中工作,这修复了它(或者足够接近,无论如何)。这是那个版本:http://jsfiddle.net/AQRkS/
    • 在进一步研究了它的使用情况后,我想我同意,考虑到大多数 ie 用户来自中国,我的项目不适合,我可以将 ie6 发送到废品场 :) 感谢所有帮助!
    • @Jai:在ul 上,添加white-space: nowrapmin-width: ??px。看看你最喜欢哪种行为。可能是nowrap
    猜你喜欢
    • 2013-06-20
    • 1970-01-01
    • 2012-02-27
    • 2012-12-02
    • 2010-09-27
    • 2019-07-04
    • 2015-08-04
    • 2012-10-12
    • 1970-01-01
    相关资源
    最近更新 更多