Canvas粒子系统:3D球体
前些日子在Codepen上看到了一个很惊艳的3D特效,一时惊叹,fork下来后,读了一下作者的源码,200多行,十分精简,但是内劲无穷。这里和大家分享一下作者的思路和一些基础的数学知识,希望能给大家带来一点思考和启发,先来看一个效果:动画生成过程创建canvas,设置canvas中心点,变量初始化:function setParameters生成指定数量的例子...
View ArticleDIY Web Animations: Promise + rAF + Transition
Web Animation API非常的棒。除了能很好的支持平常动画之外。我发现还可以使用Promise、rAF和CSS Transition来重新创建它们,结果类似人体工程学。Web Animations使用Web动画,你可以让任何元素,并让它按动画序列帧播放。element.animate([ {transform: 'translateX(0px)', backgroundColor:...
View Article2017 Amsterdam CSS Day
2017 CSS Day于6月15日和16日在Amsterdam举办,到今天已经过去一个多月了。虽然说是CSS Day,但这次话题并不仅仅是有关于CSS方面,这次大会主要分成两个方面的话题:Browser API Special和CSS。第一天主要是有关于Browser API...
View Article再谈Retina下1px的解决方案
在互联网上有关于1px边框的解决方案已经有很多种了,自从使用Flexible库之后,再也没有纠结有关于1px相关的问题。由于最近在考虑新的移动端适配方案,也就是放弃Flexible库,我不得不考虑重新处理1px的方案。为此为我自己也重撸了一些1px的解决方案,整理出来,希望对有需要的同学有帮助。Flexible方案Flexible方案已不是什么神秘的方案了,借助JavaScript来动态修改meta...
View ArticleCSS魔术师Houdini API介绍
本文转载于@arvinh的《CSS 魔術師 Houdini API 介紹》一文,如需转载,烦请注明原文出处:http://blog.techbridge.cc/2017/05/23/css-houdini/前言今天想继续 CSS 的议题,常常会觉得学 CSS 的新技术不太划算,因为每次看到新的 Feature...
View ArticleES6中的变量和作用域
这篇文章主要探讨和学习如何在ES6中处理变量和作用域。通过let和const决定块作用域let和const创建的变量只在块作用域中有效。它们只存于包含它们的块中。下面演示的代码,通过let在if语句块中声明一个tmp变量。这个变量仅在if语句中有效。function func() { if (true) { let tmp = 123; console.log(tmp); // => 123...
View ArticleES6中的变量和作用域
ES6提供了两种新的声明变量的方法:let和const,它们主要替换ES5中使用var声明变量。letlet工作类似于var,但是它声明的变量只在块作用域,也只存在于当前块作用域。var工作于函数作用域。在下面的代码中,你可以看到let声明的变量tmp只在if块中用效:function order(x, y) { if (x > y) { let tmp = x; x = y; y =...
View ArticleES6学习笔记:块级作用域绑定
过去,JavaScript的变量声明机制不像C语言一样,在声明变量的同时也会创建变量(绑定)。在以前的JavaScript中何时创建变量要看怎么声明变量。在以前的变量作用域有全局作用域和局部作用域,但不像其他的程序语言有块作用域一说。在ES6中新引入的块级作用域绑定机制。var声明及变量提升在函数作用域或全局作用域中通过var声明的变量,不管是在哪声明的,都会被当成在当前作用域顶部声明的变量,这也被...
View Article深入解析 ES6:模板字符串
本文转载Bubkoo.com的《深入解析 ES6:模板字符串》一文,如需转载,烦请注明原文出处:http://bubkoo.com/2015/06/23/es6-in-depth-template-strings/在 ES6 中引入了一种新的字符串字面量 —— 模板字符串,除了使用反引号 (`)...
View ArticleES6: 模板字符串
ES6中引入了模板字符串(Template Literal),是创建字符串的一种新方法。有了这个新特性,我们就能更好地控制动态字符串。这将告别长串连接字符串的日子。要创建一个模板字符串,我们可以使用反引号(撇号)字符替找单引号'或"。这将产生一个新的字符串,我们可以以任何方式使用它。基本用法:let newString = `A string`;...
View Article深入PostCSS Web设计
PostCSS是一种工具,一款已成长为像Sass和LESS一样主流的处理器,这一切都归功于它的强大、速度和易用性。《深入PostCSS Web设计》是使用PostCSS的完全指南,《深入PostCSS Web设计》将指导你如何编写优秀的样式,并将其运用到Web页面,同时让你的样式保持可维护性。这本《深入PostCSS...
View Article再聊移动端页面的适配
前端圈真乱,这话一点不假。但乱也乱的好处,乱则生变,有变化才有进步。今天还是老调重谈,聊聊移动端页面的适配。因为对于一枚前端而言,天天和页面打交道(H5页面),那么布局的活总是少不了,这也将面临不同终端的适配问题。不知道你是否和我一样,页面布局总是或多或少会有一些蛋疼的事情发生。如果是的话,建议你花点时间阅读完下面我扯蛋的东东。Flexible承载的使命Flexible到今天也有几年的历史了,解救了...
View Article为什么是display:contents而不是CSS Grid的subgrid
在CSS Grid Layout中,如果没有人提出display:contents;来解决一部分问题,那么你就无法深入的讨论CSS Grid...
View Article表单验证第一部分:使用 HTML 和 CSS技巧对表单进行约束验证
本文转载自:众成翻译译者:cherryjin链接:http://www.zcfy.cc/article/3523原文:https://css-tricks.com/form-validation-part-1-constraint-validation-html/大多数的JavaScript表单验证类库体积都非常庞大,而且往往需要引入其他的库,像jQuery。...
View Article表单验证第二部分: 约束验证 API
本文转载自:众成翻译译者:cherryjin链接:http://www.zcfy.cc/article/3575原文:https://css-tricks.com/form-validation-part-2-constraint-validation-api-javascript/在上一篇文章中, 我向大家展示了如何通过组合输入类型 (例如, <input type='email'>)...
View Article表单验证第三部分: 一个Validity State API Polyfill
本文转载自:众成翻译译者:cherryjin链接:http://www.zcfy.cc/article/3674原文:https://css-tricks.com/form-validation-part-3-validity-state-api-polyfill/在这个系列的上一篇文章中, 我们创建了一个轻量级的脚本 (6kb, 2.7kb缩小后) 使用这个 Validity State API...
View Article表单验证第四部分: MailChimp订阅表单中的验证
本文转载自:众成翻译译者:cherryjin链接:http://www.zcfy.cc/article/3680原文:https://css-tricks.com/form-validation-part-4-validating-mailchimp-subscribe-form/在这个系列的上几篇文章中, 我们已经学会了如何使用输入类型和验证属性本地进行表单验证。我们也学会了如何使用约束验证...
View Article