首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

多背景图片

如果尚未对CSS3有一定的了解,相信你还会为要给同一个元素设置多个背景图而头痛。于是就衍生出一些使用伪对象来实现的解决方案,如使用,,,

当然,方法没有错误,有的只是寻求最适合和最简单的。

相信在CSS3 multiple 尚未出现之前,亦没有人会说自己的某某方法是最佳的,有的只是满足需求的一些变通方案(即使是在现在这种CSS3尚未被所有浏览器支持的情况下,是否要在项目中使用multiple 。

所谓有需求就会有变化,也许正是基于这样或那样的考虑,background-image终于将多背景图纳入了自己势力的范围之内。

有之前使用background-image的经验,多背景图对于你来说,完全是锦上添花,你甚至都不必花更多的时间去了解它,因为多背景图与之前的单一背景图并无大的区别,让我么来看看简单的DEMO吧:css3 multiple background-image多组背景图。

两者的细微区别:

单一背景图语法:background-image:url();

多重背景图语法:background-image:url(),url(),url()...

你会发现多背景图只是在单一背景图的基础上,多添加一层背景图,就多设置一个url(),每个url()之间以半角逗号分隔。这种方式应该很常见了,比如说多字体间的间隔,不也正是这样么。

组合与拆分写法:

组合:

.test{

background:url(1.jpg) no-repeat,url(2.jpg) no-repeat 25px 25px,url(3.jpg) no-repeat 50px 50px;

}

拆分:

.test{

background-image:url(1.jpg),url(2.jpg),url(3.jpg);

background-repeat:no-repeat;

background-position:0 0,25px 25px,50px 50px;

}

如上组合与拆分这两种写法是等效的,依据实际情况使用适合的写法。拆分写法中的background-repeat:no-repeat之所以 可以缩写成这样,是因为该示例代码中的3个背景的平铺方式都为no-repeat。完整代码为: background-repeat:no-repeat,no-repeat,no-repeat;

值得注意的地方:

如果设置的多重背景图之间存在着交集(即存在着重叠关系),前面的背景图会覆盖在后面的背景图之上。DEMO请看这里:多背景图之间的层叠关系。

如果存在着可比性的话,那么这个情况与元素的z-index正好相反,z-index默认下后者会覆盖前者,当然,其实这2者间不存在可比性,只是都有覆盖的情况,顺带一提。

(本文所有权归作者所有,如需转载请联系本平台。)

知道你会来

所以我一直在这里等

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180218G03VFT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券