###svg系列–基础
这一系列的文章会总结svg的基础知识和一些经典的案例。

####svg简介
SVG(Scalable Vector Graphics)is an XML-based Language for creating graphics.
这是MDN英文文档对svg的介绍。

svg支持css,这一点有效的将图形和样式区分开。svg的应用:
1、绘图
2、动画

####如何在网页中引用svg元素

    svg元素可以通过<embed><object>或者<iframe>嵌入网页之中,但是我们这里推荐使用<embed>,兼容性比较好。<embed src="circle.svg" type="image/svg+xml" /><svg width="" height="">绘制的内容</svg>

####一些公共属性

    ----------------公共属性----------------fill: 填充色 | url(id)这里主要是引用渐变色作为背景stroke: 线条的颜色stroke-width: 线条的宽度stroke-linecap: 线条末尾的样式 (默认)butt (圆角)round (方形)square ----- round和square会影响线条的长度opacity: 不透明度  0~1fill-rule: nonzero (非零环绕原则)evenoddstroke-dasharray: 创建虚线数组 x,y,z,..... (长度,间隔,长度,间隔,。。。。)stroke-dashoffset: 偏移filter: url(id) 添加滤镜

####绘制矩形

    ---------矩形---------<rect x="" y="" rx="" ry="" width="" height=""></rect>(x, y): 左上角坐标rx: x轴圆角半径ry: y轴圆角半径width: 长度height: 高度

####绘制圆

    ------------------<circle cx="" cy="" r=""></circle>(cx, cy): 圆心r: 半径

####绘制椭圆

    --------------椭圆--------------<ellipse cx="" cy="" rx="" ry=""></ellipse>(cx, cy): 中心点rx: x轴半径ry: y轴半径

####绘制线条

    --------线条--------<line x1="" y1="" x2="" y2=""></line>(x1, y1): 线条的起始点(x2, y2): 线条的结束点

####绘制多边形

    ---------------多边形polygon---------------<polygon points=""></polygon>  points: x,y x1,y1 ........

####绘制曲线

    ----------------曲线polyline----------------<polyline points=""></polyline>  points: x,y x1,y1 .........

####绘制路径

    ---------------路径---------------<path d=""></path>d: 路径的描述主要的语法:M: moveToL: lineToH: horizontal lineToV: vertical lineToC: curvetoS: smooth curvetoQ: quadratic Bézier curveT: smooth quadratic Bézier curvetoA: elliptical ArcZ: closepath命令区分大小写,除了Z。大写表示绝对位置,小写表示相对位置。

####绘制文本

    ---------------绘制文本---------------<text x="" y="" text-anchor="" dx="" dy="">text</text>(x, y): 文字左下角的起始坐标text-anchor: start middle end 文本锚点(可能会和我们预期的坐标有出入)dx: 横轴的偏移dy: 纵轴的偏移路径文本的绘制<textPath xlink:href="#path">text</textPath><text>中还可以嵌套<tspan x="" y="">text</tspan>同时文本也可以作为超链接<a xlink:href="" target=""><text></text></a>

####滤镜的使用

    -----------------滤镜-----------------<filter id=""></filter>

MDN的案例
####渐变

  --------------渐变--------------线性渐变<linearGradient x1="" y1="" x2="" y2="" gradientUnits><stop offset="" style="stop-color:;stop-opacity:;"></stop></linearGradient>gradientUnits: 定义坐标 userSpaceOnUse(不会对pattern的单位进行缩放) | objectBoundingBox()x1: 渐变开始横坐标y1: 渐变开始纵坐标x2: 渐变结束横坐标y2: 渐变结束纵坐标offset: 渐变开始的位置 0% - 100%放射性渐变<radialGradient cx="" cy="" r="" fx="" fy="" gradientUnits><stop offset="" style="stop-color:;stop-opacity:;"></stop></radialGradient>gradientUnits: 定义坐标 userSpaceOnUse(不会对pattern的单位进行缩放) | objectBoundingBox()cx: 外层圆心横坐标cy: 外层圆心纵坐标fx: 内层圆心横坐标fy: 内层圆心纵坐标r: 发散的半径offset: 渐变开始的位置 0% - 100%

####常用的几个标签

  ----------裁剪----------<clipPath id="">裁剪路径</clipPath>----------引用元素----------<defs>声明引用元素</defs>----------拷贝----------<use x="" y="" width="" height="" xlink:href="id"></use>    (x, y): 克隆对象的左上角坐标width: 克隆对象的宽度height: 克隆对象的高度xlink:href 引用克隆对象----------模式----------  <pattern id="" width="" height="" patternUnits="" patternTransform="">模式内的形状</pattern>width: 模式的宽度height: 模式的高度patternUnits: 定义pattern的坐标系统 userSpaceOnUse(不会对pattern的单位进行缩放) | objectBoundingBox()patternTransform: 变换----------遮罩----------<mask maskUnits="" x='' y="" width="" height="">内容</mask>(x, y): 裁剪的左上角坐标。width: 裁剪的宽度height: 裁剪的高度

