我对html和css完全陌生,所以我的问题可能很基本,但希望你们能帮助我udnerstnad,
我正在使用以下css代码
body
{
background-color:Olive;
width:550px;
font-family:Verdana;
}
我将宽度设置为550px,因此我所有的段落都收缩为550px,但背景会应用于整个页面,甚至超过550px
我知道由于继承,子元素本来可以从body继承width属性,但是我想如果将body的width属性设置为550px,则背景应该在550px宽区域而不是整个页面中可见,
我不明白这里的逻辑。
最佳答案
如果将颜色应用于html,例如html { background-color: yellow; }
,您将发现根本不是这种情况。 <body>
标记的特殊之处在于它旨在包含HTML页面的全部内容。然后,当您应用背景时,除非已设置html
背景,否则默认设置是绘制整个背景页面。
请参见此jsfiddle示例。像上面的其他海报一样,我强烈建议使用<div>
元素来包装,调整大小和为内容着色。
在CSS2 specifications中对此进行了描述:
根元素的背景成为画布的背景,并覆盖整个画布,将其锚定(用于“背景位置”),与仅针对根元素本身进行绘制时的锚定点相同。根元素不会再次绘制此背景。
关于css - CSS在 body 上的应用宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11721574/