前端基础(17):图片整合提高浏览器速度

前端优化:首屏加载速度的实践 随着互联网技术的飞速发展,前端网页逐渐取代了传统客户端成为用户获取信息、进行交互的重要渠道,但是网页也有常见的弊端,比如网页首屏加载速度的快慢直接影响着用户体验,那么如何提升网页的首屏加载速度,成为了前端开发者必须面对的问题。本文将从多图片懒加载、避免用户多次点击请求以及骨架屏原理等方面,简单分享一下前端优化首屏加载速度的策略优化。欢迎大家在评论区留言交流。 阅读详情

图片整合

  • 1、图片整合的概念,使用图片整合的优势
  • 2、实现图片整合的方法和技巧
  • 3、滑动门的概念
  • 4、浏览器的兼容的概念及原因
  • 5、常见的CSS bug及CSS hack

一、图片整合的概念,使用图片整合的优势

CSS Sprites(图片整合技术)css精灵
将导航背景图片,按钮背景图片等有规则的合并成一张背景图,即将多张图片合为一张整图,然后用background-position”来实现背景图片的定位技术。

图片整合的优势:

1)通过图片整合来减少对服务器的请求次数,从而提高 页面的加载速度。
2)通过整合图片来减小图片的体积。


二、实现图片整合的方法和技巧


1)使用ps进行小图片整合;
2)使用相关软件来进行操作。

三、滑动门的概念


1.什么是滑动门
滑动门是一个形象的称呼,它利用CSS背景图像可层叠性,并允许彼此之上进行滑动来创造一些特殊动态效果
2.滑动门特征:
通过滑动门技术,可以使CSS设计出来的导航菜单兼具传统布局的图像效果,与CSS布局的高效扩展性 。


三、浏览器的兼容的概念及原因
1、为什么会出现浏览器兼容问题?
由于各大主流浏览器由不同的厂家开发,所用的核心架构和代码也很难重和,这就为各种莫名其妙的Bug(代码错误)提供了温床。再加上各大厂商出于自身利益考虑而设置的种种技术壁垒,都让CSS应用起来比想象得要麻烦。浏览器的兼容问题是我们必须去克服的。
2、世界上第一个浏览器?
Mosaic / Netscape Navigator(网景领航者)(1994-2008)简称NN
网景浏览器(Netscape )是一个是由 Netscape 通信公司开发的网页浏览器。
3、浏览器大战是指不同的网络浏览器之间的市场份额竞争。
第一次浏览器大战发生在上个世纪90年代,微软发布了它的IE浏览器,和网景公司的Netscape Navigator大打出手。
第二次浏览器大战发生在20世纪。
2013年2月份全球主流浏览器市场份额排行榜


2014年11月份全球主流浏览器市场份额排行榜

2015年5月份全球主流浏览器市场份额排行榜

2016年8月份全球主流浏览器市场份额排行榜

2017年12月份全球主流浏览器市场份额排行榜


4、浏览器最关键的部分就是它的渲染引擎(Rendering Engine),也就是大家平常所说的的“内核”。
Trident /(MSHTML) (三叉戟;三叉线;三齿鱼叉) IE
Gecko (壁虎) Mozilla Firefox
Presto ( 迅速的) Opera
Webkit (Safari内核,Chrome内核原型,它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核)
Blink (由Google和Opera Software开发的浏览器排版引擎)

5、代表作品
*Trident:IE、Maxthon(遨游)、腾讯 、Theworld世界之窗、360浏览器代表作品IE,因为IE捆绑在Windows中,所以占有极高的市场份额,又称IE内核是MSHTML,此内核只能应用于windows平台,且是不开源的。
Gecko:代表作品Mozilla Firefox 是开源的,它的最大优势是跨平台,能在Microsoft Windows、Linux和MacOS X等主要操作系统上运行。
Webkit :代表作品Safari、Chrome , 是一个开源项目。
Presto :代表作品Opera ,Presto是由Opera Software开发的浏览器排版引擎。它也是世界上公认的渲染速度最快的引擎。
Blink :由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。

