我有一个ul
列表,我将其显示为水平菜单。我希望每个li
的内容保留在一行,但是整个li
项目可以根据需要跳转。类似的东西:
First entry in the menu
Second menu entry
These words are short, the LI jumps lines, but doesn't wrap
Yet anoter]
[And more]
[Some more]
逻辑上,我只是放li {white-space:nowrap;}
,但WebKit浏览器存在问题。 带有nowrap的项目会粘在相邻的项目上。因此,在上面的情况中,所有li
都将位于同一行。
在包装文本块中包含nowrap
的隔离元素也是如此。
<p>Visit my sites <a href="http://gabrielradic.com/" style="white-space:nowrap">Gabriel Radic
.com (English)</a> or <a href="http://www.timbru.com/" style="white-space:nowrap">Timbru Blog
(Romanian)</a>.
我期望的是:
访问我的网站 Gabriel Radic .com 或
Timbru博客
相反,这两个链接最终粘在一起,如:
访问我的网站
Gabriel Radic .com 或 Timbru博客(罗马尼亚语)
有没有一种方法告诉Safari,Chrome和其他人停止抓住人的肘部?
谢谢你的帮助。
答案 0 :(得分:2)
在这种情况下,使用white-space:nowrap
更合适,而非使用display:inline-block
。
CSS需要在这里和那里进行调整以适应变化,但它可以按预期工作。
答案 1 :(得分:0)
因此,如果我理解正确,您希望列表项中的文本换行,而不是菜单本身,是吗?所以它看起来像:
item one | item two | item number | item four
three
但不要看起来像:
item one | item two | item number three |
item four
如果是这种情况,您是否尝试在实际的nowrap
而不是列表项上设置ul
,因为它是您尝试不包裹的ul
?然后为列表项设置宽度,以便它们将换行以适合该宽度。