####CSS3中的svg的影子

    ---------------------clip-path 裁剪---------------------clip-path:第一种: url(id) 配合svg的<clipPath>第二种: polygon(x y,x1 y1,x2 y2,.......)第三种:inset(top right bottom left round rt rr rb rl) 圆角矩形这里比较重要的一点就是polygon的过渡动画必须要求各个状态的点的个数一样

  如果本文对您有帮助,欢迎关注微信公众号,为您推送更多内容,ε=ε=ε=┏(゜ロ゜;)┛。

svg基础--基本语法与标签相关推荐

  1. 【2022.7.11】HTML基础介绍语法常用标签超文本链接锚点定位

    来自2022.7.11 今日学习 一.HTML基础介绍 1.网页 1.1什么是网页 1.2什么是HTML 1.3超文本 1.4网页的形成 2.常用浏览器 2.1常用浏览器 2.2浏览器内核 3.web ...

  2. 2021-08-11 svg基础标签

    一,概述 svg是一种基于XML语法的图像格式,全称是可缩放矢量图( Scalable Vector Graphics ).其他图像格式都是基于像素处理的,SVG则是属于对图像的形状描述,所以它本质上 ...

  3. 前端基础-HTML的的标签详解

    阅读目录 一.head内常用标签 二. HTML语义化 三. 字符实体 四. h系列标签 五. p标签 六. img标签 七. a标签 八. 列表标签 九. table标签 十. form标签 一. ...

  4. svg基础+微信公众号交互(二)

    svg基础+公众号交互(二) 欢迎点击: 个人官网博客. 话接上回- 上节我们讲了svg基础及简单的动画demo及案例,这节我们来讲一些难度更高的svg交互. 效果图: 不要激动,这不是css,也不是 ...

  5. JS基础核心语法(1)

    JS基础核心语法 JS的简介 JS的组成 JS的特点 JS的使用 JS的输出 JS的调试 JS的语法规范 报错类型 标识符 JS的执行代码过程: 有无var关键字声明变量的区别 JS的简介 视图(vi ...

  6. 2022Java基础、语法最全面试题,为秋招做好准备

    Java基础.语法: 1.Java跨平台原理(字节码文件.虚拟机) C/C++语言都直接编译成针对特定平台机器码.如果要跨平台,需要使用相应的编译器重新编译. Java源程序(.java)要先编译成与 ...

  7. 深入理解 SVG 系列(一) —— SVG 基础

    来源:https://segmentfault.com/a/1190000015652209 本系列文章分为三个部分: 第一部分是 SVG 基础. 主要讲 SVG 的一些基础知识,包括 SVG 基本元 ...

  8. mysql怎样查表的模式_mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】...

    1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是 ...

  9. 模板语法-插入文本//模板语法-插入标签//模板语法-双花括号//模板语法-向标签属性中插入数据

    模板语法-插入文本 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...

最新文章

  1. python 打包 .app 运行 控制台窗口_Python打包工具
  2. 什么是CommonJS?
  3. 说说Broker服务节点、Queue队列、Exchange交换器?
  4. 用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例
  5. 添加用户和赋予root权限
  6. 【第十一讲】TMS320F28335开发板之I2C模块
  7. Android数据库存放的具体位置
  8. BootStrap笔记-文本颜色链接颜色背景颜色
  9. div自动滚动_从手机滚动丢帧问题,学习浏览器合成与渲染层优化
  10. 网页内容切换效果实现的15个jQuery插件
  11. 修改mysql默认字符集的方法
  12. [BZOJ 3260] 跳
  13. 力扣--242有效的字母异位词
  14. sentinel 打包_SpringCloud Alibaba整合Sentinel
  15. PPT手写笔颜色修改
  16. android 手势识别 (缩放 单指滑动 多指滑动)
  17. 【已解决】el-form required 提示英文改中文
  18. 中国象棋游戏Chess(3) - 实现走棋规则
  19. python画极坐标图_Python matplotlib绘制极坐标图
  20. SveletJs学习——事件

热门文章

  1. java scratch_scratch进阶java教程贴
  2. 打印魔方阵(C语言)
  3. java_程序题分析:将人名集合 ,{“Peter”,”Mary”,”Sam”,”Tom”,”Paker”,”Linda”,”Lina”} ,进行字典顺序排序(a~z的顺序)
  4. SAE上使用cron定时发微博
  5. 帝国cms支付系统的漏单风险
  6. Python学习日记-day1基础篇 字符 输出 注释
  7. 数据分析--分类与回归模型(一)
  8. 学习 Lisp 语言的相关书籍
  9. 心流:最优体验心理学 1
  10. TimeUnit类常用方法