SVG 基础图形

SVG 基础图形

SVG包含了以下的基础图形元素:

  • 矩形(包括可选的圆角),使用<rect>元素创建
  • 圆形,使用<circle>元素创建
  • 椭圆形,使用<ellipse>元素创建
  • 直线,使用<line>元素创建
  • 折线,使用<polyline>元素创建
  • 多边形,使用<polygon>元素创建

理论上,这些基础图形元素都能用<path>元素来构建的相同的图形。并且所有可用于<path>元素的属性都可以应用在这些基础图形上。

rect 元素

<rect>元素定义了一个与当前用户坐标系轴对齐的矩形。而圆角的矩形可以通过设置元素的 rxry属性来实现。

属性定义:

  • x = <坐标点>,矩形左上角在当前用户坐标系中的x轴坐标,默认值为0。是否可动画:是。
  • y = <坐标点>,矩形左上角在当前用户坐标系中的y轴坐标,默认值为0。是否可动画:是。
  • width = <长度>,矩形宽度,默认值为0。是否可动画:是。
  • height = <长度>,矩形高度,默认值为0。是否可动画:是。
  • rx = <长度>,矩形X轴的圆角半径,默认值为0。是否可动画:是。
  • ry = <长度>,矩形y轴的圆角半径,默认值为0。是否可动画:是。

圆角规则:

  1. rx和ry必须是一个长度值。
  2. 如果没有对rx和ry给出定义,那么它们都会被设为0。 (这样他们会是一个尖角的矩形)
  3. 如果只对rx进行了赋值,那么ry会自动被设置为与rx相等的值。
  4. 如果只对ry进行了赋值,那么rx会自动被设置为与ry相等的值。
  5. 如果rx的值大于自身宽度的一半,那么它会被设置为自身宽度一半。
  6. 如果ry的值大于自身高度的一半,那么它会被设置为自身高度一半。

DEMO:

1 <svg xmlns="http://www.w3.org/2000/svg" width="300" height="200" viewBox="0 0 300 200" style="border:1px dashed #aaa;">
2     <rect x="50" y="50" width="200" height="100" fill="#cd5c5c"></rect>
3 </svg>
4 <svg xmlns="http://www.w3.org/2000/svg" width="300" height="200" viewBox="0 0 300 200" style="border:1px dashed #aaa;">
5     <rect x="50" y="50" rx="15" ry="15" width="200" height="100" fill="#cd5c5c"></rect>
6 </svg>

 

circle 元素

<circle>元素定义了一个圆形。

属性定义:

  • cx = <坐标点>,圆心在当前用户坐标系中的x轴坐标,默认值为0。是否可动画:是。
  • cy = <坐标点>,圆心在当前用户坐标系中的y轴坐标,默认值为0。是否可动画:是。
  • r = <长度>,圆的半径。是否可动画:是。

DEMO:

1 <svg xmlns="http://www.w3.org/2000/svg" width="300" height="200" viewBox="0 0 300 200" style="border:1px dashed #aaa;">
2     <circle cx="150" cy="100" r="70" fill="#cd5c5c"></circle>
3 </svg>

 

ellipse 元素

<ellipse>元素定义了一个椭圆。

属性定义:

  • cx = <坐标点>,圆心在当前用户坐标系中的x轴坐标,默认值为0。是否可动画:是。
  • cy = <坐标点>,圆心在当前用户坐标系中的y轴坐标,默认值为0。是否可动画:是。
  • rx = <长度>,圆的x轴半径。是否可动画:是。
  • ry = <长度>,圆的y轴半径。是否可动画:是。

DEMO:

 

line 元素

<line>元素定义了一个处于两点之间的直线。

属性定义:

  • x1 = <坐标点>,起点在当前用户坐标系中的x轴坐标,默认值为0。是否可动画:是。
  • y1 = <坐标点>,起点在当前用户坐标系中的y轴坐标,默认值为0。是否可动画:是。
  • x2 = <坐标点>,终点在当前用户坐标系中的x轴坐标,默认值为0。是否可动画:是。
  • y2 = <坐标点>,终点在当前用户坐标系中的x轴坐标,默认值为0。是否可动画:是。

因为line元素在几何关系上是一个一维的图形,所以它没有内部的这个概念,也无法在该元素上使用fill属性。

DEMO:

