【转载】15年双11手淘前端技术巡演 - 前言
本文开启了2015年双11手淘前端团队技术分享旅程,这是整个系列的第一篇,由手淘前端团队总架@岑安写的前言,如果您想知道双11手淘前端团队使用哪些技术,如果您想了解手淘更多相关技术,欢迎持续关注相关更新。15年双11刚落下帷幕。今年众所周知,是全面“无线化”的一年。数据上我就不说了,可以公开的数据我相信大家多多少少也从各方都了解到了。在整个阿里体系内,无论技术还是业务,都会把每年的双11当作一个战场...
View ArticleSass操作符
在本文中,我们将会解析一下 Sass 中的操作符。赋值操作符Sass 使用冒号( :)来定义一个变量:$main-color: lightgray; 算术操作符算术操作符用于执行数学计算,下面是 Sass 所支持的算术操作符:操作符简介+加-减*乘/除%取余在下一小节中你会发现,+操作符也可以用来拼接字符串。注意,上面的操作符只能用于单位相同的数值运算:h2 { font-size: 5px +...
View ArticleSass的表达式和控制命令
如果你深入地使用过 Sass,那么一定会接触过 mixin。一个独立的 mixin 往往聚合了大量的控制指令来实现复杂的功能。在本文中我们就将这些控制指令和表达式做一些讲解和实践。也许你在开发中不见得会用到它们,但是熟悉一下这些指令,可能会有意想不到的收获!if()if()是 Sass 的一个内建函数,与之相似的 @if则是一个内建指令。if()用来做条件判断并返回特定值,示例如下:@mixin...
View Article【转载】对无线电商动态化方案的思考(一)
如题,接下里的一段时间里,我会从无线电商动态化的角度谈一谈自己的理解和思考无线电商动态化无线首先要谈的是无线,或者说移动。手机和传统桌面端计算机有着非常大的不同,首先是随时随地,这样它就需要同时也可以拥有更多的传感器,比如镜头、体感、定位、蓝牙、NFC...
View Article如何使用SVG图案
图案是非常常用的设计元素。它可以提供对比,创建一个深度感,并给组合添加趣味。SVG可以很方便地创建和使用图案,随心所欲~我上次提到了这周要讨论一个可以定义并重用的元素,就是pattern啦。这篇文章我们要讨论<pattern>元素,以及如何在SVG中使用这个元素。大概会讲SVG图案的基础,然后下一篇讲解如何创建复杂一些的图案。SVG图案SVG图案一般用于SVG图形对象的填充fill或描边...
View ArticleSVG图案:通过图片、属性和嵌套构建更复杂的图案
网页设计元素之一——图案,通常是使用图片创建的。虽然一些图案可以使用CSS创建,但大多数还是涉及某种形式的图片。幸运的是SVG可以很容易创建简单和更复杂的图案,还可以缩放,而且需要很少的http请求。上一篇文章中我们大概看了SVG<pattern>元素的基本内容和属性。通过一个示例展示了如何创建简单的图案。以及简单地介绍了几个<pattern>元素的属性。今天我们继续讨论几个...
View Article使用Flexible实现手淘H5页面的终端适配
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜。可没想到到了移动时代,为了处理各终端的适配而乱了手脚。对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论——手淘的H5页面是如何实现多终端的适配?那么趁此Amfe阿里无线前端团队双11技术连载之际,用一个实战案例来告诉大家,手淘的H5页面是如何实现多终端适配的,希望这篇文章对大家在Mobile的世界中能过得更...
View Article如何创建SVG箭头和polymarker——`marker`元素
一个常见的使用SVG绘制的图形是箭头。一行代码就可以创建一个,但是这样代码重复度很大。你也可以在<defs>和<symbol>中定义好再去重用,但是你每次应用的时候都需要对其移动或旋转。直接用一个<marker>元素的话会方便很多。前面几周的时候我讲过如何组织SVG代码,以及如何定义一个可重用的图形对象。可以翻一下w3cplus上SVG系列文章进行学习~今天我想要...
View Article创建和导出SVG的技巧
我们在响应式网页设计的工作中经常用到SVG,这个过程通常包括设计阶段和开发阶段。设计阶段通常是由不懂编程的设计师们完成的。因为原生SVG作为一种图像格式和文档格式,在图形编辑器中创建SVG效果的每一步,都会直接影响生成的代码以及负责嵌入SVG代码、编写脚本或添加动画的开发者的工作。在我的日常工作中,我通常是既做设计师又做开发者,自己处理自己设计的内容,而SVG图像就是我的日常开发内容之一。我之前做的...
View Article如何给SVG填充和描边应用线性渐变
给SVG元素应用填充和描边有三种方法(戳这里学习SVG填充和描边的相关内容)。你可以使用纯色、图案或渐变。前面两种方法我们之前已经讲过了,现在我们来讨论第三种方法——渐变。SVG提供了两种渐变——线性、径向。我今天先讲线性渐变,下篇我们再看看径向渐变。SVG线性渐变如果你看过这系列的SVG之前的文章,你应该对这里渐变的很多概念都比较熟悉啦。在<defs>中定义,然后在后面把它们作为填充或...
View Article如何给SVG填充和描边应用径向渐变
和图案一样,渐变可以给作品增加深度和趣味。虽然当前的趋势是扁平化设计,渐变还是很经常使用的。上节我们大概讲了线性渐变的内容。今天就到径向渐变啦。径向渐变和线性渐变是很相似的,区别只是在于如何定义渐变。SVG线性渐变上篇文章中也提到,如果你理解了线性渐变的原理,学习径向渐变是很容易哒。使用<radialGradient>元素定义径向渐变,以及一些相关属性。我们还是一样,从一个简单的例子开始...
View Article【转载】对无线电商动态化方案的思考(二)
上一篇谈到了我对无线电商动态化的理解,并简单提到了我们自己提出的技术方案:Weex,今天就来详细介绍一下 Weex一句话介绍Weex 是一款轻量级的移动端跨平台动态性技术解决方案!几个特点轻量体积小巧,语法简单,方便上手可扩展业务方可自行横向定制 native 组件和 API高性能快速加载,快速渲染,体验流畅其它拥抱标准:基于 Web 标准设计语法响应式界面:...
View ArticlePostCSS深入学习: 管理插件
当你阅读完本系列教程前面的内容,你应该收集了一些PostCSS插件。如何选择PostCSS的插件,这一切取决于你的经验。鉴于前面的基础,我们来继续了解PostCSS插件的生态系统。通过这个可以了解PostCSS多么强大,以及他能提供哪些功能。我们将讨论PostCSS插件管理,你可以通过这些去关注最新的PostCSS插件,了解这些插件属于什么类别,考虑如何将这些插件运用到实际的项目中。查找插件当你开始...
View ArticlePostCSS深入学习: 跨浏览器兼容性
在前面一系列的PostCSS教程中我们学习了PostCSS一些基础知识。接下来准备继续使用PostCSS生成样式表,而且采用不同类型的插件用于不同的目的。在这篇教程中我们使用PostCSS创建一个跨浏览器兼容性的样式表。我们将要做的:有前缀的自动添加前缀添加一系列的IE版本,回退到IE8、IE9和IE10为没有支持的属性添加will-change属性那我们开始吧。设置您的项目你需要做的第一件事情就是...
View ArticleCSS处理图像效果:仿古效果
上周,我在CSS Conf EU上分享了一个主题:PS已死,CSS中处理图像。我最初的想法是10件你常使用Photoshop处理在浏览器显示的效果,但当我开始考虑过滤效果和混合模式时,这一切都处在探索中。我决定要写一系列的文章分享这方面的知识,帮助大家更好的消化。让我们先从一些简单而有效的效果开始!冲洗效果(Washout...
View ArticlePostCSS深入学习: 压缩和优化CSS
上一节的教程中学习了如何使用PostCSS插件帮助你处理跨浏览器兼容性的样式,特别是如何对IE老版本做降级处理。在本教程中我们将继续学习如何使用PostCSS插件让你的样式表更加高效,加载更快。这些都可以通过PostCSS插件执行各种压缩和优化。本教程你将学习如何:通过@import将多个样式组合为一个,即使你的一些样式来自Bower组件或npm模块,都可以确保你你只需要请求一个单独的http,加载...
View ArticleCSS处理图像效果: 3D Glasses
这是使用CSS的filters和混合模式处理图片效果系列文章的第二篇。上一篇介绍了如何使用CSS混合模式中的lighten模式制作一张仿古图片效果,并学习如何做一张漂亮的褪色照片效果。在这篇文章中,我们将看看如何创建3D照片效果。3D图像(又称为浮雕)浮雕是立体三维图像中的一个类型,主要由两张照片错开大约2.5英寸距离,大约距离人类的眼睛间距离。其实就是创建一个错觉,当颜色和色调搭配得协调,这种错觉...
View ArticlePostCSS深入学习: 定制自己的预处理器
在上一篇文章中,我们学习了如何使用PreCSS这款优秀的预处理器插件包。在这篇文章中我们将基于PostCSS的基础上以不同的方式构建一个预处理器。你可以精心挑选一些优秀的PostCSS插件,自定义构建一款属于自己的预处理器。通过我个人一些发现,通过设置一些插件带你定制一个强大的预处理器。当然,你可以选择我下面提到的插件,你也可以选择你喜欢的插件来定制属于自己的预处理器。无论你选择哪些来设置,而下面介...
View ArticleCSS动画之硬件加速
过去几年,我们常常会听说硬件加速给移动端带来了巨大的体验提升,但是即使对于很多经验丰富的开发者来说,恐怕对其背后的工作原理也是模棱两可,更不要合理地将其运用到网页的动画效果中了。在本文中,我会和大家分享有关硬件加速的前端技巧。为什么要关心硬件加速下面让我们来看一个动画效果,在该动画中包含了几个堆叠在一起的球并让它们沿相同路径移动。最简单的方式就是实时调整它们的 left和...
View Article