2010-11-28 36 views
1

我的頁腳我有3列填充:10px 20px 0px;IE 6-7不服從填充/保證金

在那些我有一些標題(h1/h2)與margin-top:10px;

這看起來確定在所有瀏覽器除了從IE 6和7

在IE 6和7中的標題被放置10px的從容器的頂部。 (頂部填充缺失,但左/右填充是好的)

有人可以告訴我爲什麼嗎?

http://www.hr-relocation.com/test.html

.footercolumn { 
    width: 260px; 
    height: 170px; 
    padding: 10px 20px 0px; 
    text-align: left; 
    overflow: hidden; 
    background: url(../gfx/footerbg.gif) no-repeat top left; 
    float: left; 
} 

.footercolumn h1, .footercolumn h2, .footercolumn h3 { 
    margin-top: 10px; 
    font-size: 12px; 
    line-height: 1.2em; 
    font-weight: bold; 
    color: #c5037b; 
    display: block; 
} 
+0

你可以請張貼您的HTML標記以及? – o01 2010-11-28 13:32:56

回答

0

歡迎web開發 - 羅伯的評論是完全真實的,使用的是IE 6 & 7人不應該在互聯網上被允許。你可以去Here查看IE錯誤的詳細解釋。

你去撕毀自己的風格之前,請允許我提出好的建議:Conditional Stylesheets

您可以應用這樣的事情在你的HTML頭部分:

<!--[if IE 7]> 
    <link rel="stylesheet" type="text/css" href="ie7.css"> 
<![endif]--> 

這可以讓您針對IE瀏覽器額外的CSS 。閱讀鏈接,因爲它更加細化 - 並且是您遇到的問題的選擇路線。最簡單的方法是確保鏈接到僅限IE的css在您的其他樣式之後出現,並且通常只包含更正(除非不起作用,然後重新定義元素)。舉例來說,如果你有格「.header」,即在常規CSS文件完全確定,但顯示出來10px的向左在IE中,你的IE有條件的樣式表將包含:

.header{ 
margin-left: 10px; 
} 

這將增加現有的CSS,並會糾正你的問題..

好運..

0

cinqoTimo有一個偉大的回答這個問題。

另一種解決此問題的方法是讓我的所有邊距都放在容器的底部。

我注意到,如果一個具有的div /容器頂上以1EM的底緣彼此(在上述容器內,與1em的的頂緣下方的容器,這兩個容器是相同的風格,即:

#imageDiv { 
margin:1em; 
} 

)那麼IE7只會給1個容器一個餘量。因此,頂部和底部容器之間沒有2em的間隙,但是會有1em的差距。

所以在那之後,我決定嘗試和公正的分配底部邊距容器,圖像等。例如:

#imageDiv { 
margin-top:0em; 
margin-right:1em auto; 
margin-bottom:2em; 
margin-left:1em auto; 
} 

如果你需要以上的極頂集裝箱空的空間,因爲不會再有在它上面的其他容器,應該可以爲它指定一個邊緣大小的大小,或者考慮向body添加填充,即,

body { 
padding-top:1em; 
} 
0

如果您避免指定您指定邊框和填充任何元素的高度或寬度,你會避免與瀏覽器的盒模型實現的不一致性問題。如果你練習這個,許多佈局頭痛將會消失。請參閱Internet Explorer Box Model Bug

0

感謝全部的答案,sugestion ...

辛苦地工作了晚上,我想出了workd所有IE :-)

與div容器的頂部加入<div class="clearall"></div>的解決方案這個CSS解決了這個問題

clear: { both !important; display: block !important; height: 0 !important; margin: 0 !important; overflow: hidden !important; padding: 0 !important; width: 0 !important; }