带你了解SVG标签

news2024/11/25 0:43:30

csdn动态图标

✍️ 作者简介: 前端新手学习中。

💂 作者主页: 在主页中查看更多前端教学,可接大学生前端作业单。

🎓 专栏分享:css重难点教学   Node.js教学 从头开始学习   ajax学习
js学习

目录

  • 初始SVG
  • 矩形,圆形和椭圆型
    •  矩形
    •  圆形
    •  椭圆形
  • 绘制线条 多边形 连续线条
    •  线条
    •  多边形
    •  连续线条
  • 绘制文本
  • 绘制路径
  • 阴影和模糊

初始SVG

SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Extensible Markup Language),由World Wide Web Consortium(W3C)联盟进行开发的。
图片格式一般都是像素处理的,图片放大会模糊失真,svg格式属于是对图片的形状描述,所以它本质上是文本文件,体积较小,并且不管放大多少倍都不会模糊失真。使用时直接在img标签中写入svg格式的图片即可。

矩形,圆形和椭圆型

如何使用svg绘制特殊形状,svg标签中中有一些预定义的属性标签。
svg画布宽高默认值是300 x 150(单位px)

 矩形

在这里插入图片描述
在这里插入图片描述



   <body>

    <svg>
        <rect width="100" height="100" fill="blue" stroke-width="10" stroke="black" />
    </svg>
    <svg>
        <!-- opacity 透明度  xy坐标 画布左上角参考点-->
        <rect x="10" y="10" width="100" height="100" fill="blue" stroke-width="10" stroke="black" opacity="0.5" />
    </svg>
    <svg>
        <!-- rx ry分别为圆的x轴和y轴半径长度 -->
        <rect rx="20" ry="20" y='20' width="100" height="100" fill="blue" stroke-width="10" stroke="black" />
    </svg>

</body>

在这里插入图片描述

 圆形

在这里插入图片描述
在这里插入图片描述

 <svg width="300" height="300">
        <circle cx="20" cy="20" r="10" stroke="red" stroke-width="3" />
    </svg>

在这里插入图片描述

 椭圆形

  <svg width="300" height="300">
        <ellipse cx="150" cy="50" rx="100" ry="50" fill="yellow" />
    </svg>

在这里插入图片描述

绘制线条 多边形 连续线条

 线条

<svg>
        <!-- x1 y1起点 x2 y2终点 -->
        <line x1="0" y1="0" x2="150" y2="150" stroke="red" />
    </svg>

在这里插入图片描述

 多边形

  <svg width="300" height="300">
        <!-- points 填写多个连接点点 -->
        <polygon points="300,20 200,20 250,100 " stroke="blue" stroke-width="3" />
        <polygon points="200,20 100,20 100,100 200,100" stroke="blue" stroke-width="3" />

    </svg>

在这里插入图片描述

 连续线条

  <svg>
        <polyline points="20,20 40,25 60,40 80,120 120,140 200,180" fill="none" stroke="black" />
    </svg>

在这里插入图片描述

绘制文本

<body>
    <svg width="300" height="300">
        <text x="0" y="15" fill="red">
            坚毅的小解同志
        </text>
        <!-- rotate  旋转角度   旋转中心点 默认为0,0 -->
        <text x="0" y="30" fill="red" transform="rotate(30 20,40)">
            坚毅的小解同志
        </text>
    </svg>
    <svg width="300" height="300">
        <!-- 添加tspan子标签添加不同格式和样式 -->
        <text x="10" y="20" fill="red">
            a
            <tspan x="10" y="45">b</tspan>
            <tspan x="10" y="75">c</tspan>
        </text>
    </svg>
    <!-- 固定的命名空间 -->
    <svg xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
        <!-- 超链接添加 xml-->
        <a xlink:href="https://blog.csdn.net/m0_62360527?type=blog">
            <text y="15" fill='red'>小解同志</text>
        </a>
    </svg>
</body>

在这里插入图片描述

绘制路径

<body>
    <svg width="800" height="800">

        <!-- d表示绘画  M就是类似canvas里面的moveto L就是lineto 
        注意  大写字母表示绝对定位 小写的话 就是相对定位-->
        <path d="M 150,0 L 75,200 L 225,200" />
        <!-- 贝塞尔曲线 M是起点
        q里面 是控制点 和终点 -->
        <path d="M 20 350 q 150 -300 300,0" fill="none" stroke="red" />
    </svg>
</body>

在这里插入图片描述

阴影和模糊

