84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
http://runjs.cn/code/p2tvxwsj
代码如下:为什么 body 的 background 位置不在 border之内
因为在所有html标签中,body的background最特别,与其它的标签背景计算方法都不一样;可能W3C当时做浏览器和html语言时就是故意把body设计的复杂一些,起到统领全局的作用;我的建议是,把这些特殊的地方背诵记住避免以后出问题时找不到bug源头;总结一下body的background有两个奇怪的地方:1、你可以试着给body一个红色背景色,会发现全屏宽、全屏高都铺满了红色;2、给body设置 margin:50px auto; 居中后,发现背景色和背景图片都是从最左边到最右边宽度百分百,背景色的高度也是百分百;在你的代码基础上做了修改,你看下:http://runjs.cn/code/jwwcoan0
以前回答过的答案:body特殊性
果然, 之前也没有碰到过这样的问题!
试了下!
如果html的background-image值为none(默认值为:none), background-color值为transparent(默认值为: transparent), 那么浏览器就会向body借用这两个属性值来对html设置background-image或background-color属性.
例如上面的代码, 若不做改动效果如下:
若改动html中background-color属性值为有效值, 如: #fafafa.将会得到如下效果:
希望对你有所帮助!
因为在所有html标签中,body的background最特别,与其它的标签背景计算方法都不一样;
可能W3C当时做浏览器和html语言时就是故意把body设计的复杂一些,起到统领全局的作用;我的建议是,把这些特殊的地方背诵记住避免以后出问题时找不到bug源头;
总结一下body的background有两个奇怪的地方:
1、你可以试着给body一个红色背景色,会发现全屏宽、全屏高都铺满了红色;
2、给body设置 margin:50px auto; 居中后,发现背景色和背景图片都是从最左边到最右边宽度百分百,背景色的高度也是百分百;
在你的代码基础上做了修改,你看下:
http://runjs.cn/code/jwwcoan0
以前回答过的答案:
body特殊性
果然, 之前也没有碰到过这样的问题!
试了下!
如果html的background-image值为none(默认值为:none), background-color值为transparent(默认值为: transparent), 那么浏览器就会向body借用这两个属性值来对html设置background-image或background-color属性.
例如上面的代码, 若不做改动效果如下:
若改动html中background-color属性值为有效值, 如: #fafafa.将会得到如下效果:
希望对你有所帮助!