本文是58到家前端工程化集成解决方案boi的博文系列之一。boi是基于webpack打造的一站式前端工程化解决方案,现已开源Github。 作为前端构建工具不可或缺的一个环节,自动生成css sprites图片不仅仅能够减少频繁的人工操作,还能够避免多人协作时对同一个sprites图片维护过程中因个人原因引起的图片不规范问题。58到家前端工程化解决方案boi的自动css sprites功能基于webpack实现,本文记录一下实现方案的各个细节以及需要注意的地方。 1. 功能需求 css sprites的功
在网页设计与开发领域,提高页面加载速度和优化用户体验是永恒的主题。CSS Sprites(精灵图)作为一种经典的图片合并技术,通过减少HTTP请求次数,有效提升了网站性能。本文将深入浅出地探讨CSS Sprites的核心概念、常见问题、易错点及规避策略,并通过实例加深理解。
对于页面仔来说,做图片精灵是一件枯燥无聊又废时的事。然后不甘于现状的人们发明了些做图片精灵的工具。我觉得用 Compass 来做图片精灵是最快速简单的。
一、web font web font是应用在web中的一种字体技术,在CSS中使用font-face定义新的字体。先了解操作系统中的字体: a)、安装好操作系统后,会默认安装一些字体,这些字体文件描
使用插件webpack-spritesmith生成雪碧图 1、安装webpack-spritesmith; npm install --save-dev webpack-spritesmith 2.配置webpack.config.js new SpritesmithPlugin({ //生成的雪碧图本身就压缩了图片大小 src: { cwd: path.resolve(__dirname, 'src/image/icon'),
它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了.
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。
icon在我们前端日常开发中是很常用的,它有很多种使用方式,时至今日,它的使用方式经过了很多种演变,本文会为大家介绍icon的一些历史演变,分析一下这几种使用方式的优劣,我们将采用svg sprites这种方式使用icon,演示代码使用vue+vue-cli3+,看完之后,你会发现这种使用方式完全称得上优雅二字
前端技术日新月异,我们需要不断学习来更新自己的前端知识并运用到自己的项目中。这次笔者整理一些未来普及或者现在同学们可能已经用到的CSS特性,包括SVG图标、滚动特性、CSS自定义属性、CSS现代伪类 、JS in CSS、Web Layout、混合模式和滤镜、CSS计数器等等。
从前我以为 HTTP/2 开启以后,雪碧图可以逐渐退出舞台,现在感觉到自己的天真。且不论 svg 如果做成雪碧图可以通过 gzip 受益不少,多个单张的 png 还是比起一张要浪费请求。
浏览器会下载HTML解析页面生成DOM树,遇到CSS标签就开始解析CSS,这个过程不会阻塞,但是如果遇到了JS脚本,此时假如CSSOM还没有构建完,需要等待CSSOM构建完,再去执行JS脚本,然后再执行DOM解析,此时会阻塞。
前言 《React移动web极致优化》也提到了,构建工具是前端优化的重要一环。而React的推荐构建工具则是Webpack。这篇文章我们就来聊聊如何在Webpack构建的过程中如何针对React的应用
使用到的插件是: webpack-spritesmith 依赖项: "webpack-spritesmith": "^1.1.0" "webpack": "^4.29.6" "webpack-cli": "^3.3.0" 预设命令: "build:dev": "npx webpack --mode development" "build:prod": "npx webpack --mode production" 配置webpack.config.js 配置输出模板: // 定义输出模板函数 const
《微信小程序七日谈》系列文章: 本系列的文章并非初学教程,而是笔者在具体开发过程中遇到的问题以及部分解决方案。 上篇文章第一天:人生若只如初见简单记录了笔者初步上手开发微信小程序遇到的一些问题,其中提到了wxss的部分细节问题。这篇文章以笔者在开发小程序响应式UI当中遇到的一些问题为例,简单记录一下使用wxss为响应式开发带来的一些模式和思维上的改变。 rem的重定义 前端工程师对rem非常熟悉,rem是以html元素的font-size为基准的尺寸计量单位。rem方便了开发者对响应式UI的尺寸进行统筹管
如项目代码目录展示的那样,除了常见的app.js作为入口文件,我们将用到的 3 张图片放在/src/assets/img/目录下,并在样式文件base.css中引用这些图片。
本次我把CSS中的重难点整理出来,总共54个核心知识点,供大家复习,希望能帮到大家。这些重难点是进阶高薪必需要掌握的知识点,同时也是面试必问的内容。
内容优化 (1)减少HTTP请求数:这条策略是最重要最有效的,因为一个完整的请求要经过DNS寻址,与服务器建立连接,发送数据,等待服务器响应,接收数据这样一个消耗时间成本和资源成本的复杂的过程。常见方法:合并多个CSS文件和js文件,利用CSS Sprites整合图像,Inline Images(使用 data:URL scheme在实际的页面嵌入图像数据 ),合理设置HTTP缓存等。 (2)减少DNS查找 (3)避免重定向 (4)使用Ajax缓存 (5)延迟加载组件,预加载组件 (6)减少DOM元素数量:
在能用CSS实现的就不用麻烦JavaScript[1]文章提及到滚动捕捉的特性,更多有关于容器滚动方面的CSS新特性其实还有有很多个,比如:
一、背景样式 在CSS中,背景样式包括两个方面:背景颜色、背景图片。 在Web2.0 时代,对于元素的背景样式,我们都是使用CSS属性来实现。但在Web1.0时代,都是使用background或者 bgcolor这两个HTML属性(不是CSS属性)来为元素定义背景颜色或背景图片。 1.常用背景样式属性 属性 说明 background-color 定义背景颜色。 background-image 定义背景图片地址。 background-repeat 定义背景图片重复。 background-pos
大家好,这里是@IT·平头哥联盟,我是 首席填坑官——苏南(South·Su),今天要给大家分享的是 SVGSprites(也叫雪碧图),所谓雪碧图,当然就不是我们常喝的雪碧饮料(Sprites)哦,哈哈~
web前端是应用服务器处理之前的部分,前端主要包括:HTML,CSS,javascript,image等各种资源,针对不同的资源有不同的优化方式。
CSS高级技巧 精灵图 css sprites >为了有效减少服务器接收和发送的频率,减轻服务器的压力;将许多的小图片放到一张大图片上去;就是精灵技术,CSS sprites; > 精灵技术主要针对背景图片, 精灵图就是一张大的背景图片 > 使用时主要移动背景图片位置,使用backgroud-position属性 > 一般情况下都是往上走,往左走,所以backgroud-position的值都是负值 字体图标iconfont > 字体图标展示的是图标,本质上是文字;可以改变颜色等属性 > 字体图标需要下载,
在上一篇文章中,我们讲述了字体渲染机制和导致iconfont出现锯齿的原因,以及如何才能出绘制高质量SVG ICON,并且提供了一套AI模版供大家参考使用。下文将讲诉前端侧我们如何用SVG来做成高清ICON,并且良好支持PC下的各个浏览器,并兼容IE6+以上的浏览器。 从上一篇文章中我们得知SVG 做的图标在IE9+的浏览器渲染效果相当的差,所以在IE下我们我们不使用SVG ICON,我们可以将SVG转成一倍的png图片来进行替代。首先来简单的普及一下SVG ICON的几个使用方法: 第一种Inline S
本文介绍一些关于响应式图像的适配应用策略,回退原理,SVG的换色技巧,雪碧图的百分比定位计算公式等相关的一些小知识点,目的在于帮助一部分同学快速的理清图像应用思路,以及一些web图像的应用技巧。 1.响应式图像的应用与回退 特点:应用简单,上手容易,性能表现良好 难点:lazyload实现 根据不同设备,不同分辨率,不同像素比使用的响应式图像,常用的有两种场景: 1.1固定尺寸图像 基于设备像素比选择,很多网站logo就是固定宽度图像的一个例子,不管viewport的宽度如何,始终保持相同的宽度。 在dom
本文主要讲解了CSS3和JavaScript的一些基础知识,包括字体、CSS3动画、响应式、图片优化、SVG、动画、触发器等。还介绍了一些常用的工具和资源,如GitHub、MDN、CSS Tricks、CSS Media Queries等。同时,也探讨了如何避免重排和重绘,以及提高性能的方法和技巧。
字体方面主要包括:字体渲染方式,浏览器默认字体及重置,@font-face自定义字体,字体性能等
最近有几个搭档开通了自己博客,但却诉苦说因为的买的虚拟空间,所以自己博客网站翻开速度很慢。关于这种景象,依照一般的状况来看,一个网
postcss-lazysprite 是一个基于PostCSS 开发的用于生成雪碧图图片及其CSS 的插件,经过半年持续迭代,现已稳定用在旗下两款产品的Web 业务中。其与市面上的雪碧图插件不同在于生成雪碧图的“懒惰”姿势。 前言 前端界,伴随着雪碧图这个概念出现,自动化产生雪碧图这类工具就层出不穷。无论是早期GUI 工具,还是现在流行的配合Gulp/Grunt/Webpack 这类构建工具而产生的雪碧图插件。总之是百花齐放,长江后浪推前浪,后浪死在沙滩上。 根据输入方式的不同,现在市面上基于Node.js
文章主要讲述了如何通过设置图片质量、使用矢量图片、设置图片压缩、懒加载等技术来优化图片的加载和显示效果,同时介绍了在特殊场景下如何实现图片的优化显示,最后还介绍了一些关于图片优化的技巧和经验。
今天学习css精灵图技术,并且通过用它拼接自己的英文名字,拿起小本本记好了哦!
Pack Components into a Multipart Document
搜索引擎优化,又称为 SEO ,即 Search Engine Optimization 两种优化方式:氪金,优化网页相关信息 SEO 三大标签
https://www.toptal.com/developers/css/sprite-generator
css sprite (css 雪碧)又叫css精灵,是一种图片拼合技术。多用在图标上,把几个图标拼成一个图片,页面加载的时候只需要load拼好的图片,然后使用background-position配合width、height来显示不同的图标。这样做可以减少页面请求数。但是,想想把一个个图标从psd上扣下来,合到一个图上,然后还要慢慢算background-position,这也真是醉了,而且后期如果改了图标,又要重新拼一次,拼完再算一次background-position,真是坑大了。 对于这种耗时的体
确定图片的坐标比较繁琐且易出错,同时使用图片地图导航也不具有可读性,因此不推荐使用图片地图。
图片 本篇博文的内容根据 Introduction to Gulp.js 系列文章 拓展而来,其代码、依赖包及目录结构部分均有所更改,更多详细内容,敬请参考
下面是一些提高网页访问速度的常用方法: (1)合并压缩JS/CSS (2)使用CSS sprites (3)避免使用CSS表达式 (4)精简HTML CSS JS代码大小 (5)避免JS的复杂计算和DOM操作,减少页面的重绘重排 (6)JS尽量放到页面底部 (7)合并AJAX请求 (8)TAB页异步或延迟加载 (9)非关键图片尽量延迟加载,如头像 (10)压缩图片质量 (11)设置较长的客户端缓存过期时间 (12)设置GZIP压缩 (13)cookie隔离 (14)适当使用多域名增加并行加载 (15)重点优
Web 页面性能优化,解决了图片相关,问题就解决了大半。本文从 Web 常见的图片格式入手,引出与图片优化相关的有效方案,期望对大家能有一点帮助。
在命令行输入webpack -h,成功就出现下图,有很多webpack命令可以看一看
web资源防盗链 盗链是什么? 为什么要防? 在自己页面上显示一些不是自己服务器的资源(图片、音频、视频、css、js等) 由于别人盗链你的资源会加重你的服务器负担,所以我们需要防止 可能会影响统计 防盗链是什么? 有哪几种方式? 防止别人通过一些技术手段绕过本站的资源展示页,盗用本站资源,让绕开本站资源展示页面的资源链接失效 大大减轻服务器压力 1、Referer (易伪造referer,安全性低) 2、加密签名 (安全性高) 防盗链的工作原理 通过Referer,服务器可以检测到访问目标资
目前Java语言在IT互联网行业的应用还是非常广泛的,由于大数据和云计算两大技术体系在构建技术生态的过程中基本上都大量采用了Java语言,所以2021年大数据和云计算在产业领域的人才需求潜力仍然是比较大的,各大招聘网站上搜索市场需求量大,大家可以看一下下面这张图 📷 下面是我搜集整理的比较全面的一些java前端面试题 一、如何区分 HTML 和 HTML5? DOCTYPE声明\新增的结构元素\功能元素 二、CSS 选择符有哪些? 1.id选择器( # myid) 2.类选择器(.myclassn
《微信小程序七日谈》系列文章: 本系列的文章并非初学教程,而是笔者在具体开发过程中遇到的问题以及部分解决方案。 微信小程序自公布以来就被捧上了天,新闻一波接一波。一部分声音来自前端界,把小程序当成前端历史地位提升的一次革新;一部分声音来自app开发界,把小程序当成失业的助推器(摊手)。本文的目的不是讨论小程序的是或非,只是记录一下笔者在开发小程序过程中一些收获和感想。 有消息称第一批微信小程序在12月中下旬发布,在那之前,需要将已完成的小程序向腾讯提交审核。58到家看准了这次推广的机会,制定了小程序开发计
许多团队在制定前端工程方案时会加入脚手架模块。虽然不同的团队对工程化的理解和实施有所差异,但是对于脚手架的定位基本是一致的:创建项目初始文件。这是一条看起来十分简单地准则,但是对于这条准则应该如何理解,如何实施却并不是一件很简单地事情。 在探索这条准则的深度之前,我们不妨看看类似的一些成熟方案,比如Eclipse。这个大名鼎鼎的IDE软件被很多Java和Android开发者使用。通过Eclipse创建一个新项目时,它提供了丰富的配置项,这些配置项可以归纳简化为以下流程:选择项目类型 -> 选择项目目录 ->
概要 减少HTTP请求文件的大小 精简html的DOM元素数量 压缩css,js代码 图片文件选用合适的格式。对于色彩数不是很丰富的图片,使用png格式 压缩图片。使用类似智图的工具 服务器端启用gzip压缩 静态资源放在没有cookie的domain下 减小cookie大小 减小网站标题图标(favicon.ico)的大小 减少HTTP请求数 合并文件。比如将所有的样式表合并成一个,所有脚本文件合并成一个 合并一些图标类图片。图标类图片做成图片精灵(CSS Sprites) 缓存 静态资源的缓存 a
领取专属 10元无门槛券
手把手带您无忧上云