HTML学习笔记(五) SVG 下

简介: HTML学习笔记(五) SVG

正文


3、功能标签


除了图形标签,在容器中还能使用一些功能标签实现特定功能

(1)展示

使用 <use> 标签可以复制并展示一个图形,常用的属性如下:

  • href:指定要复制的节点
  • x:左上角 X 轴坐标
  • y:左上角 Y 轴坐标
<svg id="graph" width="300px" height="300px">
    <circle id="myCircle" cx="50" cy="50" r="50" />
    <use href="#myCircle" x="200" y="200" />
</svg>

(2)组合

使用 <g> 标签可以将多个图形组合在一起

<svg id="graph" width="300px" height="300px">
    <g id="cross">
        <line x1="20" y1="20" x2="80" y2="80" stroke="black" />
        <line x1="80" y1="20" x2="20" y2="80" stroke="black" />
    </g>
    <use href="#cross" x="200" y="200" />
</svg>


(3)定义

使用 <defs> 标签可以自定义一个图形,这个图形不会被显示,但能被引用

<svg id="graph" width="300px" height="300px">
    <defs>
        <g id="hook">
            <line x1="10" y1="50" x2="40" y2="90" stroke="black" />
            <line x1="40" y1="90" x2="90" y2="10" stroke="black" />
        </g>
    </defs>
    <use href="#hook" x="200" y="200" />
</svg>


(4)模式

使用 <pattern> 标签可以自定义一个图形,这个图形不会被显示,但能被引用填充一个区域,常用的属性如下:


x:边界框左上角 X 轴坐标,默认为 0

y:边界框左上角 Y 轴坐标,默认为 0

width  :边界框宽度,默认为 0

height:边界框高度,默认为 0

patternUnits:定义图案效果区域的单位,可选值如下:


  • userSpaceOnUse:表示使用当前用户坐标系中的值
  • objectBoundingBox:表示引用边界框的分数或百分比的值

<svg id="graph" width="300px" height="300px">
    <pattern id="dot" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
        <circle cx="10" cy="10" r="5" />
    </pattern>
    <rect x="100" y="100" width="100" height="100" fill="url(#dot)" />
</svg>

(5)图片

使用 <image> 标签可以插入图片,使用 xlink:href 属性指定图片来源

<svg id="graph" width="300px" height="300px">
    <image xlink:href="image.jpg" width="50%" height="50%" />
</svg>


(6)动画

使用 <animate> 标签可以产生动画,常用的属性如下:

  • attributeName:产生动画的属性名称
  • from:属性的初始值
  • to    :属性的结束值
  • dur  :动画的持续时间
  • repeatCount:动画的循环模式
<svg id="graph" width="300px" height="300px">
    <ellipse cx="150" cy="150" rx="100" ry="50">
        <animate attributeName="rx" from="100" to="300" dur="2s" repeatCount="indefinite" />
        <animate attributeName="ry" from="50" to="300" dur="2s" repeatCount="indefinite" />
    </ellipse>
</svg>

目录
相关文章
|
19天前
|
XML 编解码 前端开发
编程笔记 html5&css&js 033 HTML SVG
编程笔记 html5&css&js 033 HTML SVG
|
19天前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
52 0
|
13天前
|
XML 编解码 前端开发
HTML SVG
HTML SVG
25 0
|
19天前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
20 0
webgl学习笔记3_javascript的HTML DOM
|
19天前
|
Web App开发
某教程学习笔记(一):04、HTML基础
某教程学习笔记(一):04、HTML基础
18 0
|
19天前
|
前端开发 JavaScript API
【HTML】SVG实现炫酷的描边动画
今天闲来无事,看到Antfu大佬的个性签名,觉得还是非常炫酷的,于是也想要搞一个自己的个性签名用来装饰自己的门面,不过由于手写的签名太丑了,遂放弃。于是尝试理解原理,深入研究此等密法,终于小有所成,发现原来是描边动画,于是记载如下,方便日后借鉴。
53 3
|
19天前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)(下)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
33 0
|
19天前
|
XML 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)(上)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
31 0
|
10月前
|
前端开发 UED 容器
|
10月前
|
前端开发
[HTML]HTML学习笔记(四)
[HTML]HTML学习笔记(四)