我对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/

10-11 17:35