我正在尝试创建一个看起来像这样的垂直菜单(将多维数据集视为图标的占位符):
http://i.stack.imgur.com/dWWzR.png
我无法将说明放在正文下面,当然是<a>
。以下是我到目前为止在HTML代码中的内容:
<div id="actions">
<ul>
<li><a href="#">Element 1</a><span class="desc">Description</span></li>
<li><a href="#">Element 2</a><span class="desc">Description</span></li>
</ul>
</div>
CSS看起来像这样:
#actions {
width: 200px;
height: 60px;
padding: 10px 25px 10px 25px;
}
#actions ul {
list-style-type: none;
}
#actions ul li {
list-style-type: none;
display: block;
margin-top: 10px;
border: 2px solid;
height: 60px;
background-color: #64ADD0;
}
#actions a {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
text-decoration: none;
font-weight: bold;
line-height: 40px;
}
#actions a:hover {
color: #3CA0D0;
}
#actions .desc {
display: inline-block;
line-height: 20px;
}
但是,结果是说明显示在链接的右侧,此外,<span>
不是链接的一部分,因此它显示为普通标签。我怎样才能解决这个问题?我是CSS和网页设计的新手,所以请原谅我这是一个愚蠢的问题。 :)
谢谢!
答案 0 :(得分:1)
只需移除inline
中的inline-block;
即可使锚占据整行并将其后的任何内容推送到下一行。
#actions a {
display: block;
padding-left: 5px;
padding-right: 5px;
text-decoration: none;
font-weight: bold;
line-height: 40px;
}
答案 1 :(得分:1)
答案 2 :(得分:0)
我倾向于使用float:left和clear:两者都是为了确切知道对象的位置:http://jsfiddle.net/MAt8Y/
#actions .desc {
line-height: 20px;
float:left;
clear:both;
padding-left: 5px;
padding-right: 5px;
}
#actions a {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
text-decoration: none;
font-weight: bold;
line-height: 40px;
float:left;
}