讲师中心 微信公众号
AI工具推荐 视频效率加速

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

风宇同学_3507

风宇同学_3507

发布时间:2026-04-17 15:25:09

|

864人浏览过

|

来源于php中文网

原创

最简单方式是将<svg>标签直接写入HTML文件,作为原生DOM元素支持CSS/JS操作;需设置viewBox实现响应式缩放,避免冗余属性,颜色推荐用currentColor继承主题色。

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

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

怎么把 SVG 写进 HTML 页面里

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

  • 可以内联写在 <body> 任意位置,比如放在 <div> 里
  • 宽度高度建议显式设置,例如 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> 或内部 <circle> 加 class、写 CSS,但并非所有 CSS 属性都生效。

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

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

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

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

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

6415

2023.06.14

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

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

3592

2023.06.21

html网页制作
html网页制作

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

3250

2023.07.31

html空格
html空格

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

3279

2023.08.01

html是什么
html是什么

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

4979

2023.08.11

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

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

3221

2023.08.11

html转txt
html转txt

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

3029

2023.08.31

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

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

2668

2023.09.01

剧云故事大纲与分场规划教程
剧云故事大纲与分场规划教程

本专题讲解剧云梗概与多级大纲功能,覆盖全局、分集、分场结构生成,以及主线冲突、剧情节点和场次顺序调整。

0

2026.10.22

热门下载

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

精品课程

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

共0课时 | 0.3万人学习

SVG 教程
SVG 教程

共20课时 | 20.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn