我试图设置body
元素的背景。我已经改变了宽度body
,我希望背景适合这个宽度,但是它会填满整个屏幕。我将如何解决它?更改正文元素的背景颜色和宽度
body {
border: 1px solid black;
width: 500px;
margin: 0 auto;
background: black;
}
我试图设置body
元素的背景。我已经改变了宽度body
,我希望背景适合这个宽度,但是它会填满整个屏幕。我将如何解决它?更改正文元素的背景颜色和宽度
body {
border: 1px solid black;
width: 500px;
margin: 0 auto;
background: black;
}
你实际上是在做,除非当你不声明背景颜色html
元素,它则采取body
元素的背景颜色。因此,你没有看到差异。
只需得到html
元件不同的背景颜色,也给body
一些height
:
html {
background-color: red; /* new */
}
body {
border: 1px solid black;
width: 500px;
height: 500px; /* new */
margin: 0 auto;
background: black;
}
理解html
,body
background-color
和之间的关系。
所有元素的初始background-color
是transparent
。
如果未指定html
元件的background-color
是(即,transparent
)然后,在CSS规则,浏览器给它body
元件的background-color
。
从规格:
3.11.2. The Canvas Background and the HTML
<body>
Element对于文档根元素是HTML
HTML
元件或XHTMLhtml
元件:如果background-image
的 根元素所计算的值是none
及其background-color
是transparent
, 用户代理必须改为传播计算出的的值来自该元素的第一个HTML元素的背景属性BODY
或XHTMLbody
子元素。使用的BODY
元素的 背景属性的值是它们的初始值,并且传播的值被视为在根元素上指定的值。建议使用 ,HTML文档的作者指定BODY
元素的背景为 ,而不是HTML
元素。
参见[应用的背景和/或
](http://stackoverflow.com/questions/10947541/applying-a-background-to-html-and-or-body)和[宽度小于它的背景](http://stackoverflow.com/questions/11083984/html-width-is-less-than-its-background) – BoltClock