1. 雪碧图(精灵图片、CSS Sprites)

  1. 基本概念
    雪碧图被运用在众多使用很小图标的网站上.
    相对于把每张小图标以.png格式文件的形式引用到页面上,使用雪碧图只需要引用一张图片,对内存和宽带更好.

  2. 优点
    ① 将多张图片合并成一张图片中,可以减小图片的总大小
    ② 将多张图片合并成一张图片后,下载全部所需资源,只需要一次请求,可以减小建立连接的消耗.

  3. 注意
    在HTTP2中,已经不需要考虑减少请求数,故雪碧图在HTTP2中优化性能的意义已经不大.

  4. 软件
    Macromedia Fireworks 8

  5. 使用
    ①我们知道,png格式的图像是支持透明的,透明区域不会显示任何内容.

    ②对于上面这张图片,如果我们想获取活动进行中这部分图片,我们直接引入

    #box1{width: 120px;height: 55px;background-image: url(images/toolbars.png);}
    

    效果是这样的:

    ③我们可以通过fireworks,选择这部分内容,查看其宽高以及对应X、Y

    同时,在代码中使用background 的position属性对其进行设置

    #box2{width: 120px;height: 55px;background: url(images/toolbars.png) -220px 0;margin: 50px;}
    

    这样运行的效果图为:

    即可获得想要的图片.

    也就是说,所谓雪碧图其实就是很多图标集中在一张大的png图片上,我们根据位置调整显示的样式

