美文网首页
图片优化- base64 vs 雪碧图

图片优化- base64 vs 雪碧图

作者: kmbaby | 来源:发表于2016-10-09 18:48 被阅读0次

页面渲染的过程中太多的request会增加页面的加载时间和渲染时间。为此我们通常会打包css,js文件,把图片打包成雪碧图。有时候我们还可以使用base64把图片资源直接写入css文件,这个做法非常的方面。

雪碧图

雪碧图是把各种小图片资源拼凑在一起,成为一张大图片资源。通过 background-position 来设置图片位置起始点,配合 width,height 来获取需要的图片。

EXAMPLE:

Alt text
  1. 优点
    • 把大量图片请求合并为一个图片请求
  2. 缺点
    • 难以操作和更新,没有工具的帮忙把各种小图拼在一起不是个容易的工作。
    • 如果雪碧图中有太多留白,不够紧凑会增加额外的空间消耗。
    • 如果雪碧图过于紧凑,会增加一个图片元素中显示了部分其他图片的风险。

Base64

Base64的形式为 Data URI

    data:[<mime type>][;charset=<charset>][;base64],<encoded data>

在css中

selector {
background: url(data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7) no-repeat left center;

}

在html中

![star](https://img.haomeiwen.com/i3143753/6e5b7f8f2ba677ff.gif?imageMogr2/auto-orient/strip)

使用Base64可以达到我们要的优化效果,把所有的小图放入css文件中。我们把大量的图片请求都合并在了css文件中。

  1. 优点
    • 把大量的图片请求合并在了css文件中
    • 容易更新
  2. 缺点
    • 会增加25%的图片资源大小,使用了gzip后 只增加10%。
    • 不支持IE6和7

选择哪个?

两者都有人在使用,很多情况下一起配合使用会达到更好的效果。

但如果你的图片需要支持不同设备的时候,雪碧图十分好用。

selector {
    background-image: url(our_bg_image.png); /* will be downloaded on common     displays */
}
/* Stylesheet for Retina */
@media screen and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-device-pixel-ratio: 1.5) {
    selector {
        background-image: url(our_bg_image@2x.png); /* will be downloaded on retina displays */
    }
}

如果我们不需要支持ie < 9 我们也可以使用base64

<script>
var retina = window.devicePixelRatio > 1 ? true : false;
if (retina) {
    // the user has a retina display
}
else {
    // the user has a non-retina display
}
</script>

以上

相关文章

  • 图片优化- base64 vs 雪碧图

    页面渲染的过程中太多的request会增加页面的加载时间和渲染时间。为此我们通常会打包css,js文件,把图片打包...

  • 图片自适应方案讨论延伸到sharpP

    1、一般来说,我们常见的使用图片的优化方案有base64编码、雪碧图、字体图片、图片压缩等 base64编码(1 ...

  • 网页基本性能优化规则小结

    原文链接 针对浏览器网页的一些优化规则。 目录 页面优化静态资源压缩CSS雪碧图、Base64内联图片样式置顶、脚...

  • 前端通用性能优化总结

    一.图片优化 1.使用雪碧图(webpack和gulp都有对应插件自动转换成雪碧图),减少请求。2.压缩图片质量(...

  • webpack4--图片,字体处理

    文章简要: 1、图片处理 和 Base64编码2、图片压缩3、合成雪碧图4、处理字体 图片处理 安装url-loa...

  • web前端面试题@十八(前端优化★★★★★)

    前端优化汇总 一、图片处理 1、雪碧图 CSS雪碧图是以前非常流行的技术,把网站上的一些图片整合到一张单独的图片中...

  • 2016-3-9 记录

    PHOTOSHOP 什么是切图 分析UI:组织html结构,需要的图片(前景,背景) 制作雪碧图 图片优化 htm...

  • npm script 工作流(十二)构建流水线

    构建内容 源代码预编译:比如 less、sass、typescript; 图片优化、雪碧图(CSS Sprite)...

  • 2020-09-14 前端性能优化

    网络方面:1、减少http请求(合并js/css文件、雪碧图、使用base64表示简单的图片);2、减少资源体积(...

  • 前端性能优化

    网络方面: 1、减少http请求(合并js/css文件、雪碧图、使用base64表示简单的图片);2、减少资源体积...

网友评论

      本文标题:图片优化- base64 vs 雪碧图

      本文链接:https://www.haomeiwen.com/subject/tiqmyttx.html