❤ svg篇

❤ svg篇

1、认识和介绍

对于svg的系统描述 www.runoob.com/svg/svg-tut...

先来看看 在 HTML 页面之中svg的介绍


SVG 文件可通过以下标签嵌入 HTML 文档:<img>、<object> 或者 <iframe>

SVG 的代码可以直接嵌入到 HTML 页面中,或您可以直接链接到 SVG 文件。


2、使用

(1) 使用 < img> 标签

通过 <img> 标签可以将 SVG 图像作为图片嵌入到 HTML 页面中,可以使用 src 属性指定 SVG 文件的路径,也可以设置 width 和 height 属性来指定图片的宽度和高度。

语法:

js 复制代码
<img src="example.svg" alt="SVG Image" width="200" height="200">

我们新建一个文件然后尝试一下

代码部分也非常的简单

js 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
   <img src="./404.svg" alt="SVG Image" width="200" height="200">
</body>
</html>

我们尝试控制与一下大小

js 复制代码
<img src="./404.svg" alt="SVG Image" width="100" height="100">
<img src="./404.svg" alt="SVG Image" width="50" height="50">
<img src="./404.svg" alt="SVG Image" width="10" height="10">

最后我们查看的效果:

更改颜色:这里我们就只能使用svg的类型样式了(必须得svg内部没有填充色得时候才可以)

js 复制代码
svg{
    background: chartreuse;
    color: #fff;
}

接下来我们想更改一下单独每个的颜色,很可惜,这种方法办不到

优点:简单快捷,仅仅img就可以使用

缺点:很明显,无法更改颜色

(2) 使用 <object> 标签

使用 <object> 标签用于将外部资源嵌入到HTML页面中,可以使用 data 属性指定 SVG 文件的路径,type 属性指定资源的 MIME 类型。

支持 SVG 的浏览器会直接显示 SVG 图像,不支持的浏览器会显示替代内容。

也就是我们可以拿这个来进行兼容,同时,注意是拿data 属性来指定 SVG 文件的路径的!

简单进行一下使用:

js 复制代码
  <!-- 第二种方式 -->
<object data="./404.svg" type="image/svg+xml" width="200" height="200">
      Your browser does not support SVG
</object>

预览跟上面差不多,这里我们就不展示预览了。

  • 更改颜色

跟上面差不多,很显然,这种更改颜色也是不太行

(3) 使用 <iframe> 标签

<iframe> 标签用于在 HTML 页面中嵌入另一个HTML文档。可以使用 src 属性指定 SVG 文件的路径,并设置 widthheight 属性来指定 iframe 的宽度和高度。

语法:

arduino 复制代码
<iframe src="example.svg" width="200" height="200"></iframe>

这种方式更改颜色也是不便利,直接下一种

(4) 直接在 HTML 嵌入 SVG 代码

在 HTML 页面中直接嵌入 SVG 代码,SVG 代码可以放置在 <body> 标签中或其他合适的位置。

这种方式使得 SVG 图像与 HTML 内容混合在一起,可以直接在 HTML 页面中编辑和调整 SVG 图像

这里介绍和告诉我们很明确啊,可以直接在 HTML 页面中编辑和调整 SVG 图像

js 复制代码
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
   <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>

预览一下,直接就是一个圆!

也就是我们上面的也可以写成

js 复制代码
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
    <img src="./404.svg" alt="SVG Image" width="50" height="50">
</svg>

(5)链接到 SVG 文件

我们看看第五种:可以用 <a> 标签链接到一个 SVG 文件:

js 复制代码
<a href="circle1.svg">查看 SVG 文件</a>

结果: 查看 SVG 文件


(6) 使用 CSS 背景图

通过 CSS 的 background-image 属性,可以将 SVG 图像作为背景图嵌入到 HTML 元素中。这种方法适用于需要在 CSS 中控制背景图样式的情况。

这里简单尝试一下试试:

js 复制代码
.svg-bg { width: 200px; height: 200px; background-image: url('circle1.svg'); background-size: cover; }

尝试一下 >>

这里扩张一下,是不是各种动态背景,动画背景,小人跳动啥的,你都会了呢?

3、进阶使用

了解完了svg的基础使用,这里我们看看具体的使用如何使用呢

(1)fill 属性

先来看看fill这个SVG属性的含义:更改填充颜色

  • SVG 的 fill 属性

用于定义填充颜色,它可以接受多种类型的值。以下是常见的 fill 属性可选值:

c 复制代码
颜色值:可以直接指定颜色的名称(例如 "red"、"blue")或者十六进制颜色值(例如 "#FF0000")作为填充颜色。

URL:可以使用 URL 来引用一个图像,该图像将被用作填充图案。

渐变:可以使用线性渐变(<linearGradient>)或径向渐变(<radialGradient>)来创建渐变填充效果。

默认值:none 表示无填充,即不显示填充效果。

CSS 变量:如果你的 SVG 在 HTML 中使用了 CSS 变量,你也可以将 CSS 变量作为 fill 属性的值。

看来fill为我们提供了强大的内置属性,也就是我们控制svg其实就是控制fill

(2)使用 CSS 的 fill 属性来设置 SVG 的填充颜色

  1. 内联 SVG: SVG 图标是内联在 HTML 中的,你可以直接在 SVG 元素内部使用 style 或 fill 属性来设置填充颜色。
js 复制代码
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" style="fill: red;">
<!-- SVG 图标的路径或其他内容 -->
</svg>

使用 CSS 来设置样式
<style>
  .svg-icon {
    fill: red;
  }
</style>

<svg class="svg-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
  <!-- SVG 图标的路径或其他内容 -->
</svg>

(3)外部 SVG 文件

js 复制代码
使用 CSS 来为 SVG 元素设置填充颜色
<!-- 在 HTML 中引入 SVG 文件 -->
<object type="image/svg+xml" data="icon.svg" class="svg-icon"></object>

/* CSS 文件中设置填充颜色 */
.svg-icon {
  fill: red;
}

(4)currentColor 关键字

使 SVG 图标的填充颜色能够跟随字体颜色而改变,你可以使用 CSS 的 currentColor 关键字 currentColor 表示当前元素的文本颜色。通过将 SVG 图标的填充颜色设置为 currentColor,它将自动继承其父元素(通常是文本元素)的颜色

js 复制代码
fill="currentColor"

到这里相信你对于svg的使用已经轻松上手啦!

相关推荐
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
北岛寒沫3 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
(⊙o⊙)~哦4 小时前
JavaScript substring() 方法
前端
无心使然云中漫步4 小时前
GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions
前端·javascript
Bug缔造者4 小时前
Element-ui el-table 全局表格排序
前端·javascript·vue.js
xnian_5 小时前
解决ruoyi-vue-pro-master框架引入报错,启动报错问题
前端·javascript·vue.js
麒麟而非淇淋5 小时前
AJAX 入门 day1
前端·javascript·ajax
2401_858120536 小时前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab
阿树梢6 小时前
【Vue】VueRouter路由
前端·javascript·vue.js