Review
- 2021/09/06
- 2022/04/07
- 2024-10-05 07:42
[!Summary]
- 选择合适的图片格式:优先 WebP, AVIF
- 使用响应式图片:根据设备屏幕尺寸和分辨率加载不同大小的图片
- 懒加载图片
一、Introduction #
- 图片压缩:tinypng.com
- 图片分割:图片过大,进行分割批量下载,通过CSS拼接完整的图片
- 图像宽高
- 精灵图
- 点九图
常用图片格式对比 #
| 图片格式 | 压缩比 | 色彩 | 透明度 | 特点 | 使用场景 |
|---|---|---|---|---|---|
| JPEG | 高 | 好 | 不支持 | 有损压缩,适用于照片等色彩丰富的图片 | 大多数图片场景 |
| PNG-8 | 中等 | 较好 | 支持 | 无损压缩,支持256色 | 图标、简单图形 |
| PNG-24 | 低 | 非常好 | 支持 | 无损压缩,支持真彩色 | 需要高质量透明度的图片 |
| GIF | 中等 | 较差 | 支持 | 支持动画,支持256色 | 简单动画、图标 |
| WebP | 高 | 非常好 | 支持 | 谷歌开发的新格式,压缩比高,支持多种特性 | 需要浏览器支持,适用于各种场景 |
| AVIF | 非常高 | 非常好 | 支持 | 新一代图像编码格式,压缩比远超WebP | 需要浏览器支持,适用于对图片质量要求高且带宽有限的场景 |
推荐使用场景 #
- JPEG: 适用于照片、自然景物等色彩丰富的图片,压缩比高,文件体积小。
- PNG-8: 适用于图标、简单图形等色彩较少的图片,支持透明度。
- PNG-24: 适用于需要高质量透明度的图片,如LOGO、按钮等。
- GIF: 适用于简单的动画,如加载动画、表情包等。
- WebP: 广泛适用于各种场景,压缩比高,支持多种特性,是未来发展趋势。
- AVIF: 适用于对图片质量要求极高且带宽有限的场景,如高清图片、视频截图等。
选择建议 #
- 优先考虑WebP和AVIF: 它们是目前压缩比最高、支持特性最丰富的图片格式,但需要浏览器支持。
- 对于不支持WebP和AVIF的浏览器: 可以使用JPEG或PNG作为备选。
- 根据图片内容选择格式: 如果图片色彩丰富,可以选择JPEG或WebP;如果图片色彩较少,需要透明度,可以选择PNG或WebP。
- 平衡质量和文件大小: 在保证图片质量的前提下,尽量选择压缩比高的格式。
点九图实现 #
点九图的主要作用:
- 自适应拉伸: 图片可以根据内容的多少自动拉伸,而不会变形。
- 固定内容区域: 图片中的重要内容区域不会被拉伸变形。
- 减少切图工作量: 一个点九图可以适应多种尺寸,减少了设计师和开发者的工作量。
border-image-slice 用法
https://www.cnblogs.com/deajax/p/13518497.html
此属性指定 top, right, bottom, left 边缘的图像向内偏移,分为九个区域:四个角,四边和中间。图像中间部分将被丢弃(完全透明的处理),除非填写关键字。如果省略第四个数字/百分比,它和第二个相同的。如果也省略了第三个,它和第一个是相同的。如果也省略了第二个,它和第一个是相同的。
border-image-source:url(border.png);
border-image-slice:27 27 27 27;
border-image-width:27px 27px 27px 27px;
border-image-outset:27px 27px 27px 27px;
border-image-repeat:repeat;- 设置
border-image-slice属性: 这个属性的值表示从图片的四个边分别切除多少像素。例如:border-image-slice: 20px 20px 20px 20px;表示从四个边各切除20像素。 - 设置
border-image-repeat属性: 这个属性控制切片如何重复。 - 设置
border-image-width属性: 这个属性设置边框的宽度,即切片显示的宽度。 - 设置
border-image-outset属性: 这个属性控制边框图像超出边框的距离。