svg常用元素和属性

SVG 参考手册 可缩放:SVG 图形可以无限放大或缩小,而不失真。文件体积小:由于 SVG 是基于 XML 的文本格式,其文件体积通常比位图格式小。动态效果:SVG 支持动画、交互等动态效果。本文为您提供了一个关于 SVG 的全面参考手册,包括 SVG 基础、常用元素、属性以及高级特性。希望本文能帮助您更好地理解和应用 SVG 技术。 阅读详情

1. 介绍

SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector Graphics)。其可以直接被插入到网页 DOM 中,甚至作为CSS背景属性等,且无论放大多少倍,图像都不会失真。D3.js 正是操作各种svg 元素,将他们拼接成一幅幅精美的图件,因此了解常用的svg元素和属性是学习 D3.js 的必要条件。

2.常用的svg标签

<svg> 标签
svg 标签是顶层标签,所有 svg 标签和代码都必须放在<svg>标签中,width 和 height 属性可指定画布大小,xmlns 属性则是用于声明命名空间,防止来自不同技术的元素发生冲突。viewBox 则是指定视口位置和大小,其属性值由 4 个数字组成,分别是视口左上角的横坐标和纵坐标、视口的宽度和高度(svg 元素的左上角坐标默认为0, 0)

<svg width="100" height="100" viewBox="50 50 50 50" xmlns="http://www.w3.org/2000/svg">
  svg代码写在这里.....
</svg>

<line> 标签
line标签用于绘制一条直线,众所周知,一条直线由两个点确定,因此该标签具有 x1、y1、x2、y2 属性,分别表示线段起始点和终点的横纵坐标。

<line x1="0" y1="0" x2="100" y2="100" />

<rect> 标签
rect 标签则用于绘制一个矩形,其 x 和 y 属性分别指定了矩形左上角顶点的横纵坐标,而 width 和 height 属性则指定了矩形的宽度和高度。

<rect x="0" y="0" height="100" width="100" />

<polygon> 标签
polygon 标签用于绘制一个多边形(必须具备三个顶点或以上),其 points 属性指定了多边形每个顶点的坐标,横坐标与纵坐标之间与逗号分隔,点与点之间则用空格分隔。

<polygon points="0,0 100,0 100,100 0,100 0,0"/>

<circle> 标签
circle 标签用于绘制一个圆形,具有cx、cy和r属性,分别代表圆心的横纵坐标以及圆形的半径。

<circle cx="50"  cy="50" r="25" />

<ellipse> 标签
ellipse 标签用于绘制一个椭圆,具有cx、cy、rx和ry属性,分别代表圆心横纵坐标以及椭圆的横纵向轴半径

<ellipse cx="50" cy="50" ry="40" rx="20" />

<path> 标签
path 标签用于绘制路径,其是 svg 基本形状中最强大的一个,你可以用它创建线条,曲线,弧形,圆等各种形状,其具有 d 属性,用于指定一系列绘制的命令,命令后面接坐标。
常用命令包括:M(移动绘制点到某坐标)、L(绘制一条直线)、H(绘制一条水平线)、V(绘制一条竖线)、Q(绘制一条二次贝塞尔曲线)、C(绘制一条三次贝塞尔曲线)、Z(闭合)。以上所有命令均允许小写字母。大写表示绝对定位,小写表示相对定位。

从坐标(150, 0)绘制一条直线到坐标(75,200),然后再从(75,200)绘制直线到坐标(225,200)
,最后闭合回到(150, 0)
<path d="M150 0 L75 200 L225 200 Z" />  

因此 path 标签最后呈现什么样子,完全取决于你的一系列命令,不同的形状绘图命令可以简单也可以很复杂,但是不用担心,D3.js 的内置的一些形状 API 能自动生成 path 标签,无需你手动书写 d 属性。

<text> 标签
顾名思义,text 标签用于绘制文本,其具有x、y、dx、dy 和 text-anchor属性,分别代表文本标签的的横纵坐标、文本水平方向和垂直方向的偏移量,以及文本的对齐方式

在坐标(100, 100)绘制一句文本,且文本对齐方式为居中对齐
<text x="100" y="100" text-anchor="middle">Hello World</text>

<g> 标签
g 标签用于将多个形状捆绑一个组(group),在 g 标签上定义的属性,会被其所有的子元素继承,添加到g元素上的变换也会应用到其所有的子元素上

