关于svg

news2024/10/5 13:06:03

1.svg是一种基于XML语法的图像格式,是一种图像格式,是一种对图像的描述,不是基于像素处理的,因此他的本质是文件,而且体积小不易失真。

2.svg文件可以直接插入网页,也就是html文件中,成为dom的一部风,还可以通过js和css对其进行操作。也可以写在独立的文件中,然后通过标签插入网页。

 

直接插入网页间接插入网页

<!DOCTYPE html>

<html>

<head></head>

<body>

<svg

  id="mysvg"

  xmlns="http://www.w3.org/2000/svg"

  viewBox="0 0 800 600"

  preserveAspectRatio="xMidYMid meet"

>

  <circle id="mycircle" cx="400" cy="300" r="50" />

<svg>

<!-- <img src="./circle.svg" alt=""> -->

</body>

</html>

//circle.svg的文件内容

<svg version="1.1" xmlns="http://www.w3.org/2000/svg">

    <rect width="200" height="100" fill="#2ecc71" />

</svg>

//html文件内容

<!DOCTYPE html>

<html>

<head></head>

<body>

<img src="./circle.svg" alt="">

</body>

</html>

3.关于svg语法

   1.svg代码不管在哪都需要svg标签包裹,写在svg标签中

   2. width,height属性代表了svg图片在html中显示的大小,默认单位是像素

   3.viewBox属性可以设定svg图片展示某一部分,他的值有四个,分别是左上角的横纵坐标,和将要展示的宽度高度

 <svg width="100" height="100" viewBox="50 50 50 50">
       
 <circle id="mycircle" cx="50" cy="50" r="50" />
 
</svg>

虽然展示的是50*50,但是图片大小是100*100,这个不变,所以这四分之一相当于是被放大了

注意,视口必须适配所在的空间。上面代码中,视口的大小是 50 x 50,由于 SVG 图像的大小是 100 x 100,所以视口会放大去适配 SVG 图像的大小,即放大了四倍。

如果不指定width属性和height属性,只指定viewBox属性,则相当于只给定 SVG 图像的长宽比。这时,SVG 图像的默认大小将等于所在的 HTML 元素的大小。

  4.关于圆的绘制,cx横坐标,cy纵坐标,r半径 ,坐标点都是相对于左上角来说的

 <svg width="300" height="180">
        <circle cx="30"  cy="50" r="25" />
        <circle cx="90"  cy="50" r="25" class="red" />
        <circle cx="150" cy="50" r="25" class="fancy" />
      </svg>

class类名也可以对svg图片进行样式设置,但是和div的样式有点不同,它有下面的样式

  • fill:填充色
  • stroke:描边色
  • stroke-width:边框宽度

   5.关于path,<path>标签用于制路径。

<svg width="300" height="180">
<path d="
  M 18,3
  L 46,3
  L 46,40
  L 61,40
  L 32,68
  L 3,40
  L 18,40
  Z
"></path>
</svg>
//M:移动到(moveto)
//L:画直线到(lineto)
//Z:闭合路径

 SVG 图像入门教程 - 阮一峰的网络日志

 

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

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

相关文章

批量爬虫采集完成任务

批量爬虫采集是现代数据获取的重要手段&#xff0c;然而如何高效完成这项任务却是让许多程序员头疼的问题。本文将分享一些实际操作价值高的方法&#xff0c;帮助你提高批量爬虫采集的效率和专业度。 目标明确&#xff0c;任务合理划分&#xff1a; 在开始批量爬虫采集前&…

带你快速认识Java异常和bug的解决过程

一 常见异常介绍 1.1 编译时异常 1. 操作数据库产生的异常 SQLException 2. 操作文件产生的异常 IOException 3. 文件找不到的异常 FileNotFoundException 4. 类找不到异常 ClassNotFoundException 5. 非法参数异常 IllegalArguementException 1.2 运行时异常 1. 空指针异…

ONNX版本YOLOV5-DeepSort (rknn版本已经Ready)

目录 1. 前言 2. 储备知识 3. 准备工作 4. 代码修改的地方 5.结果展示 1. 前言 之前一直在忙着写文档&#xff0c;之前一直做分类&#xff0c;检测和分割&#xff0c;现在看到跟踪算法&#xff0c;花了几天时间找代码调试&#xff0c;看了看&#xff0c;展示效果比单纯的检…

linux--链表动态创建

头插法&#xff1a; 核心代码&#xff1a; s->next head->next; head->next s; 尾插法 核心代码&#xff1a; tail head; s->next NULL; tail->next s; tail s; 当用头插法依次插入值分别为1,2,3,4,5的结点后&#xff0c; 单链表顺序为&#xff1a; he…

第一章 Java反射机制(韩顺平老师Java基础学习记录)

文章目录 前言一、没有反射机制前的java代码存在什么问题&#xff1f;二、使用反射机制解决问题1.加载类2.读入数据 总结 前言 每一项新技术以及新概念的提出都是源于存在着新“问题”&#xff0c;放在代码领域可以说是存在着新需求&#xff0c;那么为了解决这个需求&#xff…

谈谈无线充电技术

目录 1.无线充电的概念 2.无线充电的原理 3.无线充电技术的发展过程 4.无线充电的优势 5.无线充电的潜在危害 1.无线充电的概念 无线充电是一种无需通过物理连接&#xff0c;通过电磁感应或者共振等技术&#xff0c;实现设备充电的方式。它消除了传统有线充电中需要插拔电…

