【转载】Web动画性能指南
特别声明:本文转载@Alexorz的《Web动画性能指南》,如需转载,烦请注明原文出处:http://alexorz.github.io/animation-performance-guide引言随着网页功能变得愈发复杂和精细,以及手机端H5发展中所遇到的硬件性能瓶颈,网页的运行时性能问题变得越来越突出。而用户对于网页运行时性能最直观的感受,莫过于UI操作的流畅程度。流畅或卡顿,爽或不爽,皆在于每个...
View Article提高Web页面性能的技巧
现在动辄几兆大小的页面加载量,让性能优化成了不可避免的热门话题。WEB 应用越流畅,用户体验就会越好,继而带来更多的访问量。这也就是说,我们应该反省一下那些过度美化的 CSS3 动画和多重操作的 DOM 元素是否都考虑到了在性能方面的影响。在说性能优化之前,我们有必要理清浏览器视觉绘制方面的两个术语:Repaint(重绘):如果某些操作影响了 DOM...
View ArticleJavaScript学习笔记:数组(一)
数组(Array)是JavaScript最常用类型之一。初学者也最容易将数组(Array)和对象(Object)混淆,而且和其它语言中的数组又有着相当大的区别。作为一位初学者,为了能理清楚数组,把自己学习过程中做了一些笔记。什么是数组?数组(Array)简单的理解就是按次序排列的一组值。每个值的位置都有自己的编号,而且这个编号是从0开始。先来看一个简单的数组示例,看其长成啥样:var arr =...
View ArticleJavaScript学习笔记:数组(二)
很多时候我们需要对JavaScript中数据类型(Function、String、Number、Undefined、Boolean和Object)做判断。在JavaScript中提供了typeof操作符可以对这些常用的数据类型做判断。但要使用typeof来判断数据是不是一个数组,就不起作用了。那在实际生产中要如何来检测数据是不是一个数组呢?今天的学习任务就是如何来检测一个数据是不是数组?typeof...
View Article使用stylelint对CSS/Sass做代码审查
对样式审查?很少人会这么做吧,但实际上开发者应该有这样的态度,尤其是不同团队多人开发时,这一点尤为重要。在本文中,我将陈述两点:一是为什么我们需要对样式进行审查,二是如何将审查工具融合到整体的构建流程中(适用于 CSS,也适用于...
View ArticleJavaScript学习笔记:数组(三)
JavaScript是一种弱类型语言,不像其它程序语言需要严格定义数据类型。在JavaScript中数组可以任意修改变动,这样也就出现了一个问题,如果边遍历数组边操作数组(比如删除当前项,则所有之后的数组元素下标都将向前移动)是一件很危险的事情。JavaScript的数组是一个拥有堆栈和队列自身优点的global对象。也就是说JavaScript数组可以表现的像栈(LIFO)和队列(FIFO)一样操...
View Article通过建立一个导航栏了解盒子模型
在一个机构工作意味着我的工作大部分都是基于项目的。意味着每隔几个月(或更少,如果你明白我的意思)就会开始一个新的设计。有趣的是,一段时间后,我发现了每个设计师的风格和喜好。一个例子就是连续做过的三个项目中,导航UI的设计都有类似的风格。这种特殊的元素对我来说十分显眼,不仅因为我之前见过两次,而且我发现它涉及了盒子模型的各个方面。所需导航看起来要像这个样子这是我们大多数人经常会听到的语句。老实说,我第...
View ArticleJavaScript学习笔记:数组(四)
在实际的业务当中,很多时候要对定义好的数组重新排序。在JavaScript中自带了两个方法,可以对数组进行排序操作。这两个方法就是sort()和reverse()。今天就来学习这两个方法相关的知识。sort()方法sort()方法对数组的元素做原地的排序,并返回这个数组。默认情况下,sort()方法是按升序排列数组项。即最小的值位于最前面,最大的值排列在最后面。为了实现排序,sort()方法会调用每...
View ArticleREM vs EM
网页字体排版的最佳实践之一就是使用相对单位,如rem和em.问题是,你应该使用哪一个呢?一直以来,rem支持者和em支持者之间都存在着争辩,认为应该使用自己支持的那个。在这篇文章中,你会找到我如何在rem和em之间做抉择.你也将了解rem和em到底是什么以及如何使用它们来构建模块化组件。什么是EM?EM...
View Articleobject-fit和object-position
object-fit和object-position是我最近最喜欢的两个CSS属性。他们使开发人员可以操作img或video中的内容,类似于我们可以用background-position和background-size操作背景内容一样。首先,让我们深入探讨一下object-fit该属性定义一个元素,如img,如何适应容器的宽度和高度。我们可以用object-fit告诉内容以各种方式填充容器,如“保...
View ArticleWeb动画:学习使用API
感谢Rachel Nabors,第一个告诉我关于API的人;还有Dan Wilson,提供了他关于WAAPI的文章,让我进入学习。如果你使用过SVG,你应该知道可以使用SMIL给SVG添加动画。CSS Transitions和keyframes动画都可以操作CSS属性来添加动画。...
View ArticleJavaScript学习笔记:数组(五)
JavaScript为操作已经包含在数组中的项提供了很多方法。比如push()、pop()、shift()和unshift()实现数组的增删操作、sort()和reverse()对数组项进行排序操作。今天学习操作数组的其他方法:concat()、slice()和splice()。concat()方法concat()方法可以简单的将其理解为合并数组。基于当前数组中的所有项创建一个新数组。简单的说,co...
View Article12步创建高性能Web APP
现在,Web App 日益重视用户的交互体验,了解性能优化的方式则可以有效提高用户体验。阅读和实践下面的性能优化技巧,可以帮你改善应用的流畅度、渲染时间和其他方面的性能表现。概述对 Web App 进行性能优化是一份冗杂沉重的工作,这不仅是因为构建一个 Web App...
View ArticleCSS属性:background-size
background-size属性用于指定背景图像的大小。背景图像可以被设置为覆盖该元素的整个背景区域,或者被设置为由CSS作者所定义的明确的尺寸大小。可以使用...
View Article使用Flexbox的六个理由
您使用 flexbox吗?上周我在 twitter 上,问了这个问题,很惊讶地发现,不少于 50%的人回答是。之所以感到惊讶是因为,直到最近,我并不在我的任何项目中使用 flexbox ,我想我一定是唯一的一个。我不使用 flexbox...
View ArticleJavaScript学习笔记:数组(六)
众所都之,数组项在一个数组中都有自己的位置。在JavaScript中提供了两个确定数组项位置的方法:indexOf()和lastIndexOf()。今天我们主要一起学习这两个方法是如何使用,又是如何查找出数组项在数组中的确切位置。indexOf()方法indexOf()方法从数组的开头(位置为0)开始向后查询。indexOf()方法返回指定数组项在数组中找到的第一索引值。如果通过indexOf()查...
View ArticleJavaScript学习笔记: 数组(七)
使用数组总是会碰到数组的遍历(迭代)操作。说到迭代,可能会立马想起for语句对数组进行迭代。比如需要迭代出下面数组peoples年龄(age)大于30的人名(name)。var peoples = [ { name: 'Agraj', gender:'M', age: 29, address: { city: 'Delhi', pincode: '110064' } }, { name:...
View ArticleJavaScript学习笔记:数组(八)
很多时候需要累加数组项的得到一个值(比如说求和)。如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来。比如:var arr = [1,2,3,4,5,6]; Array.prototype.sum = function (){ var sumResult = 0; for (var i = 0; i <...
View Article