<div style="background-color:red;width: 300px;">
<div style="float:left;border:1px solid yellow;">AAA AAA AAA</div>
<div style="float:left;border:1px solid green;">BBB BBB BBB</div>
<div style="clear:both;"></div>
</div>
在此处粘贴上述HTML:http://htmledit.squarefree.com/
然后在Chrome中缩小,您会看到<div>
B最终会被强制缩小到下一行。如果你在Firefox和IE中做同样的事情,<div>
A和B都将保持在同一行。
在父<div>
上添加高度属性可能有所帮助,但如果事先不知道内容的高度,则这是不可行的。
我想知道如何在Chrome中修复此问题。
非常感谢大家。
编辑:在此处上传了一个屏幕截图:http://img52.imageshack.us/i/screenshot1xd.jpg/
答案 0 :(得分:1)
在你的第一个div上,添加:
<div style="background-color:red;width: 300px; white-space:nowrap;">
看看是否有帮助。
答案 1 :(得分:1)
我也无法重现这一点,但似乎您只是缩放文字而我现在无法在Chrome中找到这个选项。
但是你应该记住,如果用户以某种方式覆盖你指定的字体网站,这种情况总会在任何浏览器中发生。除了保持足够灵活的布局以处理它之外,没有什么可以做的。例如,在这种情况下,不要以像素为单位设置周围元素的宽度,而是在em
s中设置宽度,使其相对于字体大小。
可能还有其他解决方案,例如使用其他方法将元素放在彼此旁边,但这需要您提供一个更具体的示例,说明您要实现的目标,特别是解释您不希望元素换行。
答案 2 :(得分:0)
在我的Chrome 5上工作得很好。
我可以建议您在“em”中指定父div的宽度。虽然您的特定版本的Chrome似乎有一个已修复的错误:)
另一个解决方案是设置nowrap,如@Kyle所提出的,而不是设置静态宽度 - 设置最小宽度。这样div就会扩展,而不是让子代换行到第二行^ _ ^
答案 3 :(得分:0)
尝试使用max-width属性!