如何在<ul>?</ul> </li>中的一个轴上对齐<li>元素

时间:2014-05-17 16:27:22

标签: jquery html css navbar

我创建了ul元素。这些是导航栏的html和css:

HTML:

    <ul id="list-nav">
<li><a href="index.html"><img src="http://s20.postimg.org/w5uddizg9/small.png"></a>

</li>
<li><a href="Marsrutas.html">Maršrutas</a>

</li>
<li><a href="Nuotraukos.html">Nuotaukos</a>

</li>
<li><a href="Apie zygi.html">Apie žygį</a>

</li>
<li><a href="Apie mane.html">Apie mane</a>

</li>
<li><a href="Dviraciai.html">Dviračiai</a>

</li>
<li><a href="Kontaktai.html">Kontaktai</a>

</li>

CSS:

            ul#list-nav {
    margin:auto;
    padding:0;
    list-style:none;
    width:525px;
}
ul#list-nav li {
    display:inline text-align: center;
}
ul#list-nav li a {
    text-decoration:none;
    padding:5px 0;
    width:auto;
    color:#eee;
    float:left;
    margin:5px;
}
ul#list-nav li a {
    text-align:center;
    border: 1px solid transparent;
}
ul#list-nav li a:hover {
    border-width: 1px;
    border-style: solid;
    border-color: #FFFFFF;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

Fiddle

如您所见,所有li元素都对齐到页面顶部。有没有办法在one axis上对齐它们?

(对不起,如果我犯了一些语法错误,英语不是我的母语)

2 个答案:

答案 0 :(得分:1)

尝试:http://jsfiddle.net/lotusgodkk/6hPLK/7/

   ul#list-nav {
        margin:auto;
        padding:0;
        list-style:none;
        width:525px;
        display:block;
    }
    ul#list-nav li {
        display:inline;
       text-align: center;
        vertical-align:middle;
    }
    ul#list-nav li a {
        text-decoration:none;
        padding:5px 0;
        width:auto;
        color:#eee;    
        margin:5px;
        display:inline-block;
        vertical-align:middle;
    }
    ul#list-nav li a img {
        vertical-align:middle;
    }

从锚点移除浮动并使用display:inline-block。已将vertical-align:middle添加到图片,li和锚点

答案 1 :(得分:0)

enter image description here

ul#list-nav {
    margin: auto;
    padding: 0;
    list-style: none;
    width: 525px;
    display: table;
    }

ul#list-nav li {
  display: table-cell;
  vertical-align: bottom;
}

这将使其在您需要时在单轴上对齐:)

它做什么?

我已将table添加到ul,将table-cell添加到li。这样列表项就在同一轴上对齐。 vertical-align: bottom用于提及轴。

您对问题中提到的单轴感到困惑。如果您想在中间显示列表项,请使用vertical-align: middle。因此,这意味着只需更改垂直对齐,此代码将帮助您轻松自定义:)