SVG矢量图是什么 怎么用XML代码画一个圆

来源:站长工具作者:北京网站建设头衔:草根站长
导读:本期聚焦于小伙伴创作的《SVG矢量图是什么 怎么用XML代码画一个圆》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《SVG矢量图是什么 怎么用XML代码画一个圆》有用,将其分享出去将是对创作者最好的鼓励。

SVG全称是可缩放矢量图形,本质是一种基于XML语法的标记语言,用来描述二维矢量图形。和JPG、PNG这类位图不同,SVG图形不是由像素点组成的,而是通过数学公式定义图形的形状、颜色、位置等属性,所以无论放大多少倍都不会出现模糊失真的问题,而且文件体积通常比位图小,还支持通过CSS和JavaScript动态修改样式和交互,在网页开发、移动端界面、数据图表等场景中都有大量应用。

SVG矢量图是什么 怎么用XML代码画一个圆

SVG的基础结构

SVG图形的代码本质是符合XML规范的标签集合,最外层是<svg>根标签,用来定义整个矢量图的画布范围和基本属性,内部嵌套各种图形标签来实现不同的形状。要画一个圆,首先需要先搭建基础的SVG画布结构,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
    <!-- 这里放圆形相关的代码 -->
</svg>

上面的代码中,<?xml?>是XML的声明头,指定编码和版本;<svg>标签的width和height属性定义画布的宽度和高度,单位是像素,xmlns属性指定SVG的命名空间,是标准写法不能省略。

用XML代码画圆形的核心属性

SVG中画圆使用的是<circle>标签,这个标签有几个必须配置的核心属性,用来确定圆的位置和大小:

  • cx:圆心的x轴坐标,相对于svg画布的左上角原点
  • cy:圆心的y轴坐标,相对于svg画布的左上角原点
  • r:圆的半径,单位是像素
  • fill:圆形的填充颜色,支持颜色名、十六进制色值、rgb值等写法
  • stroke:圆形的边框颜色
  • stroke-width:圆形边框的宽度,单位是像素

完整的画圆代码示例

结合上面的属性,我们可以写出一个完整的可运行的SVG画圆代码,直接在浏览器的HTML文件中运行就能看到效果:

<?xml version="1.0" encoding="UTF-8"?>
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
    <!-- 画一个圆心在(100,100),半径80,填充蓝色,边框黑色,边框宽度2像素的圆 -->
    <circle 
        cx="100" 
        cy="100" 
        r="80" 
        fill="#409eff" 
        stroke="#333333" 
        stroke-width="2" 
    />
</svg>

如果把这个代码保存为circle.svg文件,用浏览器打开就能看到一个居中的蓝色圆形,带有黑色边框。如果是在HTML页面中嵌入,也可以直接把<svg>标签部分放到HTML的body里,不需要XML声明头,代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>SVG画圆示例</title>
</head>
<body>
    <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
        <circle 
            cx="100" 
            cy="100" 
            r="80" 
            fill="#409eff" 
            stroke="#333333" 
            stroke-width="2" 
        />
    </svg>
</body>
</html>

常见问题说明

很多初学者写代码的时候会遇到圆显示不完整的问题,大多是这几个原因:一是cx和cy的坐标加上半径超过了svg画布的范围,比如画布宽度是200,cx是150,r是80,那圆的右半部分就会超出画布看不到;二是没有写xmlns命名空间,有些浏览器会无法正确解析SVG标签;三是属性名写错,比如把cx写成xc,浏览器会忽略错误的属性,导致圆无法按预期显示。

另外SVG的<circle>标签还支持很多其他属性,比如opacity设置透明度,fill-opacity设置填充透明度,stroke-opacity设置边框透明度,这些都可以通过修改属性值来调整圆形的显示效果,满足不同的设计需求。

SVGXML矢量图circle_元素修改时间:2026-06-19 13:36:15

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。