SVG标签介绍

svg标签
<svg width="50" height="40" viewBox="0 0 100 100"></svg>
名称用法描述
widthwidth=“50”SVG代码所占用的宽度
heightheight=“40”SVG代码所占用的高度
viewBoxviewBox=“x, y, width, height”x:左上角横坐标,y:左上角纵坐标,width:宽度,height:高度
路径 path
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <path d="M150 0 L75 200 L211 200 Z" />
</svg>
 
// 开始位置为150 0,到达75 200 再从哪里开始到 211 200 ,返回150 0关闭路劲。
// M 设置开始
// L 设置中间点
// Z 设置结束点
名称用法描述
dd=“M0,0 L240,0 L240,240 L0,240 Z”绘图路径,path上最复杂也是最重要的属性,下面一个表格将介绍 d属性上各个字母所代表的含义
fillfill="#fff",fill=“url(#orange_red)”填充颜色,渐变填充
fill-opacityfill-opacity=“0”填充透明度,填充不给颜色默认是黑色,不想用填充颜色的可以把填充设置透明
strokewidth=“50”描边颜色,描边渐变
stroke-widthwidth=“50”描边宽度
stroke-linecapwidth=“50”路径两端的形状, 可选属性 butt
transformwidth=“50”形变,和css3 transform属性用法一致

path标签中的d属性介绍

名称用法描述
MM0,0相当于 moveto(M X,Y),将画笔移动到指定的坐标位置
LL240,0相当于 lineto(L X,Y),画直线到指定的坐标位置
HH240相当于 horizontal lineto(H X),画水平线到指定的X坐标位置
VV240相当于 vertical lineto(V Y),画垂直线到指定的Y坐标位置
CCX1,Y1,X2,Y2,ENDX,ENDY相当于 curveto(C X1,Y1,X2,Y2,ENDX,ENDY),三次贝赛曲线
SSX2,Y2,ENDX,ENDY相当于 smooth curveto(S X2,Y2,ENDX,ENDY),平滑曲率
QQX,Y,ENDX,ENDY相当于 quadratic Belzier curve(Q X,Y,ENDX,ENDY),二次贝赛曲线
TTENDX,ENDY相当于 smooth quadratic Belzier curveto(T ENDX,ENDY),映射
AARX,RY,XROTATION,FLAG1,FLAG2,X,Y相当于 elliptical Arc(A RX,RY,XROTATION,FLAG1,FLAG2,X,Y),弧线
ZZ相当于 closepath(),关闭路径
矩形 rect
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
     <rect x="50" y="20" rx="20" ry="20" width="300" height="100" style="fill:rgb(0,0,255); stroke-width:1; stroke:rgb(0,0,0); fill-opacity:0.1; stroke-opacity:0.9;" />
</svg>
 
// rx 和 ry 用来产生圆角。
// x 和 y 用来设置svg距离浏览器左侧和顶端的距离。
// width 和 height 属性可定义矩的宽度和高度。
// style 属性用来定义CSS属性
// CSS 中的fill用来定义填充颜色,stroke-width定义边框宽度,stroke定义边框颜色,fill-opacity定义填充颜色透明度,stroke-opacity定义笔触颜色透明度。
圆形 circle
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
     <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>
 
// cx 和 cy 属性定义圆点的x 和 y坐标。
// r 属性定义圆的半径。
椭圆 ellipse
直线 line
多边形 polygon
曲线 polyline
文本 text
### 如何在HTML中使用SVG标签 在HTML中,可以直接使用`<svg>`标签来嵌入SVG图形。这种方式允许开发者直接将SVG代码嵌入到HTML文档中,从而提供更高的灵活性和可维护性。以下是关于如何在HTML中使用`<svg>`标签的详细说明[^1]。 #### 语法结构 以下是一个基本的`<svg>`标签语法示例: ```html <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"> <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /> </svg> ``` - `width` 和 `height` 属性定义了SVG画布的尺寸。 - `xmlns` 属性指定了SVG的命名空间,这是必需的。 - `<circle>` 是一个简单的SVG元素,用于绘制圆形。它包含以下属性: - `cx` 和 `cy` 定义了圆心的位置。 - `r` 定义了圆的半径。 - `stroke` 和 `stroke-width` 定义了边框的颜色和宽度。 - `fill` 定义了填充颜色。 #### 内联SVG的优点 通过直接在HTML中使用`<svg>`标签,可以实现以下优点: - SVG图形可以直接由CSS样式化[^2]。 - 可以轻松地与JavaScript交互,动态修改SVG的内容或样式。 - 提高了搜索引擎优化(SEO),因为SVG内容是可见的文本,而不是外部文件。 #### 示例:结合CSS和JavaScript的SVG 以下是一个结合CSS和JavaScript的示例: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>SVG Example</title> <style> svg { border: 1px solid #ccc; } circle { transition: fill 0.3s ease; } circle:hover { fill: blue; } </style> </head> <body> <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"> <circle id="myCircle" cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /> </svg> <script> const circle = document.getElementById('myCircle'); circle.addEventListener('click', () => { circle.setAttribute('fill', 'green'); }); </script> </body> </html> ``` - 在上述代码中,当用户悬停在圆形上时,其颜色会从红色变为蓝色。 - 点击圆形后,其颜色会变为绿色。 #### 注意事项 - 如果需要加载外部SVG文件,可以使用`<img>`、`<object>`或CSS背景图片等方式[^1]。 - 对于复杂的SVG图形,建议将其保存为独立文件并通过`<object>`标签加载,以保持HTML文件的简洁[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值