6、CSS Bug和Hack
1)CSS Bug:CSS样式在各浏览器中解析不一致的情况,或者说CSS样式在浏览器中不能正确显示的问题称为CSS bug.
2)CSS Hack: CSS中,Hack是指一种兼容CSS在不同浏览器中正确显示的技巧方法,因为它们都属于个人对CSS代码的非官方的修改,或非官方的补丁。有些人更喜欢使用patch(补丁)来描述这种行为。
3)Filter:表示过滤器的意思,它是一种对特定的浏览器或浏览器组显示或隐藏规则或声明的方法。本质上讲,Filter是一种用来过滤不同浏览器的Hack类型。

使用Hack带来的一些副作用降低了CSS代码的可读性,增加了代码的负担。
设计CSS Hack和 Filter通常有两种方法
1)一种是利用浏览器自身的Bug,来隐藏或显示样式或声明;
2)另一种是利用浏览器对CSS支持的不完善,如对某些规则或语法还没有形成支持,来隐藏或显示样式。

7、常见的css Bug
1)表单元素行高不一致(IE,MOZ,C,O,S)
描述:表单元素行高对齐方式不一致
hack:给表单元素添加声明:float:left;
2)按钮元素默认大小不一
1.描述:各浏览器中按钮元素大小不一致
hack:统一大小
hack2:input外边套一个标签,在这个标签里写按钮的样式,把input的边框 和背景色去掉。
hack3:如果这个按钮是一个图片,直接把图片作为按钮的背景图即可。

2.浏览器解析按钮边框时,会把边框解析在按钮内部,不会影响按钮的原有大小
3.在IE6及更低版本的浏览器里,如果想去掉input的默认边框,需将其border属性值设置成0方可兼容多个浏览器。

3)margin-top解析问题
bug:子元素没设置任何浮动,设置了margin-top属性后,会错误的把margin-top的属性值添加给父元素.(块元素)
hack1:给父元素添加overflow:hidden;声明。
如果父元素设置了浮动属性也不会出现这个问题。

4)透明属性
其他浏览器写法:opacity:.value;(value的取值范围0-9)
IE浏览器写法:filter:alpha(opacity=value);

5)属性前缀
在属性前可加以上这三个符号
_只有IE6以下支持,例如_height:100px;
只有IE7以下支持,例如height:100px;
+只有IE7以下支持,例如+height:100px;
针对IE8加属性值后缀\0(数字零),例如:height:200px\0;
!important优先级声明,只有高版本支持,IE6不支持
例#main{height:60px!important;}
解决方法:
例如: main{height:60px!important;height:70px;}
注:同时设两个高度,优先级声明的属性要放到前面 。

cursor属性:设置或检索在对象上移动的鼠标指针采用的光标形状。

语法:cursor : auto | hand | move | help | pointer | text | vertical-text | wait |url


Pointer-events 指针事件
auto:与pointer-events属性未指定时的表现效果相同。
none:元素永远不会成为鼠标事件的target。


FastDDS之共享内存 transport层负责为DDS用户数据收发和服务发现提供通信。包含UDP,TCP,SHM。 阅读详情

相关推荐

基于stm32开发的红外循迹小车

2.L298N电机驱动模块:分别是5V,12V,GND,可以通过外加电源给驱动模块供电,IN1,IN2,IN3,IN4,EN1,EN2,通过给IN口不同的电平,可以达到控制电机正反转,EN口为使能口,可以通过给EN口不同的PWM波,来达到控制小车速度,1.红外循迹模块:检测黑线的原理是向外发射红外线,当没有遇到黑线的时候,返回回来,之后返回高电平,当遇到黑线的时候,红外被吸收,返回高电平,读取相应IO口的电平就可以知道小车此时的大致位置;模块有四个输入接口,分别连接四个TT马达,驱动小车运动;

2301_81374681的博客 1万+

前端如何性能优化

前端性能优化是一个综合性和持续的工作。通过合理的资源管理、减少请求、异步加载、优化代码和提高缓存利用率等手段,能够显著提高页面的加载速度和响应速度,改善用户体验。优化的过程中,不仅要关注加载速度,还要考虑到页面交互性能,确保用户能够流畅地使用页面。

