CSS中的剪裁和遮罩
剪裁和遮罩都是用来隐藏元素的一些部分、显示其他部分的。当然了,这两者还是有区别的。区别主要在于这几方面:他们能做的东西,不同的语法,涉及到的不同技术,是新的还是旧的,以及浏览器支持的差异。但不幸的是总是有相当多的过时信息在那儿,所以一起来看看能否解决这个问题。剪裁和遮罩之间的区别遮罩使用的是图像,剪裁使用的是路径。想象一张从左到右、从黑到白渐变的正方形图像,它可以是一个遮罩。对于应用了这个渐变遮罩图...
View ArticleCSS中的background-position
为元素应用背景图片大概是CSS中最常使用的特性之一,并且有很多背景属性来让我们控制元素背景的各方面表现。元素可以有多个背景图片。如果想要应用多个背景图片,你可以为元素提供一个逗号分隔的列表值作为background-image属性,而background-position属性用于指定图片的位置。这个属性很多不同的可能值,各有不同的效果,而且一些值可能对于CSS初学者来说很陌生,值得深入研究。为了保持...
View ArticleFlexible boxes更加优雅的Web布局
Flexible boxes layout是W3C为了更好的在网页中排版和布局而设计出来的一个模块。它用来可以处理更加复杂的布局。它本质是盒模型的延伸,它可以进一步去规范容器中子元素盒模型之间的相对关系。基础知识点Flexible boxes盒子按照宽和高分出了main axis(主轴)和cross axis(和主轴交叉的轴),盒子的上边称为cross start,下边称为cross...
View Article基于 Varnish ESI 的缓存控制方案
对于优化移动端的加载速度,我非常坚信适用于所有用户的优化方案,才是最佳方案。做出这一判断的出发点是因为,我们无法预知用户准确的联网方式,可能他使用的并不是手机,但却在使用手机热点的信号,或者使用的是不稳定的无线信号...在上一篇文章《使用 Varnish 优化移动端站点》中,我向各位解释了使用 Varnish 这类反向代理服务器的具体方法,最终实现了动态更新、优化加载速度的目的。如果你是第一次接触...
View ArticleSVG基础——使用Line指令创建路径
几个星期前在谈到基本的SVG图形时,我提到路径可以作为一个更常用的方法来创建任何形状。路径比基本图形更强大和灵活,可以用来创建任何一个基本图形。使用路径你可以创建直线和曲线,也可以把它们连接起来,组成其它的形状。你可以结合两者来创建复杂的路径和子路径。路径可以被填充、描边或者用于剪裁其他元素。它们可以同时做这三种效果甚至更多。如果你从图形编辑器导出SVG图像,它可能会把所有的形状和线条作为路径导出。...
View ArticleSVG 基础——使用Curve指令创建路径
上周,我开始了关于路径的探讨,主要集中在使用不同的直线指令绘制各种直线和形状。今天我想要继续进行路径的探讨,谈谈可使用的不同的曲线指令。曲线指令比直线指令需要解释的东西更多,所以我们马上开始吧。我会假设你已经阅读了上一篇关于直线指令的文章,如果你还没阅读,最好先去看那篇。曲线指令曲线指令一共有三组,和直线指令一样,指令字母大写表示坐标位置是绝对坐标,指令字母小写表示坐标位置是相对坐标。三次贝塞尔曲线...
View Article15个你不得不知道的Chorme dev tools的小技巧
谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器。伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chrome变成了一个必须的工具。大多数可能熟悉关于chorme的许多特点,例如使用console和debugger在线编辑CSS。在这篇文章中,我们将分享15个很酷的技巧,让你能够更好的改进工作流程。快速文件转换如果你曾经使用过Sublime Text,那么你一定知道没有“Go to...
View ArticleHTML 5 Boilerplate 5.0 中文文档
本文是根据HTML5 Boilerplate 官方文档所译,主要介绍了HTML5 Boilerplate的架构以及涉及到的相关知识。并且详细介绍了如何在基于HTML5 Boilerplate创建自己的项目。基本目录结构一个基本的 HTML5 Boilerplate 站点,最初的目录结构就像这样:. ├── css │ ├── main.css │ └── normalize.css ├── doc...
View Article开始使用Sass(Part1)
Sass是一种CSS预处理语言,当你使用Sass这门语言时,你使用编译程序来转换Sass文件,通常以SCSS文件格式书写然后转换成CSS文件。Sass通过添加方便的函数,变量以及其他类似脚本的助手使CSS能更加快速得书写和更加简单的控制。起初我躲避Sass是因为它好像是针对程序员的(它的文档到处充斥着程序的专业术语),但是在我学习Sass一段时间后,我发现它不是那么的复杂。它方便的运算和函数会令程序...
View Article今天就用Flexbox
Flexbox让我们对过去无法真正达到的对布局的掌控更进了一层,过去我们浮动、清除浮动,与inline-block间的空格斗争,强制display:table,甚至用position:absolute来撑开内容。现在我们不需要依赖这些解决方案使得内容在不支持伸缩特性的浏览器可见。Flex的特性给我们所以构建的内容增加了一系列重要工具,但不是替代之前存在的东西,而是改进我们如今的构建方式。我认为Fle...
View Article使用Foundation 5和Sass制作语义化模板
在我之前的一篇文章里,我比较了一下Foundation 5和 Bootstrap 3的栅格系统。然而这一次,我将继续深入到Foundation的基础栅格结构。这就是说,我将给你展示如何利用它预建立的Sass...
View ArticleSusy 2.2 中文文档
Susy 是一款进行栅格布局的辅助工具,它让开发者摆脱了冗杂的数学计算,同时降低了样式与结构的耦合程度。它的能力正如官网的简介一样强大:Your markup, your design, your opinions, out math.目录快速入门配置简写工具自定义快速入门Sass 是 Susy 唯一需要依赖的环境,所以必须安装 Sass。同时,Susy 的设计初衷是作为 Compass...
View Article时下Web App中的Flexbox应用
虽然语法可能比较混杂,但 Flexbox还是名不虚传的。它创造的是可伸缩的、有弹性的、可改变视觉顺序的智能盒子。它提供了简单的CSS布局方案范例让容器总是处于垂直水平居中的位置。使用盒模型来工作是非常通用的。Chris Coyier 对Flexbox的总结很好:Flexbox...
View ArticleCSS Shapes有哪些让人兴奋之处
我最近听了JEN Simmons在 Boagworld播客的关于CSS Shapes的采访,虽然我之前已经听说过CSS Shapes好久了,但是我还没有亲自尝试过。因为某些原因,这个采访强迫我坐下来好好看一下CSS Shapes的出色之处(好吧,很大一部分原因是我认为Jen Simmons太帅了,我已经收听她的The Web...
View ArticleSVG基础——如何使用可缩放矢量图形(SVG)
每次我讲到图像的时候,我都会提到,在可能的情况下,对于位图来说,可缩放矢量图形(SVG)都是最好的选择。上次我给别人提建议的时候,我意识到我没有自己想象中的那么了解SVG。我之前写过一两篇关于SVG的文章,但也仅是我自己实践经验的一点延伸。我打算今天开始写SVG系列的文章,接下来的几个星期我会介绍一些SVG的基础知识,还会在年尾的时候增加额外的主题来重温这一年讲解的SVG。什么是SVG?我们为什么要...
View Article[转载]纯clip-path打造的3D模型渲染器
species-in-pieces网站的效果让前端人员眼前一亮,我在微博上发了这样的效果,聚集了不少同学的讨论。在大知乎上也有很多同学关注这个话题。@拴萝卜的棍子在前端乱炖上发表了一篇文章,剖析了相关的技术。值得大家一读,特将此文转载到小站。缘由几天之前, 一个species-in-pieces的网站把我震到了(如下图), 出于一个优秀前端的敏锐嗅觉和原始本能,...
View Articleline-height的妙用
CSS中的line-hight属性是用来控制文本行之间的空隙的。它一般情况下没有单位的设定(如:line-height:1.4;)所以这是一个按字体尺寸的比例来计算。这对印刷版来说是一个很重要的属性。线条过低就会挤在一起,线条过高就会相距甚远,这两种情况都会降低可读性。不过你可能已经知道了这一点。本文中,我们将把注意力放在一些设计上。如果你知道(或可以计算出)的line-height的精确值,你可以...
View Article使用CSS和SVG制作带纹理文本的三个技巧
你也许能够熟练的使用PS对文本进行图像掩埋;一个比较好的方法是在文字上添加一些纹理或者是一个背景图片。然后把这个文本存储为图像,你就可以在你的网站上使用;但是如果可以只使用HTML和CSS来产生相同的效果不是更好吗?好消息是,确实可以!CSS介绍了background-clip和...
View Article理解Sass中变量作用域
在这篇文章中我们将一起深入探讨Sass的变量和变量作用域。变量作用域的描述是根据上下来定义和在哪使用变量。首先,我们将介绍Sass作用域范围。然后,将解释两个用在变量值中标签,这两个标签非常有用。最后将简单介绍可用的函数,用来检查是否存在一个变量。Sass变量作用域Sass支持两种类型变量:局部变量和全局变量。默认情况之下,所有定义在任何选择器之外的变量被认为是全局变量。这意味着他们可以在样式表中任...
View Article