2013-06-23 23 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