我正在尝试使用ul、li元素和CSS创建一个水平菜单。目标是实现以下功能:当菜单选项过长时,文本会垂直和水平对齐,在第二行显示。我设法做到了这一点,但当选项为两行时,它自动获取max-width参数作为其宽度,并且不设置为选项的实际宽度。然而,当选项只有一行时,它确实设置为其实际宽度。是否max-width不适用于我想要实现的功能?我确实希望li元素的宽度与其内容相同。
HTML:
这是jsfiddle的链接:http://jsfiddle.net/so_artistic/ecCM4/,需要您的帮助。
HTML:
<ul class="trials">
<li><span><a href="#">kitchen furniture</a></span></li>
<li><span><a href="#">wardrobes & cabinets</a></span></li>
<li><span><a href="#">hallway furniture</a></span></li>
<li><span><a href="#">materials</a></span></li>
</ul>
CSS:
.trials {
margin: 0;
padding: 0;
text-transform: uppercase;
float: right;
}
.trials li {
display: inline-block;
list-style: none;
margin-left: 10px;
}
.trials li {
max-width: 130px;
line-height: 40px;
height: 40px;
border: 1px blue solid;
}
.trials li span {
display: -moz-inline-box; /* FF2 or lower */
display: inline-block; /* FF3, Opera, Safari */
line-height: normal;
vertical-align: middle;
text-align: center;
}
.trials li span {
*display : inline; /* haslayout for IE6/7 */
}
这是jsfiddle的链接:http://jsfiddle.net/so_artistic/ecCM4/,需要您的帮助。