等保案例 7

用户简介 廊坊市审计局主管全市审计工作&#xff0c;负责对全市财政收支和法律法规规定属于审计监督范围的财务收支的真实、合法和效益进行审计监督&#xff1b;对审计、专项审计调查和核查社会审计机构相关审计报告的结果承担责任&#xff0c;并负有督促被审计单位整改的责任…

docker oracle linux命令执行sql

docker 安装参照 https://blog.csdn.net/arcsin_/article/details/123707618 docker container ls -a命令查看容器名 打开容器 docker exec -it orcl19c_03 /bin/bashsys 用户登录容器 sqlplus / as sysdbashow pdbs;什么是pdb数据库&#xff1f;什么是CDB&#xff1f; 参…

推进深度融合 打造智慧媒体

以下内容来自于易知微官网&#xff0c;点击一下&#xff0c;即可进入官网了解详情。 注意&#xff1a;案例数据均为虚拟数据 数字改革是一场波及经济社会发展全局、涵盖生产力到生产关系的全方位变革。在数字化时代&#xff0c;以数字改革赋能媒体深度融合已然成为时代所向、…

github以及上传代码处理

最近在github上传代码的时候出现了&#xff1a; /video_parser# git push -u origin main Username for https://github.com: gtnyxxx Password for https://gtny2010github.com: remote: Support for password authentication was removed on August 13, 2021. remote: Plea…

LeetCode450. 删除二叉搜索树中的节点

450. 删除二叉搜索树中的节点 文章目录 [450. 删除二叉搜索树中的节点](https://leetcode.cn/problems/delete-node-in-a-bst/)一、题目二、题解方法一&#xff1a;递归&#xff08;一种麻烦的方法&#xff09;方法二&#xff1a;优化后的递归 一、题目 给定一个二叉搜索树的根…

AJ-Captcha行为验证在vue中的使用

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 项目场景&#xff1a;由原先的验证码校验升级为行为验证校验 使用方法 提示&#xff1a;参考文档&#xff1a; 参考文档&#xff1a;vue使用AJ-Captcha文档 gitee地址&#xff1a;AJ-Captcha &…

【Apollo】Apollo版本变迁里程碑

特点与改进 概述里程碑6.0版本特点及改进7.0版本特点及改进8.0版本特点及改进代码差异 主页传送门&#xff1a;&#x1f4c0; 传送 概述 Apollo (阿波罗)是一个开放的、完整的、安全的平台&#xff0c;将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统&#xff0c;快…

python3ide手机安卓版下载,python3下载手机安卓版

本篇文章给大家谈谈python3ide手机安卓版下载&#xff0c;以及python3下载手机安卓版&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 python3是一个在Android上运行Python3脚本引擎&#xff0c;python3整合了Python3解释器、Console、编辑器和SL4A库PHP与PYT…

智慧城市能实现嘛?数字孪生又在其中扮演什么角色?

数字孪生智慧城市是将数字孪生技术与城市智能化相结合的新兴概念&#xff0c;旨在通过实时数字模拟城市运行&#xff0c;优化城市管理与服务&#xff0c;创造更智能、高效、可持续的城市环境。 在智慧城市中&#xff0c;数字孪生技术可以实时收集、分析城市各个方面的数据&…

如何安装合适的显卡驱动,如何安装合适的驱动

大家好&#xff0c;小编为大家解答如何安装合适的松紧裤腰大房子呢的问题。很多人还不知道如何安装合适的显卡驱动版本&#xff0c;现在让我们一起来看看吧&#xff01; 1.准备好安装包 1&#xff09;上python官网下载python运行环境&#xff08;Download Python | Python.org&…

seaborn color palette 调色板颜色图

Here is a list of the Color Brewer palettes, with their names for easy reference: sns.lineplot(datanormal_df, palettesns.color_palette(paletteSet1, n_colors1))

KaiwuDB CTO 魏可伟:回归用户本位,打造“小而全”的数据库

8月16日&#xff0c;KaiwuDB 受邀亮相第十四届中国数据库技术大会 DTCC 2023。KaiwuDB CTO 魏可伟接受大会主办方的采访&#xff0c;双方共同围绕“数据库架构演进、内核引擎设计以及不同技术路线”展开深度探讨。 以下是采访的部分实录 ↓↓↓ 40 多年前&#xff0c;企业的数…

[mars3d 打包]vue3+vite,打包后mars3d找不到

前提 &#xff1a; vue3vite开发框架&#xff1b;使用 官网 方式3获取sdk,引入mars3d; 问题&#xff1a;开发时一切正常&#xff0c;打包之后&#xff0c;页面白屏&#xff0c;没有渲染&#xff1b; 相关的mars3d的相关方法会报错&#xff1b;但是mars3d的打印日志是有的&…

飞凌嵌入式邀您共聚2023深圳国际电子展(elexcon 2023)

8月23~25日&#xff0c;Elexcon 2023深圳国际电子展将在深圳会展中心&#xff08;福田&#xff09;举行&#xff0c;届时飞凌嵌入式将携多款重量级产品及热门行业解决方案亮相&#xff0c;展位号1Z55。飞凌嵌入式将聚焦5G、人工智能、智慧交通、智慧医疗、智慧电力、工业物联网…