SVG图标非常方便,但降级并不容易
图标字体的使用在慢慢减少。最近很多人找出了不要使用字体图标的理由,并劝大家使用SVG图像。在《金融时报》(注:作者是一名《金融时报》的前端工程师),我们一致认为,总的来说,是时候探索作出一些转变了。

图标字体的使用在慢慢减少。最近很多人找出了不要使用字体图标的理由,并劝大家使用SVG图像。在《金融时报》(注:作者是一名《金融时报》的前端工程师),我们一致认为,总的来说,是时候探索作出一些转变了。
可能并不是那么显而易见,但是HTML文档中的元素却是存在于三个维度之中。除了大家熟知的平面画布中的x
轴和y
轴,还有控制第三维度的z
轴。
我之前谈到了一点关于SVG<use>
的内容——使用它来创建图标系统。<use>
的美妙之处在于你可以定义一次SVG,然后在其它地方可以对其多次引用。这种特性使得我们可以创建图标系统,解决“多张图仅需要发一次请求,因为这super高效”这个我们过去用CSS sprite和图标字体解决的问题。但是<use>
意味着内联SVG。当你想要使用一个比较大的SVG文件中的一部分时,如使用SVG作为<img>
或background-image
引入。这就用到片段标识符啦。
动画在Web上的运用到目前为止已不是新课题。大家常常能看到的Web动画有CSS动画、JavaScript动画、SVG动画和HTML5的Canvas动画。最近开始也有不少同学开始在探讨WebGL动画。随着年关将近,今天决定将Web上使用到的一些动画做一个资源整合(主要是为后期的工作做一些储备,因为未来的一段时间的工作主要会和动画交互关联在一起)。在这个集合中主要涵盖了动画的库、框架、教程和性能等。
写一次SVG代码,然后在多个地方重用,可以帮助你写出更多模块化的代码,而且它也有助于维护。通过tref
元素,SVG可以很方便地重用text
元素的内容。上周我大概讲解了tspan
元素,并通过几个实例讲了如何使用它来单独给文本添加样式和定位。几个示例中都使用了位置属性——x
、y
、dx
和dy
,还提到了其它几个属性。我们现在来讲讲剩下的两个属性,然后再讲讲使用tref
元素重用SVG文本。不过注意tref
元素是SVG 1.1规范的一部分,它已经从SVG 2.0规范中删除了。我在这里介绍它,也许哪天你就碰到它了呢。
SVG的<text>
元素允许你很简单地定位和给文本添加样式,但是如果你想要针对文本的不同部分定位和添加样式呢?难道我们要去创建多个text
元素吗?不需要的。有更简单的方式,tspan
来拯救世界了。前两周我们已经看了SVGtext
元素,并整理了几个我们可以使用的属性。<text>
元素不是唯一的SVG文本显示的方式。今天我们来讨论另外两种可以结合<text>
元素使用的SVG元素——<tspan>
和<tref>
。
上周我们学习了如何使用<text>
元素创建SVG文本。在实例中我们设置了x
和y
坐标来定位文本,也尝试了给SVG文本中的每个字符定位。关于<text>
元素还有很多内容。在处理SVG文本时,不要局限于x
和y
属性。<text>
元素还有几个可以添加的属性,现在我们开始讨论吧。
到目前为止,我们已经使用 PostCSS 做了很多事情,比如,优化样式,给预处理器增加功能,生成某些符合规范的样式,但是它只有帮助写原始 CSS 的人吗?每个 Web 设计师在他们的职业生涯中都会写出有很多可复用的代码,如果你能用一点时间把每一个都收集起来到最后那将会变得很多。在本教程中,我们要使用 PostCSS 的一系列的简写和速写来减少每天的编代码的时间。 让我们开始吧!
CSS animations 用法简洁功能强大,一个完整的动画只需命名、@keyframes
关键帧定义以及绑定到元素三个步骤。虽然 CSS animations 的概念和用法比较简单,但却可以创造复杂精致的动画,比如多步过渡动画,这也是本文关注所要向您介绍的重点。