修复Chrome调整大小的行为

时间:2010-05-12 07:14:19

标签: css cross-browser google-chrome resize browser

<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/

4 个答案:

答案 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属性!