目录

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代码

  1. <svg class="svg">
  2. <rect class="rect" />
  3. </svg>

rect 绘制矩形

CSS代码

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

圆形

HTML代码

  1. <svg class="svg">
  2. <circle class="circle" />
  3. </svg>

circle绘制圆形

css代码

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

椭圆

HTML代码

  1. <svg class="svg">
  2. <ellipse class="ellipse" />
  3. </svg>

ellipse绘制圆形

CSS代码

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

直线

HTML代码

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

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

CSS代码

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

多边形

HTML代码

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

polygon表示对变形

CSS代码

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

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

折线

HTML代码

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

CSS代码

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

折线和多边形几乎一样,折线标签是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. 4G模块luci的配置及重连脚本

    一.4G Luci配置 1. 新建一个wwan接口: 2. 上网方式为dhcp自动获取: 3. 物理设置选择wwan0: 4. 防火墙选择wan 二.重连脚本redial4g LogFile=/roo ...

  2. java集合之List源码解析

    List是java重要的数据结构之一,我们经常接触到的有ArrayList.Vector和LinkedList三种,他们都继承来自java.util.Collection接口,类图如下 接下来,我们对 ...

  3. 最短路径算法——Dijkstra算法与Floyd算法

    转自:https://www.cnblogs.com/smile233/p/8303673.html 最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径. AE:1    ADE:2  ...

  4. 从源代码更新glibc

    先看下INSTALL/README: mkdir一个目录专用于build: ../configure --prefix=/usr: make之后make check: 进入single user mo ...

  5. Java序列化的理解与学习

    1.什么是Java序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比 JVM的生命周期更长.但在现实应 ...

  6. How HipChat Stores And Indexes Billions Of Messages Using ElasticSearch And Redis[转]

    This article is from an interview with Zuhaib Siddique, a production engineer at HipChat, makers of  ...

  7. 构建自己的代码库在Code-Google上

    多年工作的代码,有不少可以抽象出来作为工具类的.如果每次都把项目的工具类存放到U盘.必然会造成维护的问题.主要是你不可能天天的带u盘 去代码里复制粘贴.去code.google.com建立自己的代码库 ...

  8. 网页如何检查浏览器是否安装flash插件

    如果页面需要加载flash插件并且需要提示用户flash下载,这里有个官方很好的js文件只要引用就可以实现 //v1.7 // Flash Player Version Detection // De ...

  9. [转]一图读懂JVM架构解析

    每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行.但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它.作为开发人员,了解JVM的架构是非常重 ...

  10. MySQL面试题和答案

    Mysql 的存储引擎,myisam和innodb的区别. 答: 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用.表锁,不会出现死锁,适合小数据,小并发. 2.innodb是支持事务的存 ...