1 <svg xmlns="http://www.w3.org/2000/svg" width="300" height="200" viewBox="0 0 300 200" style="border:1px dashed #aaa;">
2     <line x1="50" y1="50" x2="250" y2="150" stroke-width="5" stroke="#cd5c5c" />
3 </svg>

 

polyline 元素

<polyline>元素定义了一个由多条相连的直线段而成的非闭合图形。

属性定义:

  • points = <多组的坐标点>,由points属性中的坐标点相连而成的图形。

DEMO:

1 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300" height="200" viewBox="0 0 300 200" style="border:1px dashed #aaa;">
2     <polyline fill="none" stroke="#cd5c5c" stroke-width="5" points="50,50 260,50 260,150 50,150" />
3 </svg>

 

polygon 元素

<polygon>元素定义了一个由多条相连的直线段而成的闭合图形。

属性定义:

  • points = <多组的坐标点>,与<polyline>元素相同,也是由points属性中的坐标点相连而成的图形,但起始点也会相连。

DEMO:

1 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300" height="200" viewBox="0 0 300 200" style="border:1px dashed #aaa;">
2     <polygon fill="none" stroke="#cd5c5c" stroke-width="5" points="50,50 260,50 260,150 50,150" />
3 </svg>

 

转载于:https://www.cnblogs.com/WhiteCusp/p/4170616.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

枣庄三中高考2021成绩查询,2021枣庄中考成绩查询系统入口

2021枣庄中考成绩查询系统入口2021-05-20 19:11:35文/王佳慧2021年&#xff0c;枣庄的中考时间快到了&#xff0c;本文分享了枣庄中考成绩查询入口&#xff0c;系统开通后考生可登陆查询成绩。枣庄中考成绩查询入口志愿填报须知1.录取标准&#xff1a;提前批、第一批、第三批学…

移动端”宴席知多少

