2

我看到很多针对其他 CSS 浮动问题的 IE 7 解决方法,但我还没有找到解决这个问题的方法:当一个元素同时具有clearfloat属性时,清除无法正常工作。

这个 jsFiddle 说明了这个问题。我正在尝试解决一个非常基本的问题。我有一个带有标签/表单项对的表单。标签应该在左边,表单项应该在标签的右边。下一个标签应显示在下一行。使用这个简单的 HTML:

<fieldset>
  <label>Label 1:</label>
  <input type="text" />

  <label>Label 2:</label>
  <input type="text" />
</fieldset>

这个 CSS 应该足够了:

label {
    width: 200px;
    text-align: right;
    clear: both;
    float: left;
}

input {
    float: left;
}

然而,发生的事情是,虽然第二个标签清除了浮点数并呈现在下一行,但相邻的输入仍然显示在第一行。

除了添加更多标记之外,是否有任何解决此问题的方法?

4

1 回答 1

0

如果将组括在单独的 div 中,问题就解决了。当然,那时您甚至根本不需要清除。

http://jsfiddle.net/Qh87k/1/

于 2012-04-20T22:10:48.530 回答