文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CSS3实现多重背景

编程巫师

编程巫师

2024-04-23 22:45

关注

       还记得小编前面发布的一些css3绘图教程么?我们通过before和after伪元素为整个页面减少了各种复杂嵌套的标签,从而提升页面的加载速度。

  总结下来,我们不难发现,这两个伪元素多半是用于插入文本或者矢量图形,而背景通常是位图图像,如果我们想用多张不同的背景图片来填充同一个元素,那么伪元素是否还适用呢?显然可以,因为伪元素的结构跟普通的元素在结构上并没有太大的区别,只不过仅仅用来直接显示一张图片就未免有点大材小用了。

  所以CSS3新增了一个多重背景的功能,其属性仍为background,不同的只是需要用英文逗号分隔多个背景。

  现在我们先来准备好两张背景图片,存放到images目录下,名字分别为bg_flower.gif和bg_flower_2.gif。

CSS3实现多重背景_CSS3实例_背景效果_多重背景_编程学习网背景图

  然后编写基础的html代码

基础代码

  为简便起见,这里我们不做任何的元素,而是直接对body进行操作:

  body {

  background-image:url(/i/bg_flower.gif), url(/i/bg_flower_2.gif);

  }

  运行效果如下图所示

对body进行操作效果图

  大家可能会觉得这样没什么意义,提前合并好flower和flower_2不就行了?我们不讨论分割重用组合一类的优化问题。之所以现在可以提前合并,原因就在于两张图的宽高完全一样,如果第1张图的大小是第2张图的两倍。

       那么效果就会如下图所示

如果第1张图的大小是第2张图的两倍的效果

  大概你还是觉得无所谓,我把红框所选中的区域合并成一张图片也一样可以平铺,但这样文件显然增大了。抛开这个问题不说,如果两张图的尺寸不成比例关系,那合并的方法就跪了。

两张背景图不成比例的效果

  而且多重背景还有一个优点,它可以针对不同的背景设置不同的background-repeat,background-position和background-size等属性。

       比如这样

  body {

  background:url(/i/bg_flower.gif), url(/i/bg_flower_2.gif);

  background-repeat:no-repeat, repeat;

  }

  效果就如下图所示

体现多重背景优点的效果

       怎么样,单背景没戏了吧。

  此外,background-position和background-size等属性还能这么玩。

       比如下面的代码

  body {

  background:url(/i/bg_flower.gif), url(/i/bg_flower_2.gif);

  background-repeat:no-repeat, repeat;

  background-position:centercenter,0% 0%;

  }

  则效果如下图所示

设置background-position和background-size属性的效果

  不难发现,这些属性的值全部都用英文逗号分隔,一个背景对应一个值,所以语法非常直观。

  更简单的写法,是直接在background中用英文空格分隔每一项的属性,这样可以节省更多的字节数。

  body{

  background:url(/i/bg_flower.gif) no-repeat 50% 50%, url(/i/bg_flower_2.gif) repeat 0% 0%;

  }

  切菜用牛刀(伪元素)是一件很让人哭笑不得的事情,所以CSS3特地为我们准备了一把轻量级的菜刀(多重背景),使用起来非常顺手,而且效果相当到位。大家在网页设计的过程中,应尽可能选择最适合实际需求的方法,从而更高效地完成任务。一句话,没有最好的,只有最合适的。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     436人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     201人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     163人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     242人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     68人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