2013-06-23 24 views
0

我正在寫在下面列出一個很簡單的CSS代碼:儘管我指定的一個20%的保證金如何防止body標籤的背景顏色溢出到它的利潤率

body { 
background-color:#616161; 
margin-left: 20%; 
} 

背景顏色也影響身體標籤的邊緣區域。如何確保背景顏色保持在邊框內?

+1

使用DIV附上你想有背景色的區域,並在DIV增加,而不是身體 – Raptor

+0

背景色CSS看到這個:http://stackoverflow.com/questions/10048800/CSS-背景色彩僅-內最餘量 – Miro

回答

3

使用div來把背景色

<html> 
<body> 
<div class="background"> 
<p>This is some text</p> 
</div> 
</body> 
</html> 

然後用這個CSS指定顏色和保證金,你必須調整代碼以獲得您想要的位置

的寬度和高度
html{ 
height:100%; 
} 
body{ 
height:100%; 
margin-top:0px; 
margin-left: 20%; 
} 
.background{ 
min-height:100%; 
height:auto; 
background-color:#616161; 
width:100%; 
} 

或者米羅指出:

html { background-color:#fff; } 
body { 
background-color:#616161; 
margin:0% 0% 0% 20%; 
} 
0

找到很好的說明對這一瀏覽器behavi我們的:「body元素的背景屬性將傳播到html元素(視口),但前提是後者的背景屬性的計算值是透明的。」link)+(testing fiddle)。

這裏的最佳解決方案是使用額外的div,就像上面建議的user2067005一樣。
W3C建議:

對於HTML文檔,但是,我們推薦作者指定BODY元素,而不是HTML元素的背景。對於其根元素爲HTML「HTML」元素或XHTML「html」元素的文檔,對於'background-color'計算值爲'transparent'而'background-image'爲'none',則用戶代理必須改用當爲畫布繪製背景時,該元素的第一個HTML「BODY」元素或XHTML「body」元素子元素的背景屬性的計算值,並且不得繪製該子元素的背景。這些背景也必須與它們僅用於根元素時相同的點上。 (link