高性能WEB开发 页面呈现、重绘、回流。

yizhihongxing

高性能WEB开发是一个需要深入研究和掌握的领域,其中涉及到的大量知识技能和技术工具要求开发者有扎实的理论基础和丰富的实战经验。在这篇文章中,我们将着重讨论三个重要的主题:页面呈现、重绘和回流。这些主题与前端开发的性能相关,并且会影响用户对网站的使用体验。

一、页面呈现

页面呈现是指在浏览器中加载并显示网页的过程。在页面呈现的过程中,浏览器会将HTML、CSS、JavaScript等文件进行解析并渲染出页面。这个过程的速度和效率会对页面性能产生重大影响。

在提高页面呈现速度方面,有以下几个关键点:

1.减少HTTP请求数量

每一个HTTP请求都会带来网络延时,所以我们应该尽可能地减少HTTP请求数量。合并和压缩CSS和JavaScript文件,使用CSS Sprites等技术来减小图片的大小,可以有效减少HTTP请求数量。

2.使用浏览器缓存

通过使用浏览器缓存,可以减少对服务器的请求,使页面呈现速度更快。可以通过设置Expires、Last-Modified、Etag等响应头信息或使用缓存插件来实现缓存的控制和管理。

二、重绘

重绘指的是当元素的背景色、边框颜色、字体颜色等属性发生变化时,浏览器需要重新渲染元素的过程。在页面中大量重绘会导致页面渲染速度变慢,影响用户的使用体验。

在提高页面重绘速度方面,有以下几个关键点:

1.使用CSS属性尽量不使用JavaScript来操作DOM

直接操作DOM是非常耗费性能的,应该尽可能地减少DOM的操作。使用document.createElement等原生API代替innerHTML等操作。

2.使用CSS优化页面

减少box-shadow、clip-path、transform和opacity等属性的使用,同时,可以使用GPU加速和硬件加速等技术来优化页面重绘速度。

三、回流

回流指的是当元素的位置和尺寸发生变化时,浏览器需要重新布局并计算元素位置和大小,然后再进行渲染。与重绘相比,回流对性能的影响更加严重,因为回流会导致浏览器重新计算元素位置和大小,非常耗费性能。

在提高页面回流速度方面,有以下几个关键点:

1.尽可能使用translate、scale或rotate等CSS3属性进行页面变换

使用CSS3属性可以避免、减轻回流的影响,尽量避免使用width和height两个属性。

2.避免使用table布局

table布局是非常复杂的,当使用table布局时,回流的影响非常大,应该避免使用table布局,尽量使用div等标签模拟表格。

示例一:

在网站中使用大量的图片,并且在加载图片时没有使用懒加载等技术,导致页面呈现速度很慢,并且会增加HTTP请求的次数。应该使用懒加载技术来减少HTTP请求次数,在页面呈现过程中先加载有意义的内容,等页面完全显示后再加载后面的内容。

示例二:

在网站中使用了大量的数组、object等JS对象,每次修改对象都会触发重新计算DOM的过程,导致回流和重绘的次数非常多。应该尽可能地减少DOM的操作,尽可能使用原生API,使用事件委托等技术来优化页面的性能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:高性能WEB开发 页面呈现、重绘、回流。 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 父元素的高度为0利用伪元素:after清除浮动可解决问题

    当一个元素的子元素都被设置成浮动元素时,会导致该元素高度塌陷(高度为0),从而无法正常显示。解决这种问题的一种方式是利用CSS的伪元素:after来清除浮动。 具体步骤如下: 在CSS中找到对应的父元素,并设置其position值为relative或者absolute(这是在使用伪元素:after时必须的步骤); 使用:after伪元素,在该父元素的最后面添…

    css 2023年6月10日
    00
  • CSS去除移动端点击时元素产生的背景色 (推荐)

    现在我将会详细讲解如何去除移动端点击时元素产生的背景色。 第一步:使用CSS伪类 我们可以使用CSS伪类 :active 来修改当元素被激活时产生的背景色。为了去除配色方案中 :active 伪类声明的背景色,我们可以将其设置为透明。 下面是针对 div 元素的示例代码: div:active { background-color: transparent;…

    css 2023年6月9日
    00
  • CSS选择器(基本选择器和组合选择器)详解

    CSS选择器是一组用于选择HTML或XML文档中特定元素的字符串。在开发过程中,CSS选择器用于为元素应用样式、执行JavaScript操作、或在DOM中对选定元素进行查询。 CSS选择器可以分为基本选择器和组合选择器。 基本选择器 标签选择器 标签选择器是在CSS规则中使用最广泛的选择器,它根据HTML代码中的标签名称来选择元素。 代码示例: p { co…

    Web开发基础 2023年3月20日
    00
  • CSS Font-Size: em、px 、pt 、Percent之间的关系及换算

    CSS中的字号大小可以通过不同单位进行设置,主要有以下4种: em:相对大小,是相对于父元素字号的倍数,如果父元素字号为16px,子元素设置为1.5em,那么子元素字号就是24px(16px * 1.5)。 px:绝对大小,固定像素大小,不受其他参数的影响,一般不建议使用像素单位进行字号设置,因为在不同设备上显示效果可能会有差异。 pt:绝对大小,等同于1/…

    css 2023年6月9日
    00
  • css FF与IE兼容性总结

    在前端开发中,CSS 的兼容性问题是一个常见的挑战。特别是在 Firefox 和 Internet Explorer(IE)浏览器中,由于它们的渲染引擎不同,可能会导致 CSS 样式在不同浏览器中的显示效果不同。本文将提供一些关于如何解决 CSS 在 Firefox 和 IE 中的兼容性问题的方法,包括一些常见的 CSS 属性和示例说明。 CSS 属性兼容性…

    css 2023年5月18日
    00
  • vscode配置setting.json文件实现eslint自动格式代码

    下面是详细的攻略: 配置 setting.json 文件实现 ESLint 自动格式代码 1. 安装 ESLint 插件 在 VS Code 插件商店中搜索 ESLint 并安装。安装成功后,在 VS Code 左下角会出现 ESLint 的图标,表示已经成功安装。如果没有出现图标,可以按 Ctrl + Shift + P 或 Cmd + Shift + P…

    css 2023年6月10日
    00
  • Firebug入门指南(Firefox浏览器)

    Firebug入门指南(Firefox浏览器) Firebug是Firefox浏览器的一款强大的开发工具,它可以帮助前端开发者进行调试、监控、修改网页代码等工作。以下是Firebug的入门指南,希望能为大家提供一些帮助。 安装和使用 打开Firefox浏览器,在地址栏中输入网址https://addons.mozilla.org/zh-CN/firefox/…

    css 2023年6月10日
    00
  • Bootstrap 中下拉菜单修改成鼠标悬停直接显示 原创

    修改 Bootstrap 中下拉菜单鼠标悬停直接显示的步骤如下: 步骤一:修改 HTML 代码 在需要实现鼠标悬停显示下拉菜单的 HTML 元素上添加 data-toggle=”dropdown” 和 data-hover=”dropdown” 属性。例如: <nav class="navbar navbar-expand-lg navbar…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部