转载(http://adt.aicai.com/index.php/archives/179/) 瞎折腾移动端的项目已经很长一段时间了&#xff0c;并不像其它企业一样&#xff0c;可以有项目组去完成&#xff0c;基本都是一个人瞎尝试&#xff0c;时而web&#xff0c;时而web app。恍恍惚惚过了这段岁月&#xff0c;也…

快速的取整方法(~~)

为什么80%的码农都做不了架构师&#xff1f;>>> 最近看一篇js装逼小技巧————双波浪号的妙用(将内容转化为数字,或者小数取整)&#xff0c;但是本身我的JavaScript水平比较低对其底层操作和其使用范围不甚了解&#xff1b;通过翻阅资料现进行简单的整理。 ###装…

git log友好显示

查看commit 提交日志 $ git log $git log --prettyoneline $git reflog 显示所有提交记录&#xff0c;包括已经回退的提交&#xff0c;如图&#xff1a;提交了abc 和 bb 然后回退到 abc   $git log 只显示abc提交 可以使用 $git reset --hard commit号 回退到bb git reflog…

南理工计算机技术专业学位,南京理工大学计算机技术(专业学位)考研难吗

很多考生在准备南京理工大学计算机技术(专业学位)考研难吗&#xff1f;是考研报考的时候都会产生这样的疑问&#xff1a;这个专业的研究生好吗&#xff1f;适合我吗&#xff1f;对我以后的人生和职业会有帮助吗&#xff1f;考生在准备南京理工大学计算机技术(专业学位)专业考研…

《分布式系统:概念与设计》一2.3.2 体系结构模式

2.3.2 体系结构模式 体系结构模式构建在上述讨论过的相对原始的体系结构元素之上&#xff0c;提供组合的、重复出现的结构&#xff0c;这些结构在给定的环境中能运行良好。它们未必是完整的解决方案&#xff0c;但当与其他模式组合时&#xff0c;它们会更好地引导设计者给出一…

javascript sort()实现元素json对象的排序

看以下代码&#xff1a; var s [ { name: "Robin Van PurseStrings", age: 30 } ,{ name: "Theo Walcott", age: 24 } ,{ name: "Bacary Sagna", age: 28 } ].sort(function(obj1, obj2) {// 实现增序排列&#xff1a;前者的 age 小于后者…

调查:Java程序员最伤心,C++程序员最年老

说起我们对编程世界现有的刻板印象&#xff0c;你一定听说过类似于没有人喜欢用Java编码或者使用C 都是老人家&#xff0c;等等这样的话。为了分析这些刻板印象背后的真相&#xff0c;Trestle Technology的数据工程师写了一个工具。 不知道你有没有听说过微软的Project Oxford&…

计算机不小心删除怎么找回桌面,如何将桌面上误删的文件找回

在如今工作电脑化的趋势下&#xff0c;用户都会在桌面上创建各种各样的文件等&#xff0c;这些文件都是需要在工作中经常要进行各种操作的重要文件&#xff0c;那么频繁的操作也会出现各种的意外情况等&#xff0c;如果不小心删除了重要的文件该怎么恢复呢&#xff1f;想要恢复…

OnClickListener冲突的问题

OnClickListener冲突的问题 (2011-11-26 15:28:27) 转载▼标签&#xff1a; 杂谈 分类&#xff1a; android学习记录 import anfroid.view.View.OnClickListenerimport anfroid.content.DialogInterface.OnClickListener 这两个东西要同时用的话&#xff0c;要使用以下方式&…

html 响应式 同一行,一行CSS实现各种响应式元素 – Fluidity

一行CSS实现各种响应式元素 – Fluidity3月 31, 2014评论SponsorFLUIDITY是一个极微小的CSS样式表&#xff0c;压缩版只有一行代码&#xff0c;大小只有115个字节&#xff0c;它能实现图像、文本、Canvas、Table表格以及iFrame框架的响应式功能。好用且实用&#xff01;这个响应…

玩C一定用得到的19款Java开源Web爬虫

网络爬虫(又被称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者)&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 今天将为…

一元二次方程

转载于:https://www.cnblogs.com/569114a/p/4179164.html

数据中心存在不当投资吗?

不正当的投资是一种危害&#xff1a;在一些项目建设中&#xff0c;投入大量的资金是错误的&#xff0c;因为这些项目的需求是不可持续的或高估的。那么数据中心属于这一类吗? 投资不当的问题 不当投资会与经济的繁荣与萧条齐头并进。例如&#xff0c;抑制按揭贷款利率可能会导…

html如何设置滚动动画,JavaScript 实现页面滚动动画

在做前端 UI 效果时&#xff0c;让元素根据滚动位置实现动画效果是一个非常流行的设计&#xff0c;通常我们会使用第三方插件或库来实现。在本教程中&#xff0c;我将教大家使用纯 JavaScript 和 CSS 来实现。先预览一下实现的效果&#xff1a;我们使用 CSS 来实现动画&#xf…

绝非玩笑!人工智能或开创黑客新时代

专家称&#xff0c;未来的网络战争可能是机器对机器&#xff0c;这可能需要几年甚至几十年时间&#xff0c;但黑客并不一定总是人类。人工智能(AI)是可彻底改变网络安全的技术&#xff0c;而它有一天可能成为最终的攻击工具。 今年8月由美国国防部先进项目研究局(DARPA)赞助的C…

自学python系列14:映像,集合类型-集合类型

集合类型1.1如何创建集合类型和给集合赋值1.1.1 如何创建集合类型和给集合赋值集合的工厂方法set()和frozenset()>>> sset(abc)>>> sset([a, c, b])>>> tfrozenset(abc)>>> tfrozenset([a, c, b])len()计算的是集合的字母的个数1.1.2如何访…

观点:我们为什么需要威胁情报?

最近被谈论的异常火热的一个术语就是威胁情报&#xff0c;那么威胁情报到底是什么意思&#xff0c;它是一种什么概念或者机制呢?本文中我们就来亲密接触一下威胁情报&#xff0c;并了解它所具有的功能&#xff0c;然后给出几个威胁情报的最佳实践示例&#xff0c;最后分析威胁…

vijos 1942 [AH 2005] 小岛

描述 西伯利亚北部的寒地&#xff0c;坐落着由 N 个小岛组成的岛屿群&#xff0c;我们把这些小岛依次编号为 1 到 N 。 起初&#xff0c;岛屿之间没有任何的航线。后来随着交通的发展&#xff0c;逐渐出现了一些连通两座小岛的航线。例如增加一条在 u 号小岛与 v 号小岛之间的航…

聊城大学计算机应用基础函授,聊城大学试题计算机应用基础试题

姓名 年级专业层次 教学单位密封线 第1页 共3页聊城大学《计算机应用基础》函授试题一、判断题(共10题&#xff0c;每题2分&#xff0c;共20分)1、信息按状态划分可以划分为动态信息和静态信息。( √ )2、操作系统不具有通用性。( )3、在Windows XP环境中&#xff0c;整个显示…