我有this code here,我正在努力让ul.submenu li
根据其内容进行延伸。正如您所看到的,li
的第3个ul.submenu
有一个长文本隐藏而不是拉伸li
。
我尝试使用各种组合更改DOM上所有元素的display
属性,但我无法正确使用。
我做错了什么以及为什么会这样?我错过了什么?
非常感谢任何帮助! :)
答案 0 :(得分:5)
由于块显示和绝对定位,目前文本对布局几乎没有影响。
您可以通过提供li
s display: inline-block
和white-space: nowrap
来更改此设置。我forked an example子菜单与最长项目所需的一样长。
inline-block
给出inline
和block
的元素属性display:inline
,因为元素应该像文本一样流动,并从文本中获取其初始布局和尺寸它包含。但block
部分意味着您还可以指定顶部和底部填充和边距,清除等。即使使用此设置,包含元素仍然是绝对定位的(大多数文本内容只是在需要时流动,因为通常包含块元素填充100%宽度 - 不是绝对元素,相对元素和固定元素的情况),因此它的本能是折叠到第一个单词的最小宽度。但是如果我们使用white-space: nowrap
,我们可以强制文本扩展到所需的范围,因此将完整的句子用作度量。
答案 1 :(得分:-1)