我创建了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;
}
如您所见,所有li元素都对齐到页面顶部。有没有办法在one axis上对齐它们?
(对不起,如果我犯了一些语法错误,英语不是我的母语)
答案 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)
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
。因此,这意味着只需更改垂直对齐,此代码将帮助您轻松自定义:)