CSS background 属性

background-color与 background设置背景颜色的区别

background-color设置的只是背景色,background设置的是整个背景。

当元素本身设置了background-image属性时,如果设置了background-color,图片不会被覆盖,background-color会在image底层;如果设置的是background,那么图片会被颜色给覆盖掉。

如下图所示,是分别设置了background-image和background-color的效果。如果设置的background: black,那么图片将会被black覆盖掉,但是图片仍然存在,只是被覆盖了而已。
在这里插入图片描述

background-attachment

定义background-image是否跟随容器的滚动而滚动。对background-color无效。

background-attachment = scroll | fixed | local

当background-attachment: fixed时,设置的background-image背景不随元素滚动而滚动。

background-position

定义background-image在容器内的位置。对background-color无效。

background-position = [ left | center | right | top | bottom | length-percentage ]

body { background-positon: right top }    /* 100%   0% */
body { background-positon: top center }   /*  50%   0% */
body { background-positon: center }       /*  50%  50% */
body { background-positon: bottom }       /*  50% 100% */

下图所示是background-positon: center的效果:
在这里插入图片描述

visibility: hidden与display: none对background-image的影响

background-image对应的是一张静态资源图片,当页面渲染前会请求这张图片资源回来进行渲染。

visibility: hidden,元素仍然存在DOM树中,只是不显示而已;display: none,元素不存在与DOM树中。

当元素visibility: hidden时,这张图片资源仍然会请求,但是不会显示出来;当元素设置display: none时,这张图片资源不会请求,也不会显示。还有一种场景:如果页面出现了滚动条,那么滚动条下面(即视图之外)的background-image静态资源会不会请求呢?答案是会的。只要是元素存在于DOM树上,不论显示还是隐藏,其依赖的banckground-image资源都将会请求回来。

从这里可以引发一些对资源请求性能的思考了。

参考:

https://www.w3.org/TR/css-backgrounds-3/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值