当前位置: 首页 > Web前端 > HTML

【SVG】为了前端页面的美观,我选择学习SVG

时间:2023-03-28 02:02:23 HTML

【SVG】为了前端页面的美观,我选择学习SVG,如有侵权请联系我删除,谢谢!说明在之前自学的过程中,SVG一直很深,不敢去触碰,但是想要了解,最终还是会走到这一步。不管技术看起来有多难,都是从简单的知识点积累起来的。什么是SVG?SVG代表可缩放矢量图形。它使用XML格式定义图像。SVG图像可以放大或调整大小而不会损失图形质量。SVG是万维网联盟的标准。SVG与DOM和XSL等W3C标准集成。一般来说,SVG是由XML定义的文件。由于它是矢量图形,因此其图形质量非常高。由于SVG是一个XML文件,因此可以使用任何文本编辑器创建SVG图像,但复杂的图形仍然必须使用图形编辑工具。SVG的优点SVG可以被许多工具(如记事本)读取和修改。SVG比JPEG和GIF图像更小且更易于压缩。SVG是可扩展的。可以在任何分辨率下以高质量打印SVG图像。可以在不损失图像质量的情况下放大SVG。SVG图像中的文本是可选的,也是可搜索的(非常适合地图)。SVG是一个开放标准。SVG文件是纯XML。SVG的主要竞争对手是Flash。SVG相对于Flash的最大优势是它与XSL和DOM等其他标准的兼容性。Flash是一种非开源的专有技术。一个小示例代码效果代码解析第一行包含XML声明。standalone属性指定此SVG文件是“独立的”,还是包含对外部文件的引用,standalone="no"表示SVG文档将引用外部文件-在本例中为DTD文件。代表SVG代码,相当于开始标签和结束标签,是根元素。width和height属性设置此SVG文档的宽度和高度。version属性定义了使用的SVG版本。xmlns属性定义了SVG命名空间。用于创建一个圆。cx和cy属性定义圆心的x和y坐标。如果省略这两个属性,则点将设置为(0,0)。r属性定义圆的半径。stroke和stroke-width属性控制形状轮廓的显示方式。我们将圆的轮廓设置为2px宽,带有黑色边框。fill属性设置形状内部的颜色。我们将填充颜色设置为红色。结束标签的作用是关闭SVG元素和文档本身。注意:所有打开的标签必须有一个关闭的标签!如何在HTML中使用SVG?将SVG文件嵌入到HTML文档中有5种方法:直接在HTML中嵌入SVG代码优点:易于操作,动态调整缺点:HTML页面过于冗长,对编码语法不友好:SVG的基本形状矩形例1:普通矩形作用:代码分析:rect元素的width和height属性可以定义矩形的高度和宽度。style属性用于定义CSS属性。CSS的fill属性定义矩形的填充颜色(rgb值,颜色名称或十六进制值)CSS的stroke-width属性定义矩形边框的宽度CSS的stroke属性定义矩形边框的颜色一个矩形示例2:边框的填充和透明度作用:代码分析:x属性定义了矩形的左边位置(比如x="0"定义了矩形到浏览器窗口左边的距离为0px)y属性定义了矩形的顶部位置(例如y="0"定义了浏览器窗口顶部到矩形的距离为0px)CSS的fill-opacity属性定义了填充颜色的Opacity(合法范围:0-1)CSS的stroke-opacity属性定义了轮廓颜色的透明度(合法范围:0-1)示例3:整个元素的透明度效果:代码分析:CSSopacity属性用于定义元素的透明度值(范围:0到1)例4:圆角矩形作用:代码分析:rx和ry属性可以让矩形产生圆角。圆形示例:作用:代码分析:circle标签可以用来创建一个圆。cx和cy属性定义点的x和y坐标。如果省略cx和cy,圆心将被设置为(0,0)r属性定义圆的半径Ellipse示例:作用:代码分析:ellipse标签可以用来创建一个椭圆CX属性定义的椭圆中心的x坐标椭圆中心的y坐标CY属性定义的椭圆中心RX属性定义的水平半径RY属性定义的水平半径垂直半径线示例效果:代码分析:line标签可以用来创建一条直线。x1属性定义了x轴上线的起点。y1属性在y轴上定义线的起点x2属性定义x轴上线的终点y2属性定义y轴上线的终点Polyline例1:效果:代码分析:折线用于创建任何只有直线的形状。点是点的集合。示例2:画一个五角星作用:代码分析:填空使用,因为线段是未闭合的多边形示例1:作用:代码分析:多边形标签用于创建一个不少于三个边的图形points是点的集合示例2:画一个五角星作用:代码分析:最后一个点会自动闭合,这也是和polylinepathpathdata的区别:M=movetoL=linetoH=horizo??ntallinetoV=verticallinetoC=curvetoS=smoothcurvetoQ=quadraticBéziercurveT=smoothquadraticBéziercurvetoA=ellipticalArcZ=closepath例子:画一个三角形作用:代码分析:定义了一条路径,起始于设置1500,到达位置75200,然后从那里开始到205270,最后在1500关闭pathpath在后面详细介绍,当然还有一些SVG的“高级”属性。其实一路走来,我发现SVG的操作与使用PS、AI等绘图工具的原理大致相似,这也有助于我们理解此类图形的绘制。感谢全能在线新手教程和辛勤的自己,个人博客,GitHub测试,GitHub公众号-魏子mo,小程序-小鬼博客