我有一个水平列表(对于导航栏),我想要一个单独的列表项是多线的。我尝试使用<br />
,但这导致整个列表跳过一行
这是我得到的html:
<ul class="nav_list">
<li><a href="#">Home<a></li>
<li><a href="#">Bar/Bat Mitzvah<br />Tutoring<a></li>
<li><a href="#">Early <br />Childhood<a></li>
<li><a href="#">Home<a></li>
<li><a href="#">Home<a></li>
</ul>
和css:
.nav_list {
float:right;
height:30px;
margin-top:55px;
width:510px;
}
.nav_list li {
display:inline;
list-style-type:none;
}
.nav_list li a {
font-size:18px;
font-family: arial;
color:#b64366;
text-decoration:none;
padding:4px 4px 5px 10px;
background-image:url('../images/nav_divider.png');
background-repeat:no-repeat;
background-position:right;
font-weight:bold;
cursor:pointer;
}
这就是它的样子(photoshop):
有什么建议吗?
答案 0 :(得分:1)
以下是您的解决方案:http://jsfiddle.net/3jWwH/
Html有一些错误,例如&#39; a&#39;标签没有正确结束&#39; / a&#39;。
&#39; br /&#39;工作得很好,你只需要添加浮动:左边的&#39; .nav_list li&#39;
另外我认为你应该在“&#39; li&#39;而不是&#39; a&#39;。
这是对的吗?
答案 1 :(得分:0)
我认为这就是你想要的:
<强> CSS:强>
.nav_list {
float:right;
margin-top:55px;
}
.nav_list li {
display:inline-block;
list-style-type:none;
text-align:center;
margin:0 10px 0 0;
}
.nav_list li a {
font-size:18px;
font-family: arial;
color:#b64366;
text-decoration:none;
padding:4px 10px 5px 10px;
background-image:url('../images/nav_divider.png');
background-repeat:no-repeat;
background-position:right;
font-weight:bold;
cursor:pointer;
display:block;
}
.nav_list li a:hover{
border-bottom:2px solid #b64366;
}
答案 2 :(得分:0)
您可以为每个列表元素设置宽度,以将它们约束到特定宽度。这将导致单词分成多行。
.nav_list li a {
width: 100px;
}
然后添加底部边框以使悬停下划线。
.nav_list li :hover {
border-bottom: 1px solid #b64366;
}