2011-02-08 102 views
0

我有IE 8填充設置的問題。如果你看看我的網站mywebsite,你會看到中間部分(從菜單欄的下面開始)比其他部分更寬,並使網站不成比例。這是由於我適用於此div元素的填充設置。您可以在h2元素中看到同樣的問題 - 例如「Flat share」:栗色背景擴展到元素區域,該區域以右側白色三角形的邊緣結束。有誰知道如何解決這個問題?它只發生在IE 8中;在IE 7和Firefox中運行良好。 這裏是我的CSSIE 8和填充問題

#page { 
width: 1000px; 
margin: 0px auto; 
padding: 20px 5px; 
background: #FFFFFF; 
} 

.sidebar li h2 { 
height: 40px; 
width: 220px; 
margin: 0 0 0 0; 
padding: 10px 15px 0px 15px; 
background: #890208 url('../images/img05.jpg') no-repeat left top; 
letter-spacing: -1px; 
font-size: 16px; 
color: #FFFFFF; 
} 

更新的摘錄:我跟馬修的建議,並決定不來定義寬度和高度明確。瞧,問題解決了。感謝球員的所有答覆。

回答

0

問題是你在主div上有一個內聯樣式,它保存着所有1000px的內容。它內部的每個元素都具有相同的寬度。這在您遇到的所有瀏覽器中都不起作用。嘗試使用百分比寬度在內部divs像95%(這個數字只是一個猜測......它將取決於你的邊距/填充是多大)。

這是這種情況的原因是利潤率和填充因素正在考慮到所有的div和主div。您正試圖在寬度相同的div內適合div。這兩個div都有默認的邊距/填充。另外,你已經明確聲明瞭一些有意想不到的應用行爲的填充。

+0

當我取出寬度和高度的定義後,它的作用就像魅力。謝謝。 – Andrew 2011-02-10 18:45:36

0

您可能必須使用條件語句來彌補填充問題,而不會影響其他瀏覽器。這是使用reset.css文件的主要原因,但在此階段後期執行重置操作無疑會帶來更多麻煩。

<!--[if IE]> 
    link a stylesheet that deals with the offset 
<![endif]--> 

這是一個很多可能的解決方案,但它會工作。

0

你可以使用不同的樣式表來處理這個問題,就像Daniel說的,儘管你會指定「If IE 8」。喜歡這樣

<!--[if IE8]> 
    use a different style sheet for IE 8 here.css 
<![endif]--> 

或者,你可以做,當我遇到這個問題,只是減去股利的總寬度填充什麼我總是這樣。 (它一直是我的作弊工具)。因此,例如,如果DIV寬度爲200px,並且內容需要左側填充20px。我會爲左側和右側設置填充。所以可以說你有20px左右,20px右邊。總數爲40.所以設置你的DIV寬度160px.Hope這有幫助!