BANaanaa的博客 2295

Redhawk解析PAD / IOPAD的实现方法

Redhawk解析IOPAD的实现方法1. IOPAD DEF的概念说明2. 生成 IOPAD GDS文件3. 生成 IOPAD DEF文件4. Redhawk解析过程中读取IOPAD DEF 本文主要简述【Redhawk解析IOPAD】的实现原理方法,具体脚本没有放在这里。 1. IOPAD DEF的概念说明 2. 生成 IOPAD GDS文件 注: getinfo2IODEF.tcl 是基于innovus获取IOPAD的摆放信息以及库信息。 run_cerate_iopadgds.csh 是基于c

kobayashiyou的博客 3154

网页前端:图片的应用

实验目的:(1)掌握图片作为网页元素的使用方法;(2)掌握图片作为背景元素的使用方法;(3)掌握使用table进行页面布局的方法。实验内容:按照下图要求设计静态页面!(1)掌握图片作为网页元素的使用方法;(2)掌握图片作为背景元素的使用方法;(3)掌握使用table进行页面布局的方法。

学无止境 488

红外弱小目标检测:IPI算法解读及MATLAB复现

参考文献:[1]C. Gaoet al., “Infrared Patch-Image Model for Small Target Detection in a Single Image,” vol. 22, no. 12, pp. 4996–5009, 2013. 本文整理????论文笔记,并附MATLAB实现代码。 一、阅读笔记 1. 摘要 IPI算法是单帧检测算法; 利用背景的非局部子相关性(non-local self-correlation ofbackground),将目标检测转..

小草莓的魔法笔记 1万+