<body>
    <!-- 高斯模糊 -->
    <svg>
        <defs>
            <filter id="f1">
                <!-- 值越大越模糊 -->
                <feGaussianBlur stdDeviation="15" />
            </filter>
        </defs>
        <!-- id 属性 -->
        <rect filter="url(#f1)" x='50' y="10" width="90" height="90" stroke="green" stroke-width="3" fill="red" />
    </svg>
    <!-- 阴影效果 -->
    <Svg>
        <defs>
            <filter id="f2">
                <feOffset in="SourceAlpha" dx="30" dy="20" />
                <feGaussianBlur stdDeviation="11" />
                <feBlend in="SourceGraphic" />

            </filter>
        </defs>
        <rect width="90" height="90" fill="red" filter="url(#f2)" />
    </Svg>
</body>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/154417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云安全(云安全数据中心、WAF、DDOS)

安全 安全威胁 可用性 安全威胁&#xff1a;大规模分布式拒绝服务攻击(DDoS)、僵尸网络(Botnet) 影响&#xff1a;网站业务不可用 完整性 安全威胁&#xff1a;网站入侵、服务器口令暴力破解 影响&#xff1a;网站页面被篡改和植入后门 保密性 安全威胁&#xff1a;网站后门…

二、Groovy入门

文章目录二、Groovy入门2.1 Groovy 简介2.2 Groovy 安装[非必须]2.3 IDEA创建 Groovy 项目2.4 Groovy 基本语法2.4.1 案例 1:基本注意点2.4.2 案例 2:引号说明2.4.3 案例 3:三个语句结构2.4.4 案例 4:类型及权限修饰符2.4.5 案例 5:集合操作2.4.6 案例 6:类导入2.4.7 案例 7:异…

MySQL是怎么保证主备一致的?

在前面的文章中,我不止一次地和你提到了 binlog,大家知道 binlog 可以用来归档,也可以用来做主备同步,但它的内容是什么样的呢?为什么备库执行了 binlog 就可以跟主库保持一致了呢?今天我就正式地和你介绍一下它。 毫不夸张地说,MySQL 能够成为现下最流行的开源数据库,…

pytorch torchvision.ops.roi_align

pytorch的torchvision.ops.roi_align这个算子真的是坑我好多天啊&#xff01;害我连续加班半个月&#xff01;二阶段目标检测后面用roi_align来提取特征。 接口官方说明&#xff1a;https://pytorch.org/vision/stable/generated/torchvision.ops.roi_align.html?highlightroi…

React Devtools 使用技巧

首先在扩展迷中搜索下载该扩展&#xff0c;引入到 Chrome 的扩展程序中。 当我们添加扩展到Chrome中&#xff0c;就会在浏览器中看到 React Devtools 的 Icon&#xff0c;同时通过该扩展我们就可以知道当前打开的网站是开发环境的网站还是生产环境&#xff0c;React Devtools …

Mysql 安装 ubutu20.04

Mysql 安装 1&#xff1a;sudo apt-get autoremove --purge mysql* 2&#xff1a;sudo apt-get install mysql-server 3&#xff1a;sudo apt --fix-broken install -y 4&#xff1a;sudo apt-get install mysql-server 5&#xff1a; service mysql status 5&#xff1a;sudo…

C++STL-stackqueuepriority_queue介绍

文章目录1. 容器适配器1.1 什么是适配器1.2 STL标准库中stack和queue的底层结构2. stack的介绍和使用2.1 stack的介绍2.2 stack的使用3. queue的介绍和使用3.1 queue的介绍3.2 queue的使用4. priority_queue的介绍和使用4.1 priority_queue的介绍4.2 priority_queue的使用1. 容…

年度征文 | 回顾2022,展望2023

目录 一、前言 二、回顾2022 三、展望2023 个人主页: ζ小菜鸡大家好我是ζ小菜鸡&#xff0c;感谢大家一直的支持。岁末年初&#xff0c;让我们一起回顾2022展望2023。一、前言 时光荏苒&#xff0c;岁月如梭&#xff0c;2022 已和我们再见&#xff0c;2023 正向我们走来。…

云原生周刊 | 在 Grafana 中显示 K8s Service 之间的依赖关系

开源项目推荐 Caretta 这个项目可以在 Grafana 监控面板中显示 K8s Service 之间的依赖关系。底层使用的是 eBPF&#xff0c;对应用无侵入。 busuanzi 这是一个基于 Golang Redis 的简易访问量统计系统&#xff0c;可以用来替代不蒜子。 vim-online-editor 这是一个在线版…

