css 水平列表项

hs1ihplo  于 2023-01-14  发布在  其他
关注(0)|答案(7)|浏览(156)

所以,我尝试创建一个水平列表,用于我正在设计的一个新网站。我尝试了网上已经找到的一些建议,如设置'浮动'到左等-但这些都没有工作,当谈到解决这个问题。

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>

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

iq0todco

iq0todco1#

更新答案

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

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>
h4cxqtbf

h4cxqtbf2#

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

ul{
    display:flex;
}
oug3syen

oug3syen3#

这把小提琴展示了
http://jsfiddle.net/9th7X/

ul, li {
    display:inline
}

关于列表和css的重要参考:
http://alistapart.com/article/taminglists/

ua4mk5z4

ua4mk5z44#

更好的方法是使用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/

ej83mcc0

ej83mcc05#

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

<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
    */
 }

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

xam8gpfp

xam8gpfp6#

Here您可以找到一个工作示例,其中包含一些关于动态调整列表大小的建议。
我使用了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;}
ogsagwnx

ogsagwnx7#

强力特克斯

ul {
            list-style: none;
            display: flex;
            justify-content: space-around;
        }
<ul>
            <li>bla</li>
            <li>blabla</li>
            <li>blablabla</li>
        </ul>

相关问题