专栏名称: JZCreative
Digital Marketing(数字营销)研究机构与独立厂牌,探讨一切技术流营销:策划/投放/运营/排版/H5/电商/建站/PPT/Prezi/平面/交互/视频/音频/数据可视化/EDM/CRM/机器学习……除了干货,其它什么也没有。
目录
相关文章推荐
黑马营销  ·  AI 短期杀不死广告人 ·  昨天  
销售与市场  ·  杀进车圈!DeepSeek要革新能源的命了 ·  2 天前  
廣告狂人  ·  转转市场部,开挂了! ·  3 天前  
51好读  ›  专栏  ›  JZCreative

视频|高级 SVG 交互式排版语法书写规则

JZCreative  · 公众号  · 营销  · 2018-09-14 12:20

正文

除了干货,其它什么也没有

职场

数据

新媒体

设计

极客



本文教学内容由「奇点新媒体研究中心」的 琪音 (上海大学成员)撰写,视频则是由计老师讲解的 SVG 基本书写规则, 包含高级排版中至关重要的书写规则,且手把手展示书写方法与顺序。



听讲前建议准备好基本的行业知识,可以回看 SVG 通识 》学习。 相关课程为 JZ 的知识付费视频,每期可通过支付 ¥9.9 的小额费用收看学习。




.svg 的结构



在上一期《 SVG 通识 》中,我们已经了解了 SVG 意为可缩放矢量图形(Scalable Vector Graphics),是使用 XML 来描述二维图形和绘图程序的语言。下面是一个 AI 导出 SVG 文件的例子,存储时界面如下:AI 导出 SVG,默认是 HTML 和 CSS 的编写方式,CSS 属性选择 演示文稿属性 ,点击 SVG 代码 可获取




可以把代码复制到 Sublime Text 查看:


xml version="1.0" encoding="utf-8"?>

<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
  viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve">

<rect x="75" y="137.5" fill="#BD1111" width="50" height="25"/>
<rect x="75" y="37.5" fill="#BD1111" width="50" height="25"/>
svg>



第一行包含了XML声明以及编码声明,第二行是SVG的文档类型定义。



SVG代码以 元素开始,包括开启标签 和关闭标签 ,这是根元素。



version 属性可定义所使用的 SVG 版本,xmlns 属性可定义 SVG 命名空间。



ViewBox 是视区窗口,就是类似于在屏幕中 选择截图 ,再次点开截图图片看到的大小。



viewBox="x, y, width, height"  
# x:左上角横坐标,y:左上角纵坐标,width:宽度,height:高度




常见“BUG”解读



❶  关于标签


单标签: 由一个标签组成。如上文中的矩形导出后默认单标签。而在非开发者模式下使用,往往在排版时无法正确载入 SVG 内容。


<rect x="75" y="137.5" fill="#BD1111" width="50" height="25"/>



双标签: 由“开始标签”和“结束标签”两部分构成,非常适合新媒体排版。如 ...



导出后多出 标签及内容


这是部分高版本的 AI 在导出时,将颜色属性合并为 class=“st0” 等,这种 CSS 属性微信图文不能识别。可以将这部分内容全部替换,替换后删除。


<style type="text/CSS">
   .st0{fill:#BD1111;}
style>
<path class="st0" ...>

#更改后
<path fill="BD1111" ...>




图形与动画



SVG 通识课中,计老师提到了与微信团队制定的 SVG AttributeName 白名单,其中 AttributeName 为属性名称,在微信交互图文中,涉及到以下属性的动画是可以实现的



基础动画元素,实现单属性的动画效果

在指定的时间之后执行指定的动画

实现transform变换动画效果

实现路径动画效果



Animate



几个必备的属性值为:


attributeName

规定哪个属性会产生动画效果,可以实现的属性见报名单。



from、to 以及 values

from、to 来表示初始值和终止值, values 值表示类似,也可以规定起点和终点,用分号分隔的一个或多个值。



begin 和 dur

begin 可以设置为 click , 如果不设置默认为 0s 开始。 dur 表示动画持续的时间。



repeatCount 和 fill

用来规定动画的重复次数, repeatCount 的属性值可以是数字,也可是 indefinite 无限循环下去。动画元素的fill属性和白名单的fill不同,它用来规定动画结束之后是否返回它的初始状态,属性值为 freeze 表示动画效果被冻结在最后一个值。



通式为: 属性=" 属性值 " >元素>



Sublime Text 中可以以 .html 格式存储,用 Chrome 浏览器 打开检查动画效果是否实现。以下是对矩形的坐标位置 x 和 y 设置动画效果的代码和样式。


xml version="1.0" encoding="utf-8"?>

<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve">

<rect x="75" y="37.5" fill="#BD1111" width="50" height="25">
<animate attributeName="x" from="50" to="100" begin="click" dur="2s" repeatCount="indefinite">animate>
rect>
<rect x="75" y="137.5" fill="#BD1111" width="50" height="25">
<animate attributeName="y"







请到「今天看啥」查看全文