一文读懂 Kubernetes 存储设计

在 Docker 的设计中&#xff0c;容器内的文件是临时存放的&#xff0c;并且随着容器的删除&#xff0c;容器内部的数据也会一同被清空。不过&#xff0c;我们可以通过在 docker run 启动容器时&#xff0c;使用 --volume/-v 参数来指定挂载卷&#xff0c;这样就能够将容器内部的…

企业级数据中台构建方法和指导

目录1. 数据中台的概念2. 数据中台适合企业2.1 企业构建数据中台面临的问题2.2 企业构建数据中台解决问题的方法2.3 什么样的企业适合构建数据中台3. 如何建设数据中台3.1 方法论3.1.1 OneData3.1.2 OneService3.2 技术3.3 组织4. 数据中台实现&#xff1a;指标管理5. 数据中台…

高速缓存伪共享(false sharing)

0. CPU缓存 根据摩尔定律&#xff1a;芯片中的晶体管数量每隔18个月就会翻一番。导致CPU的性能和处理速度变得越来越快&#xff0c;而提升CPU的运行速度比提升内存的运行速度要容易和便宜的多&#xff0c;所以就导致了CPU与内存之间的速度差距越来越大。 为了弥补CPU与内存之间…

错失搭档张云雷,杨九郎和郭冬临一起演小品

熟悉相声的人都知道&#xff0c;这个传统的曲艺行业&#xff0c;一般是由捧哏和逗哏组成&#xff0c;两个人相辅相成缺一不可。就拿德云社的相声演员来说&#xff0c;也产生了很多对优秀演员&#xff0c;比如说郭德纲和于谦&#xff0c;比如说岳云鹏和孙越等等。 除了这两对相声…

微信开放平台之小程序获取用户信息

说实话&#xff0c;微信开放平台的文档真的是狗屎一般的存在&#xff0c;维护不及时&#xff0c;混乱&#xff0c;每隔一段时间更新一次授权接口&#xff01;着实让开发者想口吐芬芳了&#xff01;文档内跳来跳去&#xff0c;找不到一个完整的链路&#xff01;维护好几套接口文…

_Linux多线程-线程控制篇

文章目录1. POSIX线程库2. 创建线程3. 线程ID及进程地址空间布局4. 线程等待5. 线程终止pthread_ exitpthread_ cancel6. 分离线程7. 总结1. POSIX线程库 与线程有关的函数构成了一个完整的系列&#xff0c;绝大多数函数的名字都是以“pthread_”打头的要使用这些函数库&#…

三角函数在编程中的实际运用—永劫无间脚本

三角函数在编程中的实际运用—永劫无间脚本前言需求思路代码■ 转义码■ 源码具体讲解三角函数计算相对移动求余跳过不需要的位置成品最后前言 义务教育下&#xff0c;年轻人从初中就开始学三角函数却半辈子也没用上&#xff0c;除了特殊行业&#xff0c;做开发的可能也就大学…

Nginx web服务器入门及其在Linux中的搭建

目录 ​编辑 一、Nginx基本概述 1.介绍 2.优点 3.应用场景 &#xff08;1&#xff09;负载均衡 &#xff08;2&#xff09;代理缓存 &#xff08;3&#xff09;静态资源 &#xff08;4&#xff09;安全应用场景 4.Nginx的组成 &#xff08;1&#xff09;Nginx二进制…

Canal同步数据

canal同步数据 canal可以用来监控数据库数据的变化&#xff0c;从而获得新增数据&#xff0c;或者修改的数据。 canal是应阿里巴巴存在杭州和美国的双机房部署&#xff0c;存在跨机房同步的业务需求而提出的。 阿里系公司开始逐步的尝试基于数据库的日志解析&#xff0c;获取…

(9)Qt中信号与槽重载的解决方案

信号与槽重载的解决方案 一、通过函数指针解决 //信号 void (Me::*funchungury)() &Me::hungury; void (Me::*funchungury_QString)(QString) &Me::hungury; //槽 void (Me::*funceat)() &Me::eat; void (Me::*funceat_QString)(QString) &Me::eat;//有参…

Oracle与MySQL语法转换

前言 Oracle与MySQL语法转换 场景&#xff1a;系统改造&#xff0c;需要由Oracle切换为MySQL&#xff0c;因而要对代码中的Oracle语法的sql调整为MySQL语法 博客地址&#xff1a;芒果橙的个人博客 【http://mangocheng.com】 sysdate–当前日期 Oracle 使用sysdate select s…