82

因此,我尝试创建一个水平列表以用于我正在设计的新网站。我已经尝试了一些已经在网上找到的建议,例如将“浮动”设置为左侧等 - 但在解决问题时这些都没有奏效。

    ul#menuItems {
      background: none;
      height: 50px;
      width: 100px;
      margin: 0;
      padding: 0;
    }
    ul#menuItems li {
      display: inline;
      list-style: none;
      margin-left: auto;
      margin-right: auto;
      top: 0px;
      height: 50px;
    }
    ul#menuItems li a {
      font-family: Arial, Helvetica, sans-serif;
      text-decoration: none;
      font-weight: bolder;
      color: #000;
      height: 50px;
      width: auto;
      display: block;
      text-align: center;
      line-height: 50px;
    }
<ul id="menuItems">
  <li>
    <a href="index.php">Home</a>
  </li>
  <li>
    <a href="index.php">DJ Profiles</a>
  </li>
</ul>

目前我不确定是什么导致了这个问题,我将如何着手解决它?

4

6 回答 6

125

更新的答案

我注意到很多人都在使用这个答案,所以我决定稍微更新一下。不再包括对现在不支持的浏览器的支持。

ul > li {
    display: inline-block;
    /* You can also add some margins here to make it look prettier */
}
<ul>
    <li> <a href="#">some item</a>

    </li>
    <li> <a href="#">another item</a>

    </li>
</ul>

于 2013-03-29T20:11:57.427 回答
8

这个小提琴展示了如何

http://jsfiddle.net/9th7X/

ul, li {
    display:inline
}

列表和 css 的重要参考:

http://alistapart.com/article/taminglists/

于 2013-03-29T20:14:15.267 回答
7

我想我找到的简单解决方案如下

ul{
    display:flex;
}
于 2020-11-20T18:19:19.103 回答
6

更好的方法是使用inline-block,因为您不再需要clear:both在列表末尾使用。

试试这个:

<ul>
    <li>
        <a href="#">some item</a>
    </li>
    <li>
        <a href="#">another item</a>
    </li>
</ul>

CSS:

ul > li{
    display:inline-block;
}

在这里看看:http: //jsfiddle.net/shahverdy/4N6Ap/

于 2013-03-29T20:14:08.603 回答
3

您还可以使用内联块来避免浮动元素

<ul>
    <li>
        <a href="#">some item</a>
    </li>
    <li>
        <a href="#">another item</a>
   </li>
</ul>

然后样式为:

li{
    /* with fix for IE */
    display:inline;
    display:inline-block;
    zoom:1;
    /*
    additional styles to make it look nice
    */
 }

这样你就不需要浮动任何东西,消除了对 clearfixes 的需要

于 2013-03-29T20:16:17.710 回答
0

在这里您可以找到一个工作示例,其中包含有关动态调整列表大小的更多建议。

我使用了 display:inline-block 和百分比填充,以便父列表可以动态更改大小:

display:inline-block;
padding:10px 1%;
width: 30%

加上另外两个规则来删除第一个和最后一个项目的填充。

ul#menuItems li:first-child{padding-left:0;}
ul#menuItems li:last-child{padding-right:0;}
于 2013-03-29T20:28:30.423 回答