将所有圆都充填为蓝色
 <g fill="blue">
   <circle cx="25" cy="25" r="20" id="1"/>
   <circle cx="50" cy="50" r="20" id="2"/>
 </g>

<image> 标签
image 标签用于插入图片,width 和 height 属性指定图片大小,xmlns:xlink属性指定图片 url

<image xlink:href="path/to/image.jpg" width="100" height="100"/>

以上就是 svg 最常用的几个标签,除此之外,svg 还具有 <defs>、<use>、<pattern>、<animate>等众多标签,但由于日常使用较少,到用的时候去查找就好了,在此就不每个都介绍了,有兴趣的同学请参考这里

3.svg标签常用属性

id 属性
svg 元素的唯一标识,与 html 元素类似

class 属性
svg 元素的 class 标识,常用于css样式设置,与 html 元素类似

stroke 属性
定义 svg 元素的描边颜色,例如线条、文本等描边颜色

stroke-width 属性
定义 svg 元素的描边宽度

stroke-opacity 属性
定义 svg 元素的描边透明度

fill 属性
定义 svg 元素的填充颜色

fill-opacity 属性
定义 svg 元素的填充透明度

transform 属性
定义 svg 元素的变换,包括移动、旋转、放缩等,与CSS类似,例如

将圆顺时针旋转30度,向左平移30,向下平移40,缩小成原来的0.5倍
<circle cx="25" cy="25" r="20" transform="rotate(30) translate(-30 40) scale(0.5)" />

以上就是 svg 元素最常用的几个属性,还有一些属性用的较少,等需要的时候再去查找就好了,而对于字体颜色、大小等是通过CSS样式设置的


如果觉得这篇文章帮助了您,请打赏一个小红包鼓励作者继续创作哦!!!

在这里插入图片描述

SVG 椭圆详解 SVG椭圆是一种基于椭圆形的矢量图形元素,它可以通过指定椭圆的半径和中心点来创建。椭圆在网页设计中常用于创建圆角矩形、图标等元素。SVG椭圆是一种强大的矢量图形元素,它可以帮助我们在网页上创建各种图形。通过了解SVG椭圆的属性和技巧,我们可以更灵活地使用SVG进行网页设计。希望本文对您有所帮助。 阅读详情

相关推荐

SVG排版教程 | 样式背景属性详解与应用

SVG黑科技排版的每一篇文章都少不了精美的图片,那我们如何在SVG元素上显示图片呢?SVG元素显示的图片在不同的手机上如何实现自适应适配呢?今天我们就来接触SVG样式背景属性。

懂点君 1162

SVG 入门基础(1)属性

1. 简介 SVG 意为可缩放矢量图形(Scalable Vector Graphics)。 SVG 是使用 XML 来描述二维图形和绘图程序的语言。 SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失。 SVG 是万维网联盟的标准。 SVG 参考文档 特点: (1)SVG 图像可通过文本编辑器来创建和修改; (2)SVG 图像可被搜索、索引、脚本化或压缩; (3)SVG 是可伸缩的; (4)SVG 图像可在任何的分辨率下被高质量地打印; (5)SVG 可在图像质量不下降的情况下被放大; 1.1 使

明天也要努力的博客 3994

SVG 字体 – SVG image(14)

元素的属性指示文件(位图)的内容应显示在当前用户坐标系内的给定矩形(“窗口”)中。– 用于图像渲染的“窗口”的宽度和高度。对象中包含和渲染位图。它也可以显示图像格式。– 控制图像的缩放方式。– 图像左上角的坐标。

https://shixuebin.gitee.io/hexo-blog/ 345

svg常用属性及动画效果

SVG是可缩放矢量图形()的缩写。它是一种基于XML语法的2D矢量图形格式,用于描述二维图形和图像。与传统的栅格图像(如JPEGPNG等)相比,SVG使用数学描述来定义图形,因此可以无损地缩放和放大,而不会失真或失去清晰度。SVG可在各种分辨率和尺寸的设备上显示,并且支持交互性和动画效果,使得它成为一种非常强大和灵活的图形格式。viewBox是SVG元素的一个属性,用于定义SVG画布中可见区域的坐标系和大小。它是一个由4个数值组成的字符串,分别表示左上角的x坐标、左上角的y坐标、宽度和高度。viewBox。

jieyucx的博客 5736

SVG排版教程 | SVG排版入门基础知识汇总

编程零基础想要入门学习SVG互动排版之前,建议大家还是先了解一下HTML5网页基础知识,因为SVG是HTML5的一小部分,掌握HTML5网页基础有利于学习和上手SVG互动排版的相关知识

