码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【我不熟悉的css】04. jpg、png 合理使用图片格式


    每日鸡汤:最大的退路就是靠自己

    目录

    前言

    一、各种格式对比

    1. gif

    2. svg图片

    3. png

    4. jpg

    二、压缩图片

    1. tinypng

    总结


    前言

    各种图片格式的区别我们都多少背诵过,但是我在实际应用中总是想不到!!

    事情是这样的,有一个项目中,几个图片200kb左右,有点大,所以要让我压缩一下。图片是png格式的,我无论我怎么压缩,都少不了多少。然后同事说,可以改成jpg的,这样可以压缩得更小,果然!

    让我们来整理一下,这里面会用到的知识点吧!


    一、各种格式对比

    1. gif

    无损压缩、支持8 bit彩色、支持单一透明色(这个点,我至今开发过程中没用到过)、支持动图

    我相信很多人和从前的我一样,对gif这个格式的印象,停留在微信表情包,以为gif都是能动的。其实不然,它作为一种图片格式,自然能支持静态图片!!(如果你不这么以为,当我没说)

    作为表情包的格式,显然他的特点还有

    1. 多用于网页中
    2. 图片比较小
    3. 可以动

    应用实例:这个是我遇到的,觉得有必要记录的一个应用场景

    在富文本编辑器中,需要在光标所在位置加入loading的状态,类似三个点的那种,要求:

    1. 不影响编辑器的内容
    2. 是一个加载中的动态的效果

    解决办法:

    1. 在编辑器内容后面使用after伪元素,这样不影响编辑器内容
    2. 给after伪元素增加一个背景图片(gif类型的动图)

    2. svg图片

    矢量图、不失真、可以手懂编码(可以去看我的这篇文章)

    【我不熟悉的css 】02. 手动画一个svg图片_我有一棵树的博客-CSDN博客我不熟悉的csshttps://blog.csdn.net/qq_17335549/article/details/126603138

    适用于雪碧图icon。svg图片一般用来做雪碧图icon,为了方便起见,每个项目都会增加雪碧图的功能,方便处理各种颜色、字号不同的小icon图片

    3. png

    无损压缩、因为是无损压缩所以一个内容丰富的图,如果用png格式会很大,支持透明色

    适用于小图标。鉴于他的文件会很大,所以一半只有小图会用到png。比如网站的logo, 要保证清晰度(无损)同时logo不会很大,就很适合png图片。

    在我今天遇到的这个项目中,我用png做了一个主页的整个背景图,很显然,不合理!!而且我无论怎么压缩都是200多kb,这也是因为png的格式是无损压缩的!现在记住了吧!!

    4. jpg

    有损压缩、不支持动画、不支持透明色,之一jpg不支持透明色,这点很重要

    适用于对清晰度要求低的场景。

    还是我今天遇到的问题,一个主页的背景图,对清晰度的要求没有那么高,所以我们完全可以使用jpg的格式,200kb的png图片,我使用jpg导出并压缩之后,仅剩30kb。

    二、压缩图片

    1. tinypng

         这是一个很好用的压缩png、jpg、webp、jpeg图片的网站

    TinyPNG – Compress WebP, PNG and JPEG images intelligentlyMake your website faster and save bandwidth. TinyPNG optimizes your WebP, PNG and JPEG images by 50-80% while preserving full transparency!https://tinypng.com/


    总结

    总之,我们需要把平时积累的知识应用到项目开发过程中,你只背诵每个图片的格式的特性,但是开发过程中想不到也白搭,共勉!

  • 相关阅读:
    水文-ts中对中文进行base64编码
    nginx——复习
    汽车诊断仪算法保护芯片——LKT4305-GM
    PMSM中常用的两种坐标变换——两种参数的由来
    《Pycharm操作和配置指南》这些不会,写Python肯定慢嘛
    CHAT 的知识库都有什么?
    Prometheus Operator 实战 监控 etcd 集群
    【云开发】在 React Native 中使用 AWS Textract 实现文本提取
    技术分享 | TiUP工具 - TiDB集群滚动升级核心流程解析
    jmeter录制登录脚本
  • 原文地址:https://blog.csdn.net/qq_17335549/article/details/126665993
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号