html5 svg编辑器,HTML5 之 SVG

SVG

总结的 svg 知识,方便以后复习查看 ~ ~

SVG是什么

SVG 表示可缩放矢量图

SVG 用来定义WEB上使用的矢量图

SVG 用XML格式定义矢量图

SVG 在缩放时不会损失任何的图片质量

SVG 文件里的所有元素和属性都可以运用动画效果

SVG 是W3C推荐的

SVG 集成了其它W3C标准,比如 DOM 和 XSL

// 先来一个简单的例子

1. SVG图片用标记定义

2. 元素里提供了`“width”`和`“height”`两个属性来定义SVG图片的高度和宽度

3. 元素的功能是画出一个圆

4. cx和cy两个属性分别定义了圆心的x坐标和y坐标。如果没有提供cx和cy的值,那么,缺省圆心是(0, 0)

5. r属性定义了圆的半径长度

6. stroke和stroke-width两个属性用来定义图像的边框样子。上面例子中定义圆的边框颜色为green,边框粗细为4px

7. fill属性定义了圆内部填充的颜色。我们可以看出,例子中填充了黄色

SVG形状

矩形

圆形

椭圆

直线

折线

多边形

路径

一、rect 矩形

bVbdZoz?w=488&h=167

style属性定义了这个矩形的CSS属性。

style属性里的fill属性定义了这个矩形填充的颜色

style属性里的stroke-width属性定义了矩形边线的宽度

style属性里的stroke属性定义了矩形的边线的颜色

bVbdZoQ?w=471&h=305

x属性定义矩形距离左边的距离,比如,x="50"相对于CSS里的 margin-left: 50px

y属性定义了矩形距离上边的距离,比如y="20"相当于CSS里的 margin-top: 20px

CSS fill-opacity属性定义了填充颜色的透明度,值范围为 0 到 1

CSS stroke-opacity属性定义了边线颜色的透明度,值范围为 0 到 1

CSS opacity属性定义了整个图形元素的透明度

bVbdZor?w=468&h=254

rx和ry定义了矩形四个角的圆角效果

二、circle 圆形

stroke-width="3" fill="red" />

bVbdZof?w=257&h=130

cx和cy属性是用来定义圆心的坐标。如果没有提供cx和cy的值,则缺省圆心是(0,0)

r属性定义了圆的半径长度

三、ellipse 椭圆

style="fill:yellow;stroke:purple;stroke-width:2" />

bVbdZpg?w=447&h=178

cx属性定义了椭圆的x坐标

cy属性定义了椭圆的y坐标

rx属性定义了椭圆的横向半径

ry属性定义了椭圆的纵向半径

style="fill:purple" />

style="fill:lime" />

style="fill:yellow" />

bVbdZtd?w=760&h=203

style="fill:yellow" />

style="fill:white" />

bVbdZtp?w=795&h=160

四、line 直线

style="stroke:rgb(255,0,0);stroke-width:2" />

bVbdZt8?w=391&h=288

x1属性定义了直线的x轴起始坐标

y1属性定义了直线的y轴起始坐标

x2属性定义了直线的x轴终止坐标

y2属性定义了直线的y轴终止坐标

五、polyline 折线

style="fill:none;stroke:black;stroke-width:3" />

bVbdZu8?w=304&h=252

style="fill:white;stroke:red;stroke-width:4" />

bVbdZu9?w=329&h=218

points属性里定义了各个点的坐标,x和y坐标之间用逗号分别,多个坐标之间用空格分割

五、polygon 多边形

style="fill:lime;stroke:purple;stroke-width:1" />

bVbdZvJ?w=388&h=303

points属性里定义了多边形各个角的x和y坐标,多个坐标间用空格分隔

style="fill:lime;stroke:purple;stroke-width:5;fill-rule:nonzero;" />

bVbdZAE?w=364&h=293

fill-rule属性的取值可以是nonzero | evenodd | inherit

使用fill-rule: evenodd属性:

bVbdZAI?w=358&h=265

六、path 路径

bVbdZB6?w=1384&h=830

// 从点 150,0 开始,连直线到点 75,200,然后连直线到点 225,200,最后闭合这个路径,连直线回到点 150,0:

bVbdZEI?w=352&h=248

`贝塞尔曲线`是一种非常顺滑的曲线。通常,用户需要提供两个端点和一个或两个控制点。使用一个控制点的贝塞尔曲线叫做`二次方贝塞尔曲线`,使用两个控制点的贝塞尔曲线叫做`三次方贝塞尔曲线`。

下面的例子里使用了二次方贝塞尔曲线,其中 A 和 C 分别是两个端点,B是控制点:

stroke-width="3" fill="none" />

stroke-width="3" fill="none" />

fill="none" />

stroke-width="5" fill="none" />

text-anchor="middle">

A

B

C

bVbdZFS?w=643&h=486

是不是很复杂呢,确实是,所以一般复杂的过程都需要SVG编辑器来编辑

七、text 文本

SVG是个好东西!

bVbdZH0?w=193&h=36

transform="rotate(30 20,40)">SVG是个好东西!

transform 可以进行变换

bVbdZIy?w=198&h=97

// 在元素里,我们可以使用元素给文字分组,每个元素可以定义自己的格式/样式/位置。

这里有几行文字:

这是第一行文字。

第二行文字在这里。

bVbdZI2?w=251&h=96

// 还可以插入链接

SVG是个好东西!

SVG重点属性

一、 SVG边线边框属性

SVG stroke 属性

这个stroke属性用来定义图形、文本等的边线颜色:

SVG stroke-width 属性

stroke-width属性用来定义图形或文字边线的宽度:

SVG stroke-linecap 属性

stroke-linecap属性用来定义开放式路径的端点的样子:

bVbdZNE?w=303&h=155

SVG stroke-dasharray 属性

stroke-dasharray属性用来定义开放式路径的端点的样子:

二、 SVG的viewBox和preserveAspectRatio属性

请参考下面的手册~

SVG结构元素

use 克隆

.classA {

fill: red

}

black

red

blue

bVbdZTJ?w=176&h=156

标记的作用是能从SVG文档内部取出一个节点,克隆它,并把它输出到别处。跟‘引用’很相似,但它是深度克隆。

symbol 图像模板

bVbdZVK?w=251&h=258

g 分组 + 继承父级

标记就是‘group’的简写,是用来分组用的,它能把多个元素放在一组里,对标记实施的样式和渲染会作用到这个分组内的所有元素上。组内的所有元素都会继承标记上的所有属性。用定义的分组还可以使用进行复制使用。

bVbdZWc?w=262&h=65

SVG文字文本

SVG 滤镜和渐变

参考文献

实例

圆形进度条

Document

circle{

stroke-width: 5px;

transform-origin: center;

}

.background{

/* 缩小一点可以放进容器 */

transform: scale(0.9);

stroke: green;

}

.bar{

/* 缩小 + 逆时针旋转 90度 */

transform: scale(0.9) rotate(-90deg);

stroke: red;

}

bVbd0hB?w=300&h=92

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值