华为OD机试双机位C卷-字符串解密(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【字符串解密】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 字符串解密。

qq_45776114的博客 733

前端图片整合/雪碧图/精灵图用法

图片整合(CSS Sprites) 又叫css精灵 / 雪碧图 原理: 图片整合技术是把小图标整合成一张大的背景图片, 通过插入背景图和background-­position调整图片的位置来显示图片 优点: 1、减少服务器的请求次数,提升网页的加载速度,减少服务器的带宽 2、减小图片的体积 缺点: 不利于后期的维护 整合代码示例: <style> *{margin:0;padding:0;} .wrap{ width:400px; height: 200px;

码上行动 385

【Altium designer】如何添加过孔阵列

按下图1指示,执行【Tool】菜单栏下【Via Stitching/Shielding】选项卡中的【Add Stitching to Net...】选项 图1 “添加过孔阵列”选项 点击【Add Stitching to Net...】选项后,会跳出一个窗口,让我们设置过孔阵列的参数信息,如下图2所示。 图2 过孔阵列参数设置 过孔阵列区域:勾选该选项框,即可绘制多边形区域; 过孔内径与焊盘直径:比如内径 【Hole Size】设为12mil,焊盘直径【Diameter】设为24mil; .

夜半少年的博客 2万+

图片整合

什么是图片整合技术( css sprites 或者精灵图) css sprites直译过来就是CSS精灵。通常被解释为“CSS图像拼合”或“CSS贴图定位”。其实就是通过将多个图片融合到一张图里面,然后通过CSS background背景定位技术技巧布局网页背景。

LikeStudyBoy的博客 695

辉芒微教程第七篇《PWM与PWM3调节LED灯的亮度》

这个其实就是PR3L = 128设置的,由于我们刚刚寄存器设置了8位模式,其设置的范围就是0-255,而128/255≈50%左右,因此PR3L就是我们的占空比调节的寄存器,我们可以通过它来调节占空比,大家可以试试它占空比设置10%,30%,60%来看看它的不同效果,灯的亮度是肯定不一样的,如果有条件的朋友,可以购买一款逻辑分析仪去看他的占空比。平平无期的这个东西有什么东东用,貌似是没什么用,只是一个概念而已,是不是不同设备可以设置1秒,3秒,10秒的周期就行?但是它占空比为什么是50%,怎么得来的?

qq_41809823的博客 827

高云FPGA系列教程(1):FPGA和ARM开发环境搭建

至此,高云FPGA和MCU开发环境就搭建完成了,整体还是比较简单的,几乎是一键完成,下一篇文章我们进行实际的FPGA和MCU开发。本文是高云FPGA系列教程的第1篇文章。

whik1194的博客 6187

前端浏览器渲染优化

By Jordan Irabor | January 17 2019 原文 介绍 我们生活在一个强调快速提供网络服务的时代。由于web应用的负载传输不断增加,开发者必须采取最佳实践来确保数据包被即刻分发,以此提供给用户拉稀般的网络体验 如今被web开发广泛采用的最佳实践是图片压缩、代码压缩、代码打包(webpack打包)等等。这些实践已经被证明了能有效提高用户体验,如果开发者能够深入理解浏览器渲染...

weixin_33763244的博客 408

发那科机器人karel程序

备份和查看发那科机器人中的 Karel 程序的过程主要包括从示教器中备份程序,并通过 RoboGuide 等仿真软件查看和运行程序。步骤相对简单,但需要确保你的设备和软件已经设置好,可以通过 FTP 或直接从示教器的外部存储设备进行操作。如果你在操作过程中遇到问题,建议查阅相关的用户手册或联系发那科的技术支持,确保设备设置正确。如果你有更具体的问题或需要进一步帮助,欢迎继续提问!希望如上措施及解决方案能够帮到有需要的你。

**My Coding Family** 1600

AI图片放大教程|视频放大工具整合包使用方法|CDVR放大|Flash SVR放大(WebUI整合)

AI图片放大教程|视频放大工具整合包使用方法|CDVR放大|Flash SVR放大(WebUI整合)

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1215

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java Web 前端高性能优化(一)

Web 发展的速度让许多人叹为观止,层出不穷的组件、技术,只需要合理的组合、恰当的设置,就可以让 Web 程序性能不断飞跃。所有 Web 的思想都是通用的,它们也可以运用到 Java Web。这一系列的文章,主要讲解网页前端性能优化,是与用户最直接接触的。事实证明,与其消耗大量时间在服务器端,在前端进行的优化更易获得用户的肯定。一.引言前端的高性能部分,主要是指减少请求数、减少传输的数据以及提高用户

wangpeng198688的专栏 1181

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【php】如何提高网页加载速度?

1、减少页面请求: 从WEB运行原理上讲,IIS请求是无状态的,在服务器端一直是连接和关闭的不断进行着,如果能减少服务器请求,总的时间将会减少。 之前我下载163邮箱的登陆页面的图片时发现,它们的只用到了一个图片来完成整个页面的所有图片,当时我就纳闷了,这跟平时做的网站不一样呀。然来这样做减少浏览器的请求次数,用httpwatch你会发现请求的总时间大大减少了。同样的想法,在做css样式,ja...

weixin_30892889的博客 67

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

react前端显示图片_闲庭信步聊前端 见微知著微前端

笔者初次接触微前端在2020年7月,是从同事的口中听说的。虽然不算是一个早期接触者,但是也确实的推动和跟进了内部某大型项目的开发和落地。也希望能把一些走过的坑和一些思考分享给大家。文内所指应用均为PC网页应用。此文不进行移动端M页讨论。当时网上信息也不是很多,百度搜索微前端的结果也寥寥无几,乾坤,飞冰占据了大部分篇幅,还有的就是美团的内部技术沙龙。谁想半年后微前端一词越炒越烈,各种解决方...

weixin_39622225的博客 169

17个CSS知识点整理

17个CSS知识点整理 1、对WEB标准以及W3C的理解与认识 标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率; 使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快; 内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件; 容易维护、改版方便,不需要变动页面内容; 提供打印版本而不需要复制内容、提高网站易用性; 2、xhtml和html有什么区别 HTML...

emojidove的博客 127

Java Web 前端高性能资源优化

Web 发展的速度让许多人叹为观止,层出不穷的组件、技术,只需要合理的组合、恰当的设置,就可以让 Web 程序性能不断飞跃。所有 Web 的思想都是通用的,它们也可以运用到 Java Web。这一系列的文章,主要讲解网页前端性能优化,是与用户最直接接触的。事实证明,与其消耗大量时间在服务器端,...

chuiluancheng1950的博客 127

什么是前端开发 以及web前端性能优化35条军规,性能知识学习

文章目录前端开发介绍web前端性能优化35条军规内容部分1.尽量减少HTTP请求数2.减少DNS查找3.避免重定向4.让Ajax可缓存5.延迟加载组件6.预加载组件7.减少DOM元素的数量8.跨域分离组件9.尽量少用iframe10.杜绝404css部分11.避免使用CSS表达式12.选择舍弃@import13.避免使用滤镜14.把样式表放在顶部js部分15.去除重复脚本16.尽量减少DOM访问1...

流浪地球的博客 550

如何提高网页的效率

网站最基本的东西是什么?网站最基本的东西是什么?<br />——内容?SEO(搜索引擎优化)?UE(用户体验)?都不对!是速度!<br />内容再丰富的网站,如果慢到无法访问也是毫无意义的; SEO做的再好的网站,如果搜索蜘蛛抓不到也是白搭; UE设计的再人性化的网站,如果用户连看都看不到也是空谈。<br />所以网页的效率绝对是最值得关注的方面。如何才能提高一个网页的效率呢?Steve Souders提出了提高网页效率的14条准则,而这些准则也将是我们下篇中介绍到的YSlow工具的理论基础:Make Fe

chenhongxin的专栏 2289

Java Web 高性能开发,第 1 部分: 前端的高性能

简介: Web 发展的速度让许多人叹为观止,层出不穷的组件、技术,只需要合理的组合、恰当的设置,就可以让 Web 程序性能不断飞跃。所有 Web 的思想都是通用的,它们也可以运用到 Java Web。这一系列的文章,将从各个角度,包括前端高性能、反向代理、数据库高性能、负载均衡等等,以 Java Web 为背景进行讲述,同时用实际的工具、实际的数据来对比被优化前后的 Java Web 程序。第

Leo Zhang 898

17-附加

附加 一、页面布局整体思路 为了提高网页制作的效率,布局时通常有以下整体思路 必须确定页面的版心(可视区),我们测量可知 页面布局第一准则:分析页面中的行模块,以及每个模块中的列模块。 页面布局第二准则:一行中的列模块经常使用浮动布局,先确定每个列的大小,之后确定列的位置。 制作HTML结构,遵寻先有结构、后有样式、交互的原则。(结构永远是最重要的) 所以,先理清楚布局结构,在写代码尤为重要,多积累。 二、页面布局注意点 一、导航栏 实际开发中,我们

sayyesb的博客 159

前端面试基础

1.对WEB标准以及W3C的理解与认识?   标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;   2.XHTML和HTML有什么区别? ...

dianwa19950120的博客 94

超全前端面试题及答案

HTML+CSS 1.对WEB标准以及W3C的理解与认识标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;2.xhtml和html有什么区别HTML是一...

Clotho2012的博客 2096

肝了一天一夜 吐血整理的超级实用的Web前端面试题总结

文章目录Web前端面试题大全(一)HTML CSS篇1: 如何实现盒子水平垂直居中2:图片下方间空白隙如何解决3:简述圣杯布局、双飞翼布局实现的原理4:简述精灵图原理以及其优缺点5:简述BFC规则以及解决的问题6:文本溢出显示省略号如何实现7:简述网页中常见图片格式及特点8:常见浏览器兼容性问题9:h5有哪些新增特性10:如何处理H5新标签的浏览器兼容问题11:css3有哪些新的特性12:css3新增选择器有哪些13:c3中过渡和动画的区别和各自的适用场所14:说出你知道的2D3D变形函数15:解释弹性布局

Crystal_nan_的博客 3432
上一篇: 前端基础(16):grid布局
抽屉里面放枫叶(Breeze_qi)
博客等级 码龄8年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值