首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端成神之路-CSS高级技巧

5.2 精灵技术讲解 CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵),然而,各个网页元素通常只需要精灵图中不同位置的某个小,要想精确定位到精灵图中的某个小。 ?...给盒子指定小背景图片时, 背景定位基本都是 负值。 5.4 制作精灵(了解) CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵),那我们要做的,就是把小拼合成一张大。...大部分情况下,精灵都是网页美工做。 我们精灵图上的都是小的装饰性质的背景图片。 插入图片不能往上。...我们可以横向摆放也可以纵向摆放,但是每个图片之间留有适当的空隙 在我们精灵的最低端,留一片空隙,方便我们以后添加其他精灵。...之所以a包含span就是因为 整个导航都是可以点击的。 7. 拓展@ 7.1 margin负值之美 1).

6.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何做前端性能优化?

    英文原名为 CSS Sprites,指将多个小图片(比如图标)整合到一张大图片上,下载完后通过 CSS 的 background-position 属性框选需要用到的小图片上。...《HTTP 缓存策略:强缓存和协商缓存》 使用 SVG 多用矢量,少用位图,减少图片大小。 普通位图图片要记录所有像素的色值,而 SVG 矢量保存的其实是描述形状的文本信息,能减少很多体积。...CSS JS 尾 CSS 头,指的是放到 head 标签下的尾部,这样就能在 HTML 解析前,先加载 CSS 构造对应的 CSSOM,更早地和 DOM 进行合并渲染。...JS 尾部,指的是放到 body 表情下的尾部。因为 JS 是会阻塞页面渲染并立即执行的,因为它可能会改变 DOM 结构。...使用缩略图 当我们通过列表的形式查看图片时,我们可以提供图片的缩略图,而不是提供大的原图。 用户点击预览的时候,才加载原图。

    90420

    CSS精灵技术(sprite)

    它将一个页面涉及到的所有零星背景图像都集中到一张大图中去,然后将大应用于网页,这样,当用户访问该页面时,只需向服务发送一次请求,网页中的背景图像即可全部展示出来。...通常情况下,这个由很多小的背景图像合成的大被称为精灵(雪碧) 精灵技术的使用 CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵),然而,各个网页元素通常只需要精灵图中不同位置的某个小...制作精灵 CSS 精灵其实是将网页中的一些背景图像整合到一张大图中(精灵),那我们要做的,就是把小拼合成一张大。 大部分情况下,精灵都是网页美工做。...精灵图上的都是小的装饰性质的背景图片。 插入图片不能往上。 精灵的宽度取决于最宽的那个背景。 可以横向摆放也可以纵向摆放,但是每个图片之间,间隔至少隔开偶数像素合适。...在精灵的最低端,留一片空隙,方便我们以后添加其他精灵

    1.1K40

    精灵

    什么是精灵? 就是将几张较小的图片放在一张大图上 为什么要有精灵?...最早的时候网速十分有限,为了提升用户体验,我们会将一张大分解成多张小来提高页面打开速度,但是网速得到了提升,为了能够让服务器承载更多的请求,我们要减少浏览器对服务器的请求,最直接的方式,就是将多张较小的图片放在一张大图上...而将多张小放到一张大图上的操作就叫做精灵,也可以叫做雪碧技术 也叫做css sprite 精灵的使用 一张大图片上有很多小的图片,那么如何将这个小的图片拿出来呢?...比如:我们要html页面上一个div,宽高为图片的搜索按钮的宽高 3.将精灵设置为容器的背景图片,并且根据图片所在的位置将背景图片进行平移 制作精灵 1.精灵必须是一些小的图片 2.精灵的多个小之间一定要留有足够的间隙...3.精灵的大小一定要大于所有图片中最大的那个 4.完成精灵以后一定要在精灵图下方留有足够的空隙,方便将来再次添加其它的精灵 5.如果是页面上一个像素的背景图片不要放在精灵图上面 Iconfont

    1.2K10

    CSS笔记(16)

    因此,为了有效地减少服务器接收和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称 CSS Sprites/Css雪碧) 核心原理: 将网页中的一些小背景图片整合到一张大图中,这样服务器只需要一次请求就可以了...使用精灵核心: 精灵技术主要针对于背景图片使用,就是把多个小背景图片整合到一张大图片中. 这个大图片也称为sprites精灵 或者雪碧....使用精灵的时候需要精确测量,每个背景小图片的大小和位置. 其实就是一个盒子,然后给盒子添加一个背景图片,移动背景图片的位置,让想要的图案出现在盒子里....精灵是由诸多优点的,但是缺点很明显: 1.图片文件还是比较大的. 2.图片本身放大和缩小会失真. 3.一旦图片制作完毕想要更换非常复杂....我使用的是icomoon网站,进去以后点击右上紫色的icomoon App.

    62620

    CSS Sprites(精灵

    精灵技术 (CSS Sprites) CSS精灵并不是很高深的技术,CSS精灵是一种处理网页背景图像的方式,它将一个页面涉及到的所有背景图像都集中到一张大图中,然后当客户端请求服务器时,直接将这个大发送给客户端...使用精灵 通过定义我们知道,css精灵其实就是将网页中的一些背景图像整合到一张大图中,我们需使用精灵图里面的某个小图片就需要通过css的background-image(引入精灵),background-repeat...点击游戏 查看Style 我们发现”游戏“盒子使用了background-position的属性,我们都知道这个属性是设置背景的位置的,他使用的是哪个背景呢?...在观察html代码,发现他还有一个tbh-icon的类,通过Style我们可以看到tbh-icon引入了一张背景图片,打开背景图片链接 如下,一张图片包含了很多个小背景,这便是【精灵】 很多大型网页都使用了这种技术...制作精灵 制作精灵就是将小图标图一个大的背景中即可,这里就不一一阐述,精灵制作遵循一下原则 1.精灵必须为透明背景 2.精灵图中个各个小应该有一定的间距 3.精灵底部应该预留位置方便以后添加

    95920

    拍照太糊?你需要了解下美图人像画质修复技术

    在低分辨率修复完成后,借助 Wu 等人 [1] 提出的 DGF 网络结构 (Deep Guided Filtering Network),恢复为原始分辨率或放大为更大分辨率的。...的分辨率,可以把原 1280 尺度的图片先用立方插值放大为 1920(此时放大的结果会变糊),然后利用 640 尺度修复结果加上 DGF 网络结构,可以让 1920 尺度的图片实现去噪、去模糊等修复效果的同时...即通过低分辨率修复模块和 DGF 网络结构,可以让 1280 尺度的图片大为 1920 尺度分辨率的图片。 ?... (2) DGF 画质增强网络结构及 ResBlock 使用方式 其中,IH 表示高分辨率的原始图片,IL 表示 IH 缩小到一定尺度的低分辨率图片,OL 表示低分辨率图片 IL 修复结果,DGF 网络结构具体参数含义可参考对应文献...具体的网络结构如下图所示: 输入一张大小为 sxs 的,经过五次下采样,得到一张大小 s32xs32 的 featuremap,再经 5 次上采样,修复生成一张大小为 sxs 的修复脸部。 ?

    2.6K20

    前端性能优化

    3、如何进行前端性能优化 性能黄金法则:只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,css,flash...文件压缩 Accept-Encoding:g-zip,Gzip压缩传输文件通常可以减少70%网页内容的大小,包括脚本、样式表、图片等文件。 ② 减少请求的次数 a. ...文件适当的合并 将多个JS脚本文件合并成一个文件,将多个CSS样式表文件合并成一个文件,以此来减少文件的下载次数。 b. ...雪碧 把小图标合成一张大,通过给元素的公共css设置background-image为该合成,这样每个元素都会以该合成图为背景,而且页面也只加载一张合成,然后再给每个元素单独微调其background-position...3) 渲染阶段 ① js底部,CSS顶部 将js脚本置底,可以让网页渲染所需要的内容尽快加载显示给用户。

    64751

    什么叫 “雪碧”?

    前端说,那我也可以这样搞嘛,我们把一些小图片(比如图标)也都整合到一张大图片,然后你通过 background-position 等属性使用你需要的区域就好了。...另一个作用是 提前加载好需要用到的图片。 假设我们的一个按钮是用图片做的,hover 时会替换图片。如果分成独立的两个图片,hover 就会出现闪烁的效果。...这是因为图片还没有下载好,在图片完成下载前,显示的是空白,直到图片下载完成才替换上图片。 如果我们将按钮的所有状态都放到雪碧了,就不会有这个问题了。...当然还有一种方式就是通过 JS 手动做其他状态小图片的缓存。 结尾 雪碧其实和雪碧没关系,它和 sprite(精灵)有关系。...sprite 是一种将多个图片资源合并成一张大图片的做法,用到网页,能减少 HTTP 请求数量,以及提前加载一些还未使用的小图片。 我是前端西瓜哥,关注我,学习更多前端知识。 ----

    5.7K20

    Excel催化剂功能第10波-快速排列工作表图形对象

    视频演示 图形排列功能 图形有别于单元格,是存放在单元格之上的对象,Excel工作表这张大画布上,不只是可以在单元格上存数据设置格式,还可以在单元格之上再放一些对象,这些对象只要鼠标拖动,想哪里就哪里...(因图片一般对纵横比有要求,需要等比例压缩大小为宜),先点击图形对象选择该图形,然后点击区域填充(变形)按钮,下一步提示图形存放到的目标单元格区域,点选一下所要的单元格区域(可选择连续的多个单元格矩形区域...单个图形排列 单个图形排列处理后 单区域填充(不变形) 对应的场景为移动已经在工作表上的图片(用后面介绍的插入图片功能,可一步到位插入图片并且指定存放的单元格区域,此需求一般存在于工作表上已经有现成的图片需要作位置调整...另不变形的图片排列,双击、右击图片会有相应的事件产生,后续谈论插入图片时再详细说明 多按行排列 & 多按列排列 上面单排列操作,只能一次处理一张图形,如果有较多的图形需要调整位置排版,怎么办呢,一个个来处理...、再排月份,产吕类的切片器一起,时间类的切片器一起等等 多排列-切片器预处理 选定当次需要排列的多个切片器,如上图,打算按列排列,一列内从上往下排,打成两列,需要两次处理,一次处理最终的结果是排列一列

    1.4K20

    图片加速 WebP格式

    WebP是Google在2010年推出的图片技术,它可对图片进行有效压缩,不影响清晰度的同时,使图片体积更小 在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小将近40% 腾讯的智平台就已经支持对...WebP格式的转换,使用了一张大小为346KB的图片测试,选择图片目标品质为80,转换为WebP格式后,图片的大小仅为80KB 劣势是兼容性不好,google系的已经支持,但其他平台还没有很好的支持 兼容方案...JS 利用img标签加载一张base64的WebP图片,在img标签的onload事件中判断该图片是否具有宽高的属性,有表示支持webP,没有表示不支持webP 例如: var img = new Image..."; img.onload = function (){ // img.width, img.height ...... } IOS 客户端加载WebP格式的图片,下载完成后在前端实时转码,将WebP...图片转换为jpg或png图片,展示给用户的是普通图片,节省了网络加载时间 Android 4.0以上的系统已经原生支持WebP格式 用户下载 用户点击下载时,使用此图片相应的jpg版本

    2.2K30

    使用grunt对css中的background图片自动生成雪碧

    公司研发的系统为B/S架构,用户使用浏览器访问系统时,使用浏览器自带工具查看,对图片的请求数极多,多为小图片。...今天想对这个现状进行改善,网上查到一种雪碧的方案,其实就是使用工具将数量很多的小图片拼成一张大图片,然后css里都引用这张大图片,并指定显示该图片的某一个区域,但这个方案需要手工作很多处理。...于是就想到能不能用目前比较成熟的grunt对前端样式文件自动进行处理,自动生成雪碧,自动修改样式文件。.../images/', // 雪碧输出目录,注意,会覆盖之前文件!...其中 sprite.js 从 https://github.com/laoshu133/grunt-css-sprite 工程里得来 css-spritesmith.js、imageSetSpriteCreator.js

    1.6K100

    shopify速度评分怎么提升

    从app、theme code、image、video等几点优化,随ytkah一起来看看 shopify速度评分在哪里看 打开shopify后台,左侧菜单点击online stone - themes,...2、主题代码 有些shopify主题做的功能很多,当然js、css文件调用也就很多了,页面引入的js,css越多的话,就增加了http请求数,则会影响网站访问速度 3、图片大小 很多shopify店主做独立站经常会忽略了图片优化...其实图片对网站的影响非常大,因为一个网站里,图片占据了页面的95%,如果图片得不到良好的优化,那么其他方面的优化做的再好,都会被一张大覆盖掉网站的加载速度,因此我们需要做好图片优化。...online store 2.0介绍可以参考这里shopify店铺2.0升级 在shopify themes store中选2.0 3、图片优化 图片上传之前先处理好图片(尺寸,命名,大小),尤其是产品...,图片尺寸需要一样,图片名字不要带中文,上传之前先更改好命名,图片alt填写一下,对seo有帮助,原图太大的话要压缩后再上传,尤其是有的1M的多的图片,一定要先压缩再上传(产品尽量控制在100kb以下

    1.8K20

    纹理打包器 TexturePacker

    序 在前端调用图片时,可能会使用到雪碧(Sprite)。对于雪碧,有一个配套的纹理贴图集也是比较方便工程师进行开发工作的。...您可以按任意顺序排列雪碧, JSON 文件将为您跟踪它们的大小和位置。...(俺也一样) 简单的说TexturePacker功能就是将多张图片整合成一张大的工具,并且生成一个图片元素相应位置和大小的json文件。...在右侧的输出文件选项中,可以选择你需要的配置,我使用的是pixi.js。当然其他的像unity这些软件的配置也都有。输出文件格式是json格式。之后点击发布精灵表即可。...你只需要知道sprite精灵的帧id(frame id),然后在pixi.js的使用过程中,根据帧id调用这些精灵来进行布局即可。 又一次新的工具和知识get了!

    1.8K00

    如何在Vue项目中更优雅地使用svg

    css 雪碧图中是把多个背景图片放在一张大图片中,而 svg 雪碧则是把多个 symbol 放在一个大的 svg 中,每个 symbol 代表了一个图标,以后每次想要使用图标...安装插件 首先 npm 安装: npm install svg-sprite-loader --save 接着我们用一个文件夹专门各种需要用到的 .svg 文件,这里以 src/assets/img/...,之后这个雪碧会作为 svg 元素注入到 html 中: 如何在Vue项目中更优雅地使用svg-1_2.png 接下来封装图标组件。...'@/components/common/icon/SvgIcon.vue' Vue.component('svg-icon', SvgIcon) // 让 icons/svg下面的图片自动导入,而不是每次手动导入.../svg', false, /\.svg$/); req.keys().map(req); 之后,在 main.js 中引入 index.js 文件: import 'assets/img/icons'

    13.2K21
    领券