【发布时间】:2012-04-15 06:34:47
【问题描述】:
我有一段 CSS 实现了点击吸盘菜单。
标记:
<table>
<tr>
<td>
<div class="bodywrapper">
<a class="button" href="#">
<ul class="menu">
<li>test test test</li>
<li>test test test test test test test test test test test test test test test</li>
</ul>
</a>
</div>
</td>
</tr>
</table>
样式:
td{
width: 80px;
}
.button{
position: relative;
display: inline-block;
background-color: red;
width: 10px;
height: 27px;
}
.button:focus .menu, .button:active .menu{
display: block;
}
.menu{
display: none;
position: absolute;
min-width: 99px;
max-width: 700px;
width: auto;
border: 1px black solid;
margin-top: 27px;
}
更新,上面其实是包含在一个固定的表格单元格内
还有一个小提琴:http://jsfiddle.net/dAAXp/3/
问题:我希望在整个应用程序中都使用这种样式定义。因此,<li> 中的文本长度会有所不同。但是,我想要的行为是菜单具有最小和最大宽度。我已经使用min-width 和max-width 为.menu 设置了这个。但是由于某种原因,即使<li> 中的内容小于max-width,菜单的宽度也被限制为min-width。
谁能告诉我为什么会这样?
【问题讨论】:
-
嗯,我明白你的意思了。我想
li {white-space:nowrap}不是一个选项? -
我只是尝试这样做,但随后文本根本不换行,并且一直越过
.menu容器:( -
在@phpdev下面查看我的修复和解释
-
哦,有点跑题了:只有在页面菜单上方没有任何内容时,您的代码才能正常工作。如果有,当用户点击菜单时页面会跳到顶部。
标签: css width suckerfish