2

我在这里有这段代码,我正在尝试ul.submenu li根据其内容进行拉伸。正如你所看到的,第三liul.submenu有一个很长的文本,它隐藏而不是拉伸li.

我尝试display使用各种组合更改 DOM 上所有元素的属性,但我无法做到正确。

我做错了什么,为什么会这样?我错过了什么?

任何帮助将不胜感激!:)

4

2 回答 2

6

目前,由于块显示和绝对定位,文本对布局影响不大。

您可以通过给出lisdisplay: inline-blockwhite-space: nowrap. 我已经分叉了一个示例,其中子菜单与最长项目所需的长度一样长。

解释

inline-block给出inlineblock显示的元素属性:inline因为元素应该像文本一样流动,并从它包含的文本中获取其初始布局和尺寸。但是该block部分意味着您还可以指定顶部和底部填充和边距,清除等。即使使用此设置,包含元素仍然是绝对定位的(大多数文本内容只要它需要就可以流动,因为通常包含块元素填充 100 % width - 不是绝对、相对和固定元素的情况),所以它的本能是折叠到最小宽度,即第一个单词的宽度。但是如果我们使用white-space: nowrap,我们可以强制文本尽可能多地扩展,因此使用完整的句子作为衡量标准。

于 2013-02-20T14:12:15.667 回答
-1

您可以将最小宽度更改为:

min-width: 240px;

查看示例

于 2013-02-20T14:10:49.223 回答