2009-07-29 51 views
0

我有一組表單,具有一組字段集。這些字段集將有條件地隱藏並顯示在服務器端,因此我需要這些字段集從左到右從上到下流動。下面的代碼實現了這一點,但10px的margin-bottom沒有被IE(IE7測試)所尊崇。保證金未被IE所尊重

我看了一些文章,建議這與邊緣崩潰,如果你不添加;不添加填充,但我試過這個,同樣的事情發生。如何在2行字段集之間創建10px空間?

<html> 
<head> 
    <style> 
     fieldset { 
      display: inline-block; 
      width: 30%; 
      height:90px; 
      vertical-align: top; 
      border: 1px solid black; 
      margin-bottom:10px; 
     } 
    </style> 
</head> 
<body> 
    <form> 
     <fieldset> 
      <label>Label:</label> 
      <input type="text"/> 
     </fieldset> 
     <fieldset> 
      <label>Label:</label> 
      <input type="text"/> 
     </fieldset> 
     <fieldset> 
      <label>Label:</label> 
      <input type="text"/> 
     </fieldset> 
     <fieldset> 
      <label>Label:</label> 
      <input type="text"/> 
     </fieldset> 
     <fieldset> 
      <label>Label:</label> 
      <input type="text"/> 
     </fieldset> 
    </form> 
</body> 

回答

3

對於IE 6和7,

display: inline; 
zoom: 1; 

一個塊級元素上相當於inline-block因爲zoom觸發IE的hasLayout屬性(進一步瞭解它here

-1

我認爲IE喜歡搞砸了inline-block的 - 如果你只是使用塊?這應該解決問題。

+0

沒有。不包裝然後。每個元素都在一個新行中。 – 2009-07-29 08:36:41

1

來自:直列:http://www.quirksmode.org/css/display.html

在IE 6和7內聯塊僅在具有一個自然的顯示元件的工作原理。

Firefox 2及更低版本不支持此值。您可以使用-moz-inline-box,但請注意它與inline-block不同,並且在某些情況下它可能無法正常工作。

字段集具有自然顯示:塊,而不是內聯,所以IE6/7越來越不高興。

嘗試將內嵌塊更改爲'block'(或'inline',如果您希望它們在同一行上)並查看是否解決了問題。

0

如果從改變顯示內聯塊到內聯,然後它在IE7和FF3中工作正常。