PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用
如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器。不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass、Stylus或LESS)结合起来使用。有几个PostCSS插件配合预处理器得到很好的赞誉,因为他们将功能添加到你的工作流中,让你工作变得更加轻松。如果你只使用一个预处理器,而不使用这些插件,你的工作流至少会变得更加困难。我们会涉及一些免费的PostCSS插件,...
View ArticlePostCSS深入学习: 结合BEM和SUIT方法使用PostCSS
这篇教程我们将学习如何结合BEM和SUIT来使用PostCSS,让编写CSS样式更容易、更有效。这两个方法都是用来给类命名的,使用它更容易让你将风格紧密结合在一起,并且帮助其他开发人员从各种的类名就能识别出对应的样式风格。BEM是由@Yandex提出的一种类名命名方式。SUIT是基于BEM上的另一种类名命名方式,只不过@Nicholas...
View ArticleGulp系列教程:简介和安装
我的网站从2014年初开始使用Jekyll。然而我对于自己的构建和开发流程不太满意。我开始各种尝试并选择Grunt.js作为构建系统,但是其中一些过程依然是由Ruby实现的。我经常使用Compass并用Jekyll Assets来管理版本。然而Grunt.js无法与Jekyll Asset...
View ArticleGulp系列教程:使用BrowserSync浏览及相关配置
这是Gulp.js介绍系列的第二篇教程。今天我想讨论一些首要的Gulp.js任务并用BrowserSync设置开发服务器。接下来我开始创建一个配置文件。安装Gulp.js运行gulpfile.js前需要安装gulp:$ npm install --save-dev gulp@3.9.0...
View Article[转载]玩轉 CSS 3D: 原理篇
本文转载于@oxxo的玩转CSS 3D系列教程第一篇:http://www.oxxostudio.tw/articles/201506/css-3d.html這篇 CSS 3D 的文章,其实酝酿已久,从CSS 3D 出来的时候就已经在关注,只是要写 CSS 3D 真的很费工,里面有太多东西要讲,加上最近在做 Webduino 可以改变世界的事业 ( Webduino 超赞呀!...
View ArticleGulp系列教程:Build,Clean和Jekyll
这是Gulp系列教程的第三部分。今天我想谈一谈build任务,这个任务会执行一个构建过程所需的其它任务,例如清空资源文件以及创建个人Jekyll站点。Build现在我创建一个build任务。它会执行所有其它任务,这些任务是创建站点必须的。Gulp.js默认同时运行所有任务。因此当需要特定顺序时我就遇到了问题。我需要一个node模块按顺序执行任务。$ npm install --save-dev...
View Article多步动画和过渡
CSS animations用法简洁功能强大,一个完整的动画只需命名、@keyframes关键帧定义以及绑定到元素三个步骤。虽然 CSS animations的概念和用法比较简单,但却可以创造复杂精致的动画,比如多步过渡动画,这也是本文关注所要向您介绍的重点。keyframe如果我们为一个元素设置了背景色的关键帧,比如将背景从橘色变为黑色,那么橘色就会随着时间的推移渐变为黑色,可以说 CSS...
View ArticleGulp系列教程:使用Sass(和Compass)编写CSS
这是Gulp系列教程的第四部分。今天我会展示如何使用Sass(和Compass如果你愿意)来创建CSS文件。另外我会使用Autoprefixer来添加浏览器前缀并创建Source...
View ArticlePostCSS深入学习: 简写和速写
到目前为止,我们已经使用 PostCSS 做了很多事情,比如,优化样式,给预处理器增加功能,生成某些符合规范的样式,但是它只有帮助写原始 CSS 的人吗?每个 web 设计师在他们的职业生涯中都会写出有很多可复用的代码,如果你能用一点时间把每一个都收集起来到最后那将会变得很多。在本教程中,我们要使用 PostCSS 的一系列的简写和速写来减少每天的编代码的时间。...
View ArticleGulp系列教程:使用Browserify处理JavaScript
这是Gulp系列教程的第五部分。今天我会展示如何使用Browserify来打包JavaScript并使用CommonJS模块在浏览器中运行node模块。Browserify这个任务稍微复杂一些,因为我使用Browserify来打包JavaScript。如果它太复杂了超出了你的需求你也可以使用gulp-concat来把所有JavaScript文件打包成一个文件。Browserify是一个超棒的工具,你...
View Article如何使用SVG Text
SVG文本是将图形和文本两者结合得最好的东西。它可以像其它图形元素一样渲染,这样你可以添加描边和填充,像图形、线条和箭头那样。它还可以被打包成XML字符数据,也就是说它是真的文本。SVG文本是可访问的。你可以选中它,复制,在其它位置粘贴。它可以被屏幕阅读器读取,也可以在搜索引擎中进行搜索。你可以设置它在水平方向上排列,或者垂直都可以,还可以让文本沿着你创建的各种弯弯曲曲的路径排列。距离我上次讲解SV...
View Article如何操作SVG Text
上周我们学习了如何使用<text>元素创建SVG文本。在实例中我们设置了x和y坐标来定位文本,也尝试了给SVG文本中的每个字符定位。关于<text>元素还有很多内容。在处理SVG文本时,不要局限于x和y属性。<text>元素还有几个可以添加的属性,现在我们开始讨论吧。dx和dy属性我们从dx和dy属性开始讲,和x和y类似,除了它们的值表示的是相对于前一个字符的长度...
View Article如何使用tspan元素给SVG文本添加样式、定位
SVG的<text>元素允许你很简单地定位和给文本添加样式,但是如果你想要针对文本的不同部分定位和添加样式呢?难道我们要去创建多个text元素吗?不需要的。有更简单的方式,tspan来拯救世界了。前两周我们已经看了SVGtext元素,并整理了几个我们可以使用的属性。<text>元素不是唯一的SVG文本显示的方式。今天我们来讨论另外两种可以结合<text>元素使用的...
View Article如何使用tref元素重用SVG文本
写一次SVG代码,然后在多个地方重用,可以帮助你写出更多模块化的代码,而且它也有助于维护。通过tref元素,SVG可以很方便地重用text元素的内容。上周我大概讲解了tspan元素,并通过几个实例讲了如何使用它来单独给文本添加样式和定位。几个示例中都使用了位置属性——x、y、dx和dy,还提到了其它几个属性。我们现在来讲讲剩下的两个属性,然后再讲讲使用tref元素重用SVG文本。不过注意tref元素...
View ArticleWeb动画
动画在Web上的运用到目前为止已不是新课题。大家常常能看到的Web动画有CSS动画、JavaScript动画、SVG动画和HTML5的Canvas动画。最近开始也有不少同学开始在探讨WebGL动画。随着年关将近,今天决定将Web上使用到的一些动画做一个资源整合(主要是为后期的工作做一些储备,因为未来的一段时间的工作主要会和动画交互关联在一起)。在这个集合中主要涵盖了动画的库、框架、教程和性能等。We...
View ArticleGulp系列教程:图片和矢量字体
这是Gulp系列教程的第六部分。上篇文章长而复杂。这次的文章比较简单:我会展示如何移动图片以及生成矢量字体。Imagesimage任务很简单。现在它的功能仅仅是把图片复制到资源目录。我会在稍后产品构建的过程中优化图片。// gulp/config.js images: { src: srcAssets + '/images/**/*', dest: developmentAssets +...
View ArticleSVG片段标识符(Fragment Identifiers)如何工作
我之前谈到了一点关于SVG<use>的内容——使用它来创建图标系统。<use>的美妙之处在于你可以定义一次SVG,然后在其它地方可以对其多次引用。这种特性使得我们可以创建图标系统,解决“多张图仅需要发一次请求,因为这super高效”这个我们过去用CSS...
View ArticleGulp系列教程:图片转换成Base64编码
这是Gulp系列教程的第七部分。今天我会使用Gulp.js来把小图片的URL替换为Base64编码图片。BASE64编码图片由build任务执行的最后一个任务是把CSS文件中的小图片替换为Base64编码文件。通过这种方式把图片嵌入CSS文件中减少额外请求。如果图片不大这种做法会大大加快页面载入速度。我在网页上用了很多小尺寸图案因为我很不喜欢扁平化设计方法。现实世界不是扁平的。几乎找不到扁平的地方。...
View Articlez-index的工作原理
可能并不是那么显而易见,但是HTML文档中的元素却是存在于三个维度之中。除了大家熟知的平面画布中的x轴和y轴,还有控制第三维度的z轴。像 margin , float , offset这些属性,控制着元素在x轴和y轴上的表现形式一样。...
View ArticleSVG图标非常方便,但降级并不容易
图标字体的使用在慢慢减少。最近很多人找出了不要使用字体图标的理由,并劝大家使用SVG图像。在《金融时报》(注:作者是一名《金融时报》的前端工程师),我们一致认为,总的来说,是时候探索作出一些转变了。SVG的浏览器支持很好;超过94%的浏览器完全兼容SVG...
View Article