背景图样式回顾

正式点叫 background-image recap ,最近 kissy editor 皮肤 做得有点晕,复习解读下 css3 规范 background 部分。


chrome 演示:


chrome and background-image


background-attachment :


fixed :  背景相对于浏览器视窗固定。详细就是:位置不跟随容器内容的滚动变化,但是跟随浏览器本身的滚动条拖动而变化,使其在可视区域内位置固定,当然可能会因移到容器不可见区域而导致隐藏。



scroll : 背景相对于容器固定。详细:背景附在(attach)容器上面,位置不跟随容器内容的滚动变化,但是随着浏览器本身滚动条的拖动,和容器一样在可视区域内发生移动。


local : 背景相对于容器内容固定。详细:背景附在容器内容上面,位置随着容器内容的滚动而变化,也会随着浏览器本身滚动条的拖动,和容器一样在可视区域内发生移动。


local 属于 css3 新加特性(目前chrome支持),相当于原来直接在容器内部层上设置背景,而有了多背景支持 以及local,现在可以把这些都写在容器上了。



background-position :


定义背景图片的位置,既然要定位就要确定相对定位区域 (background-positioning-area)信息,这就和background-attachment以及的css3 新增的 background-origin设置密切相关。


当 attachment 设置 fixed 时 ,背景定位区域为视窗(initial contain block).


scroll 时,背景定位区域为容器(background-origin设置区域)。


local 是,背景定位区域为容器(background-origin设置区域)内容。


background-origin 有三种设置


border-box :包括边框的区域位置 (content+padding+border)

padding-box:不含边框的区域位置 (content+padding)

content-box:内容所占部分(content)


css2下默认为 padding-box


特别注意的是百分比的设置


当设置为百分比 x% 时,横坐标方向,背景图记做 a ,背景定位区域记做 b,则最终是把 a 的 左上角定位到相对于 b 左边界的


(width(b)-width (a))*x%


处,通俗的说就是把背景图 a 的 x% 处 和 定位区域的 x% 处重合。

 


PS: ie6,7 bug


仔细比较 ie6,7 以及其他浏览器在这个页面 的表现可见,ie6,7 对于 scroll 和规范的 local 定义一样,背景附在了容器内容上面!


ie6 对于 fixed 处理也有问题,ie6 中的 fixed 不是相对于视窗定位,而是相对当前容器元素,和规范中的 scroll 一样!

 

IE9 支持 background-attachment   background-origin

 

 

应用场景:


图片轮播的 loading 提示

 

对于 ie6,7 应该将 loading 图片定义在单个图片容器上,而不是多个图片容器的容器上。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值