html - 灵活的垂直菜单

标签 html css

我正在研究 this vertical menu .我需要它具有灵 active ,以便可以显示更长的文本(如中间项所示)。我想保留元素的“填充”,但我也想增加多行元素的行之间的空间(如果我增加行高,到边缘的距离会变大)。如何在不增加“填充”的情况下实现这一目标?我使用的图像必须有透明背景,所以我不能使用组合颜色图像(后面有渐变)。

<div id="nav-list">
<ul>
<li><a href="#"><span class="button-middle">Button</span><span class="button-bottom"></span></a></li>
<li><a href="#"><span class="button-middle">Another button</span><span class="button-bottom"></span></a></li>
<li><a href="#"><span class="button-middle">The longest button in the world, even longer</span><span class="button-bottom"></span></a></li>
<li><a href="#"><span class="button-middle">Button</span><span class="button-bottom"></span></a></li>
<li><a href="#"><span class="button-middle">Btn</span><span class="button-bottom"></span></a></li>
</ul>
</div>

CSS:

* {
border: 0;
margin: 0;
padding: 0;
}

#nav-list {
width: 195px;
}

#nav-list ul {
list-style: none;
}

#nav-list ul li {
display: block;
margin: 5px 2px 0 5px;
font-size: 13px;
}

#nav-list ul li a {
display: block;
background: url('http://i41.tinypic.com/20h4hvp.png') top left no-repeat;
padding-top: 10px;
line-height: 10px;
color: #000000;
text-decoration: none;
}

#nav-list ul li a .button-middle {
width: 183px;
background: #b6b6b6;
padding-left: 5px;
display: block;
}

#nav-list ul li a .button-bottom {
width: 188px;
height: 10px;
background: url('http://i39.tinypic.com/2mrd343.png') top left no-repeat;
display: block;
}

注意:我不能使用 CSS3,因为它的浏览器支持很弱。

最佳答案

我认为你能做的最好的就是添加类似的东西:

span.button-middle {
    line-height: 1.2;
}

您还可以降低按钮顶部和底部的行高以补偿较大的中间部分:

span.button-bottom {
    line-height: 0.8;
}

关于html - 灵活的垂直菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19574590/

相关文章:

html - 如何将表格内 block 元素的最大宽度设置为可视区域的 100%?

javascript - 将 PHP 错误发送回索引

javascript - 简单的 Javascript show div 函数不起作用

javascript - 如何创建带有图标/图像的自定义复选框

css - 为什么有些网页呈现不流畅

html - 在 Rails 应用程序中自动加载 Assets 文件

css - 为所见即所得内容设置固定边距/填充

javascript - 从 html 中删除 div - jQuery

jquery - 链接可点击但什么都不做

html - jQuery 单击功能和列表项