0

所以我有一个很好的浮动表单布局,它在 FF 和 Chrome 中运行良好,但在 IE 中却不行(震惊,恐怖!):

在此处输入图像描述

所以,开始测试我去,第一个镜头是在 IE 上的 FIELDSET 中添加一个 1px 的粉红色边框,看看它的边框在哪里,这就是我得到的:

在此处输入图像描述

...整洁的 IE,整洁。所以我记得一些关于“显示”在 IE 的布局引擎中触发某些东西或其他东西以使东西表现得像他们应该的那样,所以我要去看看谷歌。但似乎 hasLayout 的东西是 IE7 主义。

因此,细节是:未正确定位的元素是 FIELDSET。它只有一个 CSS 属性。“空白:nowrap;” (它下面的标签带有浮动样式)。添加“新”清除修复不起作用。

所以.. 有人对 IE 到底发生了什么有任何想法吗?另外,顺便说一句,条件语句似乎对我不起作用(...),这也很奇怪。

啊……想起我为什么非常非常讨厌IE的温暖和光芒……

4

1 回答 1

1

不总是这样吗?你花时间为 StackOverflow 写一篇文章,当你发布它时,一些你以前没有看到的焦点?

所以......似乎造成这种情况的原因与 IE9 在渲染期间未设置宽度有关。当将边框放在 FIELDSET 上时,它会强制设置至少 2px 的宽度,这足以强制换行。将宽度设置为 0px 仍然会导致问题,但宽度为 1px(或更多)时,它会按预期包裹。最后,我只是简单地在 CSS 类中添加了一个“clear: left”(这可以说是正确的,因为这是我所期望的),一切都在世界上再次正确。

所以......在某些情况下,IE9 似乎不会在渲染(渲染?)元素(在这种情况下为 FIELDSET)设置宽度。这可能与 hasLayout 的东西有关,但我不能 100% 确定。这可能是由于 FIELDSET 中的所有元素都被浮动了。

于 2012-04-04T04:58:33.770 回答