2013-04-20 62 views
0

的事情,我想實現是相當簡單的職位:固定導致margin-top消失?

  • 只是在頂部,而滾動 下來的文件不移動的固定位置元素。
  • 和之後是一個div#含量具有從頂緣 和中心在窗口一些邊距。

因此代碼: HTML

<div class='head-container' id="headerCom"> 
    <header id="a"></header> 
</div> 
<div id="content" role="main"></div> 

CSS

* { 
     margin: 0; 
     padding: 0 
    } 
    body { 
     width: 100%; 
     height: 100%; 
     position: relative; 
    } 
    .head-container { 
     position: fixed; 
     top:0; 
     left:0; 
     width: 100%; 
     height: 100px; 
     background: red; 
     _position:absolute; // make the ie6 support the fixed position 
     _top: expression(eval(document.documentElement.scrollTop)); // make the ie6 support the fixed position 
    } 
    header { 
     display: block; 
     width: 960px; 
     height: 100px; 
     margin: 0 auto; 
     position: relative; 
     zoom: 1; 
     background: blue; 
    } 
    #content { 
     border: 1px solid black; 
     margin: 130px auto 0 auto; 
     width: 960px; 
     height: 1000px; 
     background: #999; 
     margin-top: 150px; 
    } 

所有現代瀏覽器很好的支持,但在IE(IE7,IE8,IE10)無法正常工作,事情就像忽略了我設置爲div#內容的margin-top;

到目前爲止,我已經籤計算器上的其他問題,我嘗試幾乎寄託都我能。

  • 當我改變DIV#內容填充頂的上邊距,東西還行。

  • 當我在div.header-container和div#conetent之間放置一個div.clear(clear:both)時,事情就會好起來;

  • 或者我按照它造成hasLayout的其他問題的解決方案,然後取出在div#內容的寬度和高度,這個事情也還行,但這樣一來,我就需要在div#內容中放置另一個div#inner-content,並設置寬度和高度以查看結果。

,所以我用的hasLayout相當混亂,我不能肯定我完全明白它是什麼,不太清楚這裏發生了什麼,在我的代碼。

因此,實際上都可以,你幫我這個,還有沒有其他的解決辦法可以解決這個問題,並解釋這個有線的東西給我嗎?

謝謝你的好意。

回答

0

這對我來說工作得很好,一旦我擺脫了過去margin-top屬性。你知道你設置了兩次嗎?一旦與margin和他們再次與margin-top。如果您只編輯margin的第一個值,它將不起作用,因爲最後一個將覆蓋第一個值。

+0

哦,謝謝你指出這一點!實際上我知道它,這是爲了測試,我忘了把它粘貼在這裏,**和只是一秒鐘,我發現,如果我把DIV.header容器放在DIV#內容下,它將正常工作** ... – Lien 2013-04-20 08:10:25