【发布时间】:2013-06-30 01:02:32
【问题描述】:
我正在制作一个仅使用 CSS 的下拉菜单,但结果并不像我所做的那样容易。到目前为止,我有一个实际的下拉菜单,但宽度是父元素的宽度,对于某些项目来说太小而无法在一行中显示。
我尝试设置手动宽度,但这只会使整个内容不对齐并且不实用,因为菜单项可能会更长。是否有一个宽度适应内容,而不改变父宽度?
所有站点文件都位于此处:http://dev.cuonic.com/bourree/
感谢任何帮助,谢谢:)
【问题讨论】:
我正在制作一个仅使用 CSS 的下拉菜单,但结果并不像我所做的那样容易。到目前为止,我有一个实际的下拉菜单,但宽度是父元素的宽度,对于某些项目来说太小而无法在一行中显示。
我尝试设置手动宽度,但这只会使整个内容不对齐并且不实用,因为菜单项可能会更长。是否有一个宽度适应内容,而不改变父宽度?
所有站点文件都位于此处:http://dev.cuonic.com/bourree/
感谢任何帮助,谢谢:)
【问题讨论】:
这是一个不为下拉菜单使用固定宽度的解决方案。
首先,将以下内容添加到下拉列表中的链接的 CSS 中:
#menu ul ul li a {
white-space: nowrap;
}
我还必须将 #menu ul 和 #menu ul li 分别更改为 #menu > ul 和 #menu > ul > li,以便这些 CSS 样式仅适用于第一级菜单项。
这是关于在 CSS 选择器中使用 > 的基本参考。我认为在这个例子中还有其他地方会有所帮助:
【讨论】:
white-space: no-wrap。将其更改为 white-space: nowrap(无破折号),您应该一切就绪。
在 firefox/firebug 中玩耍我发现这种组合似乎产生了预期的效果:
#menu ul ul li {
display: block;
float: left;
left: -34px;
position: relative;
width: 200px;
}
【讨论】: