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

网站优化之静态资源优化

• 增加首屏必要 CSS 和 JS      • 页面如果需要等待所依赖 JS 和 CSS 加载完成才显示,则在渲染过程页面会一直显 示空白,影响用户体验,建议增加首屏必要 CSS 和 JS,...和内存属性      • text-indnt:-99999px      • 尽量避免使用耗电量大属性 , CSS3 3D transforms、CSS3 transitions、Opacity...  3.2合适使用 CSS 选择器      • 尽量避免使用 CSS 表达式 ,background-color: expression( (new Date()).getHours()%2 ?...4.2JavaScript 变量和函数优化      • 尽量使用 id 选择器      • 尽量避免使用 eval      • JavaScript 函数尽可能保持简洁      • 使用事件节流函数...• 可以使用 fragment,尽量不在页面 DOM Tree 里直接操作。

1.7K10

前端学习资料整理

解释一下你对盒模型理解,以及如何在 CSS 告诉浏览器使用不同盒模型来渲染你布局。 从前端角度出发谈谈做好seo需要考虑什么?...diff 算法,当要重新渲染组件时候,会通过 diff 寻找到要变更 DOM 节点,再把这个修改更新到浏览器实际 DOM 节点上,所以实际上不是真的渲染整个 DOM 树。...: 此条由 王子墨 发表在 攻城师实验室 1、DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动。...SASS (SASS、LESS没有本质区别,只因为团队前端都是用SASS) CSS优化、提高性能方法有哪些? 浏览器是怎样解析CSS选择器? 在网页应该使用奇数还是偶数字体?...减少代码间耦合 让代码保持弹性 严格按规范编写代码 设计可扩展API 代替旧有的框架、语言(VB) 增强用户体验 通常来说对于速度优化也包含在重构 压缩JS、CSS、image等前端资源

3.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

学习zepto.js(Hello World)

:'span-ele', css: { color: 'red' } })/*创建一个id为span-ele,显示值为hello,红色span标签*//*以上为作为选择器使用方法*/...$(function(){ //do...用过jQuery应该都知道,这是绑定DOMContentLoaded 事件 })   当$变量已经存在时,引用了jQuery,那么zepto全局对象将不会指向...但有一点令我不理解地方是,为何在最后又添加了这么一段重复逻辑,还希望有知道同学告诉在下。 ? 最后返回一个变量经过Zepto构造函数摇身一变为Zepto对象。...该方法接收最多三个参数,   第一个为html值,可以只是一个标签,(“”)、或一个html片段,(“hello”);   第二个为一个标识符,用来确定标签类型,该变量主要用于对表格类元素进行一些特殊处理...会有多个,所以css值必须为一个json*/   完成以后就可以返回该dom元素了。

3.5K80

求职 | 史上最全web前端面试题汇总及答案2

然而,在以下情况,请使用 POST 请求: ①无法使用缓存文件(更新服务器上文件或数据库)向服务器发送大量数据(POST 没有数据量限制)。...全局函数isNaN可以判断一个变量值是否为数字。 可以使用运算符type、instanceof判断变量数据类型。 6、什么是Bom什么是Dom?你如何理解Dom?...①innerHTML是w3chtml dom定义方法,而后两者是IE独有的方法; ②innerHTML代表一个元素节点内由所有子节点,不包括当前节点组成html代码; ③outerHTML代表一个元素节点内由所有子节点和当前节点组成...③当然jQuery还有非常有用其它特性,dom对象绑定数据、动画、等。并且jQuery还非常容易扩展,在它基础上开发非常灵活,也有众多插件可用,jQueryUI、easyUI等。...(5) 少用全局变量、缓存DOM节点查找结果。减少IO读取操作。 (6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。

6K20

前端知识体系整理(不断更新

...-> 查找window对象 -> 未定义 js没有块级作用域,可以用匿名函数模拟 未用关键字var申明变量,会自动升级为全局变量挂到window上 顶级作用域内使用var申明变量是window...1】高性能CSS) 合并图片(css sprites) 尽量避免通配符选择器CSS选择器是从右到左进行规则匹配,基于这个机制,浏览器会查找所有同类节点然后逐级往上查找,知道根节点,这样效率很低 尽量避免属性选择器...存储不需要实时更新数据 设置HTTP Expires信息 复杂计算考虑使用Web Worker jQuery性能优化 合理使用选择器 id和标签选择器最快,因为是直接调用原生API $('...,伪元素、属性选择器在不支持querySelector浏览器很慢 尽可能优先使用符合CSS语法规范CSS选择器表达式,以此来避免使用jQuery自定义选择器表达式,因为当jQuery遇到单个id,...结构也有助于提升选择器性能 $('.foo .bar .baz'); $('.foo div.baz'); // better 尽量避免使用通配符选择器 尽可能少创建jQuery对象 document.getElementById

1.6K20

21道关于性能优化面试题(附答案)

JavaScript代码:用散列表来优化查找,少用全局变量,用 innerHTML代替DOM操作,减少DOM操作次数,优化 JavaScript性能,用 setTimeout避免页面失去响应,缓存DOM...src属性为空,会重新加载当前页面,影响速度和效率,尽量避免在HTML标签写 Style属性 4、移动端性能如何优化? 优化方式如下。 尽量使用CSS3动画,开启硬件加速。...(5)少用全局变量,缓存DOM节点查找结果,减少I/O读取操作 (6)避免使用CSS表达式,它又称动态属性, (7)预加载图片,将样式表放在顶部,将脚本放在底部,加上时间戳。...(1)把CSS写在页面头部,把 JavaScript程序写在页面尾部或异步操作。 (2)避免图片和 iFrame等空src,空src会重新加载当前页面,影响速度和效率。...jQuery提供非常丰富选择器选择器是开发人员最常使用功能,但是使用不同选择器也会带来性能问题。建议使用简凖选择器i选择器、类选择器,不要将i选择器嵌套等。

1.7K20

【面试篇】金九银十面试季,这些面试题你都会了吗?

,如何在即保证不破坏现有页面,又提供新渲染机制呢?...(2) 前端模板 JS+数据,减少由于HTML标签导致带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数 (3) 用innerHTML代替DOM操作,减少DOM操作次数...(4) 当需要设置样式很多时设置className而不是直接操作style。 (5) 少用全局变量、缓存DOM节点查找结果。减少IO读取操作。...如果我们在文档添加 那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。...他们是CSS预处理器。他是CSS一种抽象层。他们是一种特殊语法/语言编译成CSS。 例如Less是一种动态样式语言. 将CSS赋予了动态语言特性,变量,继承,运算, 函数.

86430

JavaScript 是如何工作: Shadow DOM 内部结构+如何编写独立组件!

简化 CSS - 作用域 DOM 意味着您可以使用简单 CSS 选择器,更通用 id/类名称,而无需担心命名冲突。 Shadow DOM 本文假设你已经熟悉 DOM 及其它 Api 概念。...这在以前也是可以实现,但是 HTML 元素(在现代浏览器得到了很好支持)使它变得容易得多。此元素及其内容不在 DOM 渲染,但可以使用 JavaScript 引用它。...组件定义样式 作用域 CSS 是 Shadow DOM 最大特性之一: 外部页面的 CSS 选择器不应用于组件内部 组件内定义样式不会影响页面的其他元素,它们作用域是宿主元素 shadow DOM...内部使用 CSS 选择器在本地应用于组件实际上,这意味着我们可以再次使用公共vid/类名,而不用担心页面上其他地方冲突,最佳做法是在 Shadow DOM 内使用更简单 CSS 选择器,它们在性能上也不错...在下面例子,我们以所有的元素为目标,从宿主元素到当前元素再到 DOM 所有子元素: :host /deep/ h3 { font-style: italic; } /deep/ 选择器还有一个别名

1.7K30

【面试】1093- 21 道关于性能优化面试题(附答案)

JavaScript代码:用散列表来优化查找,少用全局变量,用 innerHTML代替DOM操作,减少DOM操作次数,优化 JavaScript性能,用 setTimeout避免页面失去响应,缓存DOM...src属性为空,会重新加载当前页面,影响速度和效率,尽量避免在HTML标签写 Style属性 4、移动端性能如何优化? 优化方式如下。 尽量使用CSS3动画,开启硬件加速。...(5)少用全局变量,缓存DOM节点查找结果,减少I/O读取操作 (6)避免使用CSS表达式,它又称动态属性, (7)预加载图片,将样式表放在顶部,将脚本放在底部,加上时间戳。...(1)把CSS写在页面头部,把 JavaScript程序写在页面尾部或异步操作。 (2)避免图片和 iFrame等空src,空src会重新加载当前页面,影响速度和效率。...jQuery提供非常丰富选择器选择器是开发人员最常使用功能,但是使用不同选择器也会带来性能问题。建议使用简凖选择器i选择器、类选择器,不要将i选择器嵌套等。

1.6K20

第146天:移动H5前端性能优化

,节省加载时间,所以所有静态资源都要在服务器端设置缓存,并且尽量使用长Cache(长Cache资源更新可使用时间戳) a) 缓存一切可缓存资源 b) 使用长Cache(使用时间戳更新Cache) c...但Loading时间过长,会造成用户流失 对用户行为分析,可以在当前页加载下一页资源,提升速度 a) 可感知Loading(进入空间游戏Loading) b) 不可感知Loading(提前加载下一页...优化] (5)尽量避免写在HTML标签写Style属性 (6)避免CSS表达式 CSS表达式执行需跳出CSS渲染,因此请避免CSS表达式 (7)移除空CSS规则 空CSS规则增加了CSS文件大小...所以淘汰) (14)避免让选择符看起来像正则表达式 高级选择器执行耗时长且不易读懂,避免使用 3、[JavaScript执行优化] (1)减少重绘和回流 a) 避免不必要Dom操作 b) 尽量改变Class...)缓存列表.length 每次.length都要计算,用一个变量保存这个值 (4)尽量使用事件代理,避免批量绑定事件 (5)尽量使用ID选择器 ID选择器是最快 (6)TOUCH事件优化 使用touchstart

1.3K40

2020最新前端面试题_2020年前端面试题

js有两种变量, 局部变量和全局变量,局部变量是在他当前函数中产生作用,当该函数结束之后, 该变量内存会被释放,全局变量的话会一直存在,直到浏览器关闭为止。...只是改变display属性,dom元素并未消失,切换时不需要重新渲染页面 v-if直接将dom元素从页面删除,再次切换需要重新渲染页面 5、如何让CSS只在当前组件起作用 scoped 6、<keep-alive...父组件把方法传入子组件,在子组件里直接调用这个方法。 46、 如何让 CSS 只在当前组件起作用? 在组件 style 前面加上 scoped 47、如何获取 dom?...如何在vue安装和使用? sass是一种CSS预编译语言安装和使用步骤如下。 用npm安装加载程序( sass-loader、 css-loader等加载程序)。...常用CSS选择器 ID选择器、类选择器、标签选择器、属性选择器、伪类选择器、后代选择器 权重划分 在同一层级下: !

6.6K10

像素是怎样练成

CSS选择器用于选择DOM元素子集,以对其添加指定属性声明」。 ❝在处理CSS样式时,浏览器会解析CSS文件或内联样式,并将样式规则应用于DOM相应元素。...CSS选择器用于选择要应用样式目标元素。 选择器可以根据元素标签名、类名、ID、属性等进行匹配,以确定应用哪些样式规则。 ❞ 这里多啰嗦几句,在CSS重点概念精讲我们介绍过,选择器。...」选择元素选择器 后代选择器 选择「所有」合乎规则后代元素 「空格」链接 相邻后代选择器 仅仅选择合乎规则「儿子元素」 孙子,重孙子元素忽略 >链接 兄弟选择器 选择当前元素后面的「所有」合乎规则...「兄弟元素」 ~链接 相邻兄弟选择器 仅仅选择当前元素相邻那个合乎规则兄弟元素 +链接 常见使用场景是,改变紧跟着一个标题某些表现方面 权重 ❝ !...变量

23220

移动H5前端性能优化指南

,节省加载时间,所以所有静态资源都要在服务器端设置缓存,并且尽量使用长Cache(长Cache资源更新可使用时间戳) a) 缓存一切可缓存资源 b) 使用长Cache(使用时间戳更新Cache)...但Loading时间过长,会造成用户流失 对用户行为分析,可以在当前页加载下一页资源,提升速度 a) 可感知Loading(进入空间游戏Loading) b) 不可感知Loading(提前加载下一页...] · 尽量避免写在HTML标签写Style属性 · 避免CSS表达式 CSS表达式执行需跳出CSS渲染,因此请避免CSS表达式 · 移除空CSS规则 空CSS规则增加了CSS文件大小,且影响...) · 避免让选择符看起来像正则表达式 高级选择器执行耗时长且不易读懂,避免使用 [JavaScript执行优化] · 减少重绘和回流 a) 避免不必要Dom操作 b) 尽量改变Class而不是Style...每次.length都要计算,用一个变量保存这个值 · 尽量使用事件代理,避免批量绑定事件 · 尽量使用ID选择器 ID选择器是最快 · TOUCH事件优化 使用touchstart、touchend

2.2K61

「大众点评点餐」小程序开发经验 02:视图

与此相关还有以下几个属性: wx:key:遍历元素唯一标识符,主要用于数据动态变化时,DOM 更新机制。数据不变,则可无视。 wx:for-item:遍历元素变量名,默认值为 item。...对于常用选择器,小程序目前支持以下这些: 目前不支持选择器有: 此外,还有几个需要注意地方: 之前提到,页面的顶层是节点,所以想要修改作用于整个页面的样式、顶层节点样式,请使用 page 选择器...( bindtap) Any:任意属性(不是很明白是什么意思) 所有组件都有的共同属性: id:组件唯一标识 class:组件样式类,和在 WXSS 定义选择器对应 style:内联样式 hidden...例如:Mustache / tpl(点评内部开发使用),数据更改时,会将 DOM 节点全部更新。 字符串 parse 和 compile 后拼接渲染外,有自己 DOM 节点更新机制。...例如:Vue.js / React等,数据更改时通过 DOM Diff 算法更新 DOM 节点。 当数据改变触发渲染层重新渲染时候,会校正带有 key 组件。

3K30

JQuery第一节

DOM对象:使用JavaScript方法获取页面元素返回对象就是dom对象。...注意:jQuery选择器返回是jQuery对象。 jQuery选择器有很多,基本兼容了CSS1到CSS3所有的选择器,并且jQuery还添加了很多更加复杂选择器。...过滤选择器 这类选择器都带冒号: 名称 用法 描述 :eq(index) $(“li:eq(2)”).css(“color”, ”red”); 获取到li元素,选择索引号为2元素,索引号index...li元素,选择索引号为偶数元素 :first $(“li:first”).css(“color”, ”red”); 获取到li元素第一个 :last $(“li:last”).css(“color...”); 获取当前元素后代元素li元素 siblings(selector) $(“#first”).siblings(“li”); 查找兄弟节点,不包括自己本身。

1.6K30

大型DOM结构是如何影响交互性

与页面的初始渲染一样,CSS选择器特异性增加会增加交互导致HTML元素插入到DOM渲染工作。 当 JavaScript 查询DOM时,对 DOM 元素引用存储在内存。...它不包括DOM所有节点。 如果你想实时查看DOM大小更新,你也可以使用性能监视工具。使用这个工具,你可以将布局和样式操作(以及其他性能方面)与当前DOM大小进行关联。...这样做将减少DOM元素数量,并可能给你一个机会来简化页面样式。 DOM深度也可能是你使用框架一个症状。特别是,基于组件框架(依赖于JSX那些)要求你在父容器嵌套多个组件。...如果你担心扁平化DOM结构对样式有影响,你可能会从使用更现代(和更快)布局模式(flexbox或grid)受益。...限制CSS选择器复杂性 当浏览器解析你CSS选择器时,它必须遍历DOM树以了解这些选择器是如何(以及是否)应用于当前布局

16930

59道CSS面试题(附答案)

,因为 clearfix已经应用在各大CSS框架( Bootstrap等),并成为行业默认规范。...虽然浮动元素已不在文档流,但是它浮动后所处位置依然在浮动之前水平方向上。 因为浮动元素不在文档流,所以文档流块元素表现得就像浮动元素不存在一样,下面的元素会填补原来位置。...也可以把浮动元素想象成被块元素忽略元素,而内联元素会关注元素。 17、解释一下 CSS Sprite,以及如何在页面或网站中使用它。...(6)CSS3选择器nth- child)能够漂亮地定位我们想要元素,又能保证CSS整洁易读。然而,这些神奇选择器会浪费很多浏览器资源。...49、在CSS可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内? 最基本方式如下。

4.9K50

如何实现 Vue 自定义组件 hover 事件以及 v-model

接着我们来看看如何在自定义组件 实现 v-model。...v-model 介绍 要了解如何在组件实现v-model支持,需要了解它是如何工作。...基础事例 假设有一个日期选择器组件,该组件在一个对象接受month和year值,格式为:{month:1,year:2017}。...高级用法 通过使用一个或多个计算属性,我们可以将输入数据(字符串)反规范化为输入元素更容易处理格式。这通常与更高级定制组件一起使用,这些组件必须处理各种可能输入格式,比如颜色选择器。...通过使用计算属性(在本例为splitDate),我们可以将输入字符串拆分为具有month和year属性对象,同时仅对日期选择器组件进行最少修改。

19.6K10

前端开发,关键技术点杂烩

标准属性在后; 9、CSS 预处理 CSS 预处理器用一种专门编程语言,在编写 CSS 过程可以使用变量、循环、递归等特性,然后再编译成正常 CSS 文件,可以提高 CSS 编写效率,常用预编译语言有...ID 选择器、类选择器、伪类选择器、全局选择器 ... 13、你知道这些选择器权重怎么计算? 权值为1000:代表内联样式,: style=""。...权值为100:代表ID选择器:#content。 权值为10:代表类,伪类和属性选择器.content。 权值为1:代表类型选择器和伪元素选择器div p。...可以简单理解为“函数里函数”,两个常见作用:一可以读取函数内部变量、二让这些变量值始终保持在内存。...20、JS 作用域链 在一些类 C 语言中有“块级作用域”,即花括号每一段代码都有自己独立作用域,而 JS 只有函数级作用域;JS 作用域链第一个对象始终是当前执行代码所在环境变量对象(VO)

1.1K30

前端关键技术点杂烩,这些你必须知道

标准属性在后; 9、CSS 预处理 CSS 预处理器用一种专门编程语言,在编写 CSS 过程可以使用变量、循环、递归等特性,然后再编译成正常 CSS 文件,可以提高 CSS 编写效率,常用预编译语言有...ID 选择器、类选择器、伪类选择器、全局选择器 ...(请跳至W3SCHOOL) 13、你知道这些选择器权重怎么计算? 权值为1000:代表内联样式,: style=""。...权值为100:代表ID选择器:#content。 权值为10:代表类,伪类和属性选择器.content。 权值为1:代表类型选择器和伪元素选择器div p。...可以简单理解为“函数里函数”,两个常见作用:一可以读取函数内部变量、二让这些变量值始终保持在内存。...20、JS 作用域链 在一些类 C 语言中有“块级作用域”,即花括号每一段代码都有自己独立作用域,而 JS 只有函数级作用域;JS 作用域链第一个对象始终是当前执行代码所在环境变量对象(VO)

1.5K20
领券