目录

SVG 学习<一>基础图形及线段

SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组

SVG 学习<三>渐变

SVG 学习<四> 基础API

SVG 学习<五> SVG动画

SVG 学习<六> SVG的transform

SVG 学习<七> SVG的路径——path(1)直线命令、弧线命令

SVG 学习<八> SVG的路径——path(2)贝塞尔曲线命令、光滑贝塞尔曲线命令

(转)利用 SVG 和 CSS3 实现有趣的边框动画

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

svg标签用来绘制sgv图片(矢量图);
svg和H5中的canvas类似,svg也可以绘制任意图形或文字;

svg标签默认大小为 300 * 150,svg也可设置css样式任意定义大小,颜色,边框,背景色等等;

注:svg默认为行级标签

绘制svg图形仅仅能在svg标签内显示,超出部分不会被显示;
  举个例子,若svg为300 * 150,rect则为 600 * 300那么矩形只会显示300 * 150的大小

矩形

HTML代码

<svg class="svg">
<rect class="rect" />
</svg>

rect 绘制矩形

CSS代码

.rect{
width:200px;
height:200px;
x:20px; /*x轴距*/
y:30px; /*y轴距*/
/*x,y皆以SVG左上角点为起始 及 svg左上角点左边为0,0*/
fill:rgb(0,0,255); /*填充色(同背景色)*/
stroke-width:; /*笔触宽度(边框宽度)*/
stroke:rgb(0,255,0); /*笔触颜色(边框颜色)*/
fill-opacity:.8; /*填充色透明度(背景透明度)*/
stroke-opacity:.5; /*笔触透明度(边框透明度)*/
rx:20px; /*x轴弧度*/
ry:50px; /*y轴弧度*/
}

圆形

HTML代码

<svg class="svg">
<circle class="circle" />
</svg>

circle绘制圆形

css代码

.circle{
cx:100px; /*圆心x轴距*/
cy:100px; /*圆心y轴距*/
fill:rgb(0,0,255); /*填充色(同背景色)*/
stroke-width:; /*笔触宽度(边框宽度)*/
stroke:rgb(0,255,0); /*笔触颜色(边框颜色)*/
r:80px; /*半径*/
}

椭圆

HTML代码

    <svg class="svg">
<ellipse class="ellipse" />
</svg>

ellipse绘制圆形

CSS代码

.ellipse{
cx:300px; /*圆心x轴距*/
cy:150px; /*圆心y轴距*/
rx:200px; /*x轴半径*/
ry:100px; /*y轴半径*/
fill:rgb(0,0,255); /*填充色(同背景色)*/
stroke-width:; /*笔触宽度(边框宽度)*/
stroke:rgb(0,255,0); /*笔触颜色(边框颜色)*/
}

直线

HTML代码

    <svg class="svg">
<line x1="2" y1="5" x2="90" y2="180" class="line" />
</svg>

line绘制直线,x1 y1直线起点坐标, x2  y2 直线终点坐标,注意,x1 y1 x2 y2是标签属性,且不可在css中生效。

CSS代码

.line{
stroke-width:; /*笔触宽度(直线宽度)*/
stroke:rgb(0,255,0); /*笔触颜色(直线颜色)*/
}

多边形

HTML代码

    <svg class="svg">
<polygon points="100,10 40,180 190,60 10,60 160,180" class="polygon" />
</svg>

polygon表示对变形

CSS代码

.polygon{
stroke-width:; /*笔触宽度(边框宽度)*/
stroke:rgb(0,255,0); /*笔触颜色(边框颜色)*/
fill:rgb(255,0,255); /*填充色(同背景色)*/
fill-rule:evenodd; /*填充规则*/
}

fill-rule为填充色规则,evenodd 类似table的隔行变色。

折线

HTML代码

    <svg class="svg">
<polyline points="100,10 40,180 190,60 10,60 160,180" class="polygon" />
</svg>

CSS代码

.polygon{
stroke-width:; /*笔触宽度(线段宽度)*/
stroke:rgb(0,255,0); /*笔触颜色(线段颜色)*/
fill:none;
}

折线和多边形几乎一样,折线标签是polyline 多边形是polygon 。

本文介绍svg的几个基本图形和线段。下一篇介绍svg进阶玩法。

SVG 学习<一>基础图形及线段的更多相关文章

  1. SVG 学习<四> 基础API

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  2. SVG 学习<八> SVG的路径——path(2)贝塞尔曲线命令、光滑贝塞尔曲线命令

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  3. SVG 学习<七> SVG的路径——path(1)直线命令、弧线命令

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  4. SVG 学习<六> SVG的transform

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  5. SVG 学习<五> SVG动画

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  6. SVG 学习<三>渐变

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  7. SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  8. D3.js学习笔记(六)——SVG基础图形和D3.js

    目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circ ...

  9. SVG.js 基础图形绘制整理(二)

    一.折线 var draw = SVG('svg1').size(300, 300); //画折线 //使用字符串点 // var polyline=draw.polyline('0,0 100,50 ...

随机推荐

  1. Flume 案例 Telnet安装及采集Telnet发送信息到控制台

    Telnet安装 一.查看本机是否安装telnet #rpm -qa | grep telnet 如果什么都不显示.说明你没有安装telnet 二.开始安装 yum install xinetd yu ...

  2. pyhanlp 文本聚类详细介绍

    文本聚类 文本聚类简单点的来说就是将文本视作一个样本,在其上面进行聚类操作.但是与我们机器学习中常用的聚类操作不同之处在于. 我们的聚类对象不是直接的文本本身,而是文本提取出来的特征.因此如何提取特征 ...

  3. CentOS7创建本地yum源

    [root@master ~]# mkdir -p /var/www/html 使用安装系统的ISO镜像文件CentOS-7-x86_64-Everything-1611.iso 把CentOS-7- ...

  4. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(5)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(5) 1.创建工程 启动vidado HLS co ...

  5. Emacs的一些事情(与Vi的争议及使用)

    一年成为Emacs高手(像神一样使用编辑器)推荐文章 http://ftp.gnu.org/gnu/emacs/windows/http://blog.csdn.net/redguardtoo/art ...

  6. VS2010与Qt5.1.0集成(非源码方式)

    早就听说qt可以集成到VS中,就是一直没尝试过.一直在使用qt creator,也没觉得它有什么不好.可最近VS用多了,我发现一个qt creator中很不好的毛病,就是代码自动完成时,creator ...

  7. Sublime Text 3中文乱码问题解决(最新)

    Sublime Text 3是我MacBook Pro最喜欢的代码编辑器,没有之一,因为她的性感高亮代码配色,更因为它的小巧,但是它默认不支持GBK的编码格式,因此打开GBK的代码文件,如果里面有中文 ...

  8. 使用Selenium模拟浏览器抓取斗鱼直播间信息

    获取斗鱼直播间每个房间的名称.观看人数.tag.主播名字 代码: import time from multiprocessing import Pool from selenium import w ...

  9. SQL优化系列——子查询

    sql调优方法: (1)not in子查询优化 尽量避免子查询select * from a where id not in(select id from b); select * from a wh ...

  10. 廖雪峰Java2面向对象编程-5包和classpath-1包package

    1.package的意义 如下,存在多个相同类名的文件.当引用Person类,将无法确定引用小红,还是小明的Person类,即同名类的冲突. 小明的Person类:Person 小红的Person类: ...