如何在网页中绘制矢量图形?SVG标签嵌入可缩放矢量图

风宇同学_3507

风宇同学_3507

2026-04-17

864人浏览

原创

最简单方式是将标签直接写入html文件,作为原生dom元素支持css/js操作;需设置viewbox实现响应式缩放,避免冗余属性,颜色推荐用currentcolor继承主题色。

如何在网页中绘制矢量图形?svg标签嵌入可缩放矢量图

直接用 <svg></svg> 标签就能在网页里画矢量图,不需要额外库,现代浏览器原生支持。

怎么把 SVG 写进 HTML 页面里

最简单的方式是把 SVG 代码直接写在 HTML 文件中,用 <svg></svg> 开头、 结尾。它不是图片链接,而是可操作的 DOM 元素。

  • 可以内联写在 任意位置,比如放在 <div> 里 <li>宽度高度建议显式设置,例如 <code>width="200" height="150";用百分比或 viewBox 更适合响应式
  • 不要漏掉 xmlns="http://www.w3.org/2000/svg" —— 虽然某些浏览器能容错,但严格模式下缺失会导致渲染异常或样式失效
  • 避免复制粘贴外部 SVG 文件时带入已弃用属性,比如 xlink:href(SVG 2 中已被 href 取代)
  • 画一个圆或路径,关键属性不能写错

    SVG 绘图靠的是声明式属性,不是 canvas 那种命令式调用。写错名字或单位,图形就消失或错位。

    CSS3 SVG带控件的顶部导航栏代码
    CSS3 SVG带控件的顶部导航栏代码

    CSS3 SVG带控件的顶部导航栏代码是一款功能强大的带控件的超实用网页顶部导航栏。

    下载
    • <circle cx="50" cy="50" r="20" fill="blue"></circle>:注意 cx/cy 是圆心坐标,不是左上角;r 是半径,不能写成 radius
    • <path d="M10 10 L90 90"></path>:d 属性是路径指令,大小写敏感——M 表示 moveTo,L 是 lineTo;小写 m/l 是相对坐标,混用容易偏移
    • 颜色值支持命名色、十六进制、rgb(),但不支持 hsl()(部分旧引擎);透明度优先用 fill-opacity 或 opacity,别只改 fill 的 alpha 通道(无效)

    为什么放大后模糊?可能是没设 viewBox

    SVG 失去“可缩放”优势,往往是因为只设了 width/height,却没配 viewBox。后者才是控制缩放行为的核心。

    • viewBox="0 0 100 100" 定义了逻辑画布范围;实际显示尺寸由 width/height 决定,浏览器自动按比例拉伸内容
    • 删掉 viewBox 后,SVG 会退化为固定像素容器,缩放时等同于拉伸位图
    • 响应式场景下,可只留 width="100%" height="auto" + viewBox,让 SVG 自适应父容器宽高比
    • 慎用 preserveAspectRatio="none" —— 它会强制扭曲图形,仅在明确需要拉伸变形时才启用

    用 CSS 控制 SVG 元素要注意兼容性边界

    你可以像操作普通 HTML 元素一样给 <svg></svg> 或内部 <circle></circle> 加 class、写 CSS,但并非所有 CSS 属性都生效。

    • 几何属性如 width、height、transform 可以用 CSS 控制;但 cx、cy、r 等 SVG 原生属性**不能**用 CSS 设置(它们不是 CSS 属性)
    • fill、stroke、opacity 这类表现属性支持 CSS,但注意优先级:行内属性 > CSS 类 > 外部样式表;且 fill: currentColor 是合法的,可用于主题适配
    • filter、mask 等高级效果需配合 <defs></defs> 使用,CSS 中写 filter: url(#myBlur) 才有效,不能直接写 blur(2px)
    • IE11 及更早版本不支持对 SVG 子元素使用 display: none,要用 visibility: hidden 或移除元素

    真正麻烦的不是语法,而是把 viewBox、preserveAspectRatio 和 CSS 尺寸三者配平——稍有偏差,图形就错位、裁切或比例失真,而且不容易一眼看出来。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

6435

7

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

3592

4

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

3270

5

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.01

3279

5

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2023.08.11

4979

6

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

2023.08.11

3221

3

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

3029

3

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

2023.09.01

2668

6

HTML嵌入CSS样式的方法
HTML嵌入CSS样式的方法

HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.20

2748

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
svg中文手册
svg中文手册

共0课时 | 0.3万人学习

SVG 教程
SVG 教程

共20课时 | 20.5万人学习