懂点君 1918

【正点原子I.MX6U-MINI移植篇】Ubuntu-base根文件系统移植构建过程详解(四)

能不能在ARM板上运行Ubuntu呢?答案肯定是可以的,Ubuntu是Linux系统的一种,可以简单的将Ubuntu理解为一个根文件系统,和我们用busybox、buildroot制作的根文件系统一样。因此移植Ubuntu也就是将Ubuntu根文件系统移植到我们的开发板上。

果果小师弟的博客 3768

【SVG】svg入门

svg图和其他png图的区别: svg图片上的每一个小的组成元素都是一个标签,由一个大的svg标签包裹作为一个整体 普通的png图片,就是作为一个整体,只能修改宽高大小等样式,不能修改细节 一、标签属性 1、SVG:可缩放矢量图(Scalable Vector Graphics) 2、可直接插入网页,成为DOM元素,通过js和css描绘图形,也可以使用src和url导入 3、svg标签属性 1、width、height:如果不指定这两个属性,默认是宽:300px,高:150px 2、viewBox(左上

qq_45801837的博客 3704

【日常小结】项目Modbus RTU 协议

Modbus RTU(远程终端) 协议 一、前言 最近因为码跺宽度测量项目推广升级,更换了摄像头(换成了基恩士摄像头)和光栅(换成了施莱格05LCM系列光栅),导致原来的程序用不了了,然而这个软件升级的任务落到了我身上,作为机械非科班出身的我要学习TCP和Modbus RTU通信协议,也算是自我突破了。本文只对Modbus/RTU/HEX 进行简单的小结。 二、Modbus Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻

weixin_39681471的博客 831

SVG常用元素和属性

目录 SVG常用元素和属性 一、总体介绍 二、常用的SVG元素 1、标签 2、直线:标签 3、矩形:标签 4、多边形标签 5、圆形:标签 6、椭圆:标签 7、路径: 标签 8、文本:标签 9、组:标签 10、图片:标签 11、其他标签 三、svg标签常用属性 1、id 属性 2、class 属性 3、stroke 属性 4、stroke-width 属性 5、stroke-opacity 属性 6、fill 属性...

happy81997的博客 1183

在线机器学习(OML-AD)应对时序数据概念漂移的异常检测实战

时序数据异常检测是监控系统健康、识别业务风险的核心技术。其基本原理是通过预测模型学习数据的正常模式,并将预测误差作为异常判定的依据。然而,当数据背后的统计规律随时间发生变化,即发生概念漂移时,传统的静态模型会失效,导致误报和漏报激增。在线机器学习技术通过增量学习,使模型能够随每个新数据点实时微调,为预测式异常检测提供了动态适应能力,从而在数据流持续演化的场景下保持检测的鲁棒性。这种将预测与检测无缝衔接的OML-AD框架,尤其适用于工业监控、金融风控等对实时性与资源效率要求高的领域,有效解决了概念漂移这一核心

weixin_29889665的博客 532

Avalonia使用CefNet 实现web-browsers(基于CentOS8 Arm64架构)

Avalonia使用CefNet 实现web-browsers(基于CentOS8 Arm64架构)

confused_kitten的博客 3803

SVG基本元素和path路径用法

SVG&PATH 1. 基本定义 可缩放矢量图形(Scalable Vector Graphics,SVG),是一种用于描述基于二维的矢量图形的,基于 XML 的标记语言。SVG提供了一些元素,用于定义圆形(circle)、矩形(rect)、简单或复杂的曲线(line),以及其他形状。一个简单的SVG文档由<svg>根元素和基本的形状元素构成。另外还有一个g元素,它用来把若干个基本形状编成一个组。 2.常用元素 元素

YSG的博客 3419

ANSYS Sherlock新手避坑:从ODB++文件导入到属性匹配的完整流程(附官方教程路径)

本文详细解析了ANSYS Sherlock从ODB++文件导入到属性匹配的完整流程,帮助新手避开常见陷阱。内容包括环境准备、官方教程使用技巧、ODB++导入关键检查点、属性验证策略及常见报错解决方案,特别强调了路径设置和材料匹配的重要性,提升仿真效率。

weixin_42519781的博客 455

深入 SVG:矢量图形、滤镜与动态交互开发指南

SVG(Scalable Vector Graphics) 是一种基于 XML 的矢量图形格式,用于描述二维图形

mutuyxy的博客 1922

VisionTransformer改进(11):结合CoordAtt注意力机制

​​CoordAtt模块​​:一个轻量级的坐标注意力机制​​ViT模型​​:基于标准Vision Transformer架构,但集成了CoordAtt模块模型最终通过CNNModel函数封装,虽然名称是CNN,但实际上是一个Transformer模型。引入了轻量级的CoordAtt注意力机制,增强了模型对空间位置信息的捕捉能力保持了ViT的主要优势,同时通过注意力机制提升了特征表示能力设计简洁高效,适合作为基础模型进行进一步研究和应用。

2401_82355416的博客 701

三菱MC协议(MC/TCP):避坑指南|C#实现三菱MC协议:软元件(X/Y/M/D)读写与帧格式解析

核心避坑逻辑:MC协议的坑80%集中在“PLC配置”“地址编码”“字节序”,先解决这三点,通信就成功了一半;实战优先级:新手优先用开源库(Mitsubishi.MCProtocol),避免手动拼接帧格式的复杂坑;进阶再研究帧格式解析;排坑技巧:先Ping通→用调试助手验证→写C#代码,分层排查,不要混在一起找问题。掌握这些避坑技巧后,你可以轻松实现C#与三菱全系列PLC的稳定通信,满足工业场景中数据采集、设备控制等核心需求。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2194

SVG DOM常用属性和方法介绍

SVG DOM常用属性和方法介绍 2008.09.14 黄凯伟 12.2 SVG DOM常用属性和方法介绍 http://book.youkuaiyun.com/bookfiles/605/10060519574.shtml   将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析器所特...

草帽 276

《QGIS快速入门与应用基础》151:批量属性值赋值(字段计算器)

本文介绍了QGIS中字段计算器的批量属性值赋值方法,重点讲解了简单赋值(统一值和递增序列)的操作步骤与表达式应用。文章首先强调数据备份、字段类型确认等必要前提,随后详细解析字段计算器的界面功能分区和打开方式。通过具体场景示例,展示了如何为图层统一赋值固定值或生成连续编号序列,并提供了文本、数字、日期等不同字段类型的表达式模板。文中特别提醒新手优先创建新字段而非直接更新现有字段,以避免数据丢失风险,同时推荐使用$id和rownum()函数实现基础序列生成。该教程适合GIS初学者快速掌握批量属性编辑的核心技能。

LuckyHanMo的博客 488

svg html g标签id,svg是什么?svg常用的方法(附代码)

本篇文章给大家带来的内容是关于SVG是什么?svg常用的方法(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。SVG是什么?SVG 指可伸缩矢量图形 (Scalable Vector Graphics)SVG 用来定义用于网络的基于矢量的图形SVG 使用 XML 格式定义图形SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失SVG 是万维网联盟的标准SVG 与诸如 ...

weixin_39875754的博客 1570

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

svg学习记录应用记录及api

svg画图记录

greed 910

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SVG 基本语法

SVG(Scalable Vector Graphics,可缩放矢量图形)是一种用于描述二维图形的语言,基于 XML。它由 W3C 制定,是一种开放的标准。SVG 图形可以在不失真的情况下放大或缩小,因此它们非常适合网页设计、打印图形和高分辨率的屏幕显示。

lly202406的博客 1227

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SVG 文本

SVG 文本是一种强大的图形元素,可以用于在网页上创建各种文本效果。通过设置文本样式和定位,可以创建出丰富多样的文本图形。掌握 SVG 文本的相关知识,对于网页设计和开发人员来说是非常有用的。

csbysj2020的博客 575

SVG 直线

SVG(可缩放矢量图形)是一种用于描述二维图形的语言,它基于 XML 格式。在 SVG 中,直线是一种基本的图形元素,用于创建各种图形和设计。本文将详细介绍 SVG 直线的用法、属性和实际应用。

wjs2024的博客 452

【Web2D/3D】SVG(第二篇)

SVG(Scalable Vector Graphics,可绽放矢量图形)是一种使用XML描述2D图形的语言,由于SVG是基于XML(HTML也是基于XML的),因为SVG DOM中每个元素都是可以操作的,包含修改元素属性、添加事件处理器。本篇梳理和总结SVG绘制图形的DOM元素。

weixin_45620943的博客 1393
上一篇: D3 二维图表的绘制系列(三十三)可缩放的矩形树图
下一篇: web性能权威指南读书笔记
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值