2. 高度塌陷

  1. 产生原因
    父元素在文档流中高度默认是被子元素撑开的,当子元素脱离文档流后,将无法撑起父元素的高度,也就会导致父元素的高度塌陷

  2. 造成后果
    父元素的高度一旦塌陷,所有标准流中元素的位置将会上移,导致整个页面的布局混乱
    例如 : 将box2浮动

    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title></title><style>#box1{border: 1px solid red;}#box2{width: 100px;height: 200px;background-color: royalblue;float: right;}#box3{height: 100px;background-color: green;}</style>
    </head>
    <body><div id="box1"><div id="box2"></div></div><div id="box3"></div>
    </body>
    </html>
    

    运行效果:

  3. 解决方案
    ①开启父元素的BFC

    1. Block Formatting Context 块级格式化环境
    2. BFC是元素的隐藏属性,默认是在关闭状态的
    3. 可以通过一些特殊的样式,来开启BFC
    4. 开启BFC以后元素将会具有以下特性:
      ① 父元素的垂直外边距不会和子元素重叠
      ② 开启BFC的元素不会被浮动元素所覆盖
      ③ 开启BFC的元素可以包含浮动子元素
    5. 开启BFC的方式
      ① 设置元素浮动
      ② 设置元素绝对定位
      ③ 设置元素类型为inline-block

      HTML:雪碧图、高度塌陷和序号选择器相关推荐

      1. 深入浅出CSS(二):关于雪碧图、background-position与steps函数的三角恋情

        [测试代码] HTML 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta cha ...

      2. 【夯实基础--CSS】=> 高级技巧(雪碧图/滑动门/CSS三角形/字体图标(iconfont)等)

        CSS高级技巧 CSS用户界面样式 所谓的界面样式, 就是更改一些用户操作样式, 比如 更改用户的鼠标样式, 表单轮廓等.但是比如滚动条的样式改动受到了很多浏览器的抵制,因此我们就放弃了. 防止表单域 ...

      3. css雪碧图如何调整大小

        1.通过transform: scale(0.5);来缩放,但在本身有过渡或动画时,刷新页面会有卡顿拉伸现象!不建议这样做! 2.直接调整雪碧图background-size大小 例如,雪碧图规格14 ...

      4. Web前端之背景、雪碧图

        目录 一.背景 二.雪碧图 一.背景 background-color 设置背景颜色 background-image 设置背景图片 如果背景图片大小小于元素,则背景图片会自动在元素中平铺将元素铺满 ...

      5. 【前端小实战】百度新闻雪碧图及动画(CSS sprites)

        文章目录 前言 ~ 雪碧图 一.页面效果展示 二.代码实现解析 三.完整代码 前言 ~ 雪碧图   雪碧图,英文原名叫 CSS sprites,其实就是融合了各种资源的图片,图片里面可能会有一个角色的 ...

      6. 背景的样式(雪碧图)

        目录 一.背景的基础设置 1.background-color : 设置背景颜色 2.background-image:来设置背景图片 3:background-repeat:用于设置背景图片的重复方 ...

      7. 前端性能优化总结/懒加载、函数节流、优化dom操作、雪碧图、合并文件

        1.减少 HTTP 请求数量 在浏览器与服务器进行通信时,主要是通过 HTTP 进行通信.浏览器与服务器需要经过三次握手,每次握手需要花费大量时间.而且不同浏览器对资源文件并发请求数量有限(不同浏览器 ...

      8. H5 雪碧图 移动的机器猫

        精灵图(英语:Sprite),又被称为雪碧图或拼合图.在计算机图形学中,当一张二维图像 集成进场景中,成为整个显示图像的一部分时,这张图就称为精灵图. 本文中用的就是这张,来自爱给网. 效果 操作 键 ...

      9. html雪碧图怎么设置,HTML 5开发的在线雪碧图片合成工具

        Css Sprite,有时也称为雪碧图.精灵图,是每一个前端开都会遇到的问题,也是常见的小图片加载优化手段.相信各位同学都清楚其原理,具体就不赘述了. 之前一直有动机利用html5实现一个合成雪碧图的 ...

      10. 雪碧图 css 使用方式与 Js使用方式

        效果链接 示例雪碧图如下,雪碧图图片资源来源于力扣官网中头像悬浮Dark Side功能. 雪碧图分析:该雪碧图横向为12等分,高度32px 1. JavaScript方式使用雪碧图(猜测力扣使用的方式 ...

      最新文章

      1. Android UI进阶之旅9 Material Design之沉浸式设计
      2. Linux 内核超时导致虚拟机无法正常启动
      3. python网络爬虫 - 如何伪装逃过反爬虫程序
      4. Linux下的shell脚本实战之用户创建
      5. 关于求N个无序数中第K大的数。
      6. C语言实现字符串匹配的Rabin-Karp算法(附完整源码)
      7. PS比狠大赛!看看谁家的照片更丑!
      8. 深入理解卷积层,全连接层的作用意义
      9. AI 监控之风刮到美国高校!学生浏览网页都能被追踪到
      10. fpga数电基础之--------触发器
      11. 20145203盖泽双《网络对抗技术》后门原理与实践
      12. shell截取字符串的方法
      13. 基于Python的校园学生一卡通管理系统
      14. Java初学者作业——声明变量储存商品信息并进行输出
      15. 「超级右键」Mac上最强的右键菜单工具,让你效率飞起!
      16. 写论文引用参考文献详细教程
      17. 更新计算机策略命令,强制更新组策略指令是什么
      18. 数字逻辑EduCoder课设项目 厨房计时器系统设计 Logisim实现
      19. 【opencv】颜色空间总结
      20. 最新kali之medusa

      热门文章

      1. 34. HTTP服务的七层架构技术解析及运用
      2. 57. mysqli 扩展库(4)
      3. 15. CSS 表格
      4. 青岛科技大学C语言程序设计,青岛科技大学c语言试题库
      5. php curl模拟织梦登录,PHP 模拟浏览器 CURL 采集阿里巴巴
      6. [2019杭电多校第六场][hdu6635]Nonsense Time
      7. Mac 开发 Hue
      8. .net core 介绍好文章
      9. vim创建程序文件自动添加头部注释/自动文件头注释与模板定义
      10. Tomcat 7 的domain域名配置,Tomcat 修改JSESSIONID