前端祖传三件套HTML的HTML5之内联SVG

简介: HTML5 是 Web 技术的重要更新,它引入了许多新特性,其中包括一些用于处理图形和动画的新元素和属性。其中之一就是内联 SVG。

HTML5 内联 SVG


在 HTML4 中,要在网页上显示矢量图形,必须使用 元素来引入外部 SVG 文件。而在 HTML5 中,可以直接将 SVG 代码嵌入到 HTML 文件中,并且可以使用 CSS 和 JavaScript 来操作 SVG 图像。

什么是 SVG?

SVG(可缩放矢量图形)是用于描述二维矢量图形的一种开放标准。使用 SVG,我们可以创建各种复杂的矢量图形、图表、地图等等,而且可以无限缩放而不失真。

SVG 是由 XML 描述语言表示的,因此具有 XML 的所有特性,如可编辑、可搜索、可压缩等等。

在 HTML 中内联 SVG

在 HTML 文件中,可以使用 元素来嵌入 SVG 代码。下面是一个简单的例子:

<!DOCTYPE html>
<html>
<head>
  <title>Inline SVG Example</title>
  <style>
    svg {
      width: 200px;
      height: 200px;
      background-color: #f1f1f1;
    }
  </style>
</head>
<body>
  <h1>Inline SVG Example</h1>
  <svg viewBox="0 0 100 100">
    <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
  </svg>
</body>
</html>

在这个例子中,我们创建了一个圆形 SVG 图像,并使用 CSS 来设置其宽度、高度和背景色。

在 CSS 中操作 SVG

由于 SVG 代码是 XML 格式的,因此可以使用 CSS 来对其进行样式控制。下面是一个简单的例子:

<!DOCTYPE html>
<html>
<head>
  <title>Inline SVG Example</title>
  <style>
    svg {
      width: 200px;
      height: 200px;
      background-color: #f1f1f1;
    }
    circle {
      stroke: black;
      stroke-width: 3;
      fill: red;
    }
  </style>
</head>
<body>
  <h1>Inline SVG Example</h1>
  <svg viewBox="0 0 100 100">
    <circle cx="50" cy="50" r="40" />
  </svg>
</body>
</html>

在这个例子中,我们使用 CSS 来设置圆形 SVG 图像的边框颜色、边框宽度和填充颜色。

在 JavaScript 中操作 SVG

SVG 也可以使用 JavaScript 来进行动态操作和交互。下面是一个简单的例子:

<!DOCTYPE html>
<html>
<head>
  <title>Inline SVG Example</title>
  <style>
    svg {
      width: 200px;
      height: 200px;
      background-color: #f1f1f1;
    }
    circle {
      stroke: black;
      stroke-width: 3;
      fill: red;
      transition: all 0.5s ease;
    }
    circle:hover {
      fill: green;
    }
  </style>
</head>
<body>
  <h1>Inline SVG Example</h1>
  <svg viewBox="0 0 100 100">
    <circle cx="50" cy="50" r="40" />
  </svg>
  <script>
    var circle = document.querySelector('circle');
    circle.addEventListener('click', function() {
      this.setAttribute('r', '60');
    });
  </script>
</body>
</html>

在这个例子中,我们使用 JavaScript 来为圆形 SVG 图像添加了一个点击事件。当用户点击图像时,JS 将“半径”属性更改为 60。

总结

HTML5 提供了内联 SVG 的支持


目录
相关文章
|
8天前
|
XML 前端开发 JavaScript
前端开发进阶:从HTML到React.js
【10月更文挑战第9天】前端开发进阶:从HTML到React.js
|
1月前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
30 1
前端基础(十七)_HTML5新特性
|
1月前
|
移动开发 前端开发 JavaScript
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
本文介绍了Twaver HTML5中的HTML节点(HTMLNode),这是一种专门用于呈现HTML元素的网元。文章解释了HTMLNode如何继承自Node并具有所有Node的特点,以及如何通过setName()方法将HTML元素作为网元的LabelAttachment或者AlarmAttachment呈现。示例代码展示了如何在React组件中创建HTMLNode并添加HTML元素,以及如何自定义告警显示样式。
13 1
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
|
19天前
|
前端开发 JavaScript 数据安全/隐私保护
【前端基础篇】HTML零基础速通2
【前端基础篇】HTML零基础速通
13 2
|
19天前
|
Web App开发 移动开发 前端开发
【前端基础篇】HTML零基础速通1
【前端基础篇】HTML零基础速通
20 1
|
1月前
|
前端开发
前端基础(二)_HTML常用标签(块级标签、行级标签、行块级标签)
本文详细介绍了HTML中的常用标签,包括块级标签(如`h1`至`h6`、`p`、`div`等)、行级标签(如`span`、`b`、`strong`、`i`、`em`、`sub`、`sup`、`del`、`a`等),以及行块级标签(如`img`)。文章解释了这些标签的用途、特点和基本用法,并通过示例代码展示了如何在HTML文档中使用它们。
86 1
|
1月前
|
前端开发 程序员
【前端web入门第二天】01 html语法实现列表与表格_合并单元格
本文介绍了HTML中的列表与表格的使用方法。列表包括无序列表(`&lt;ul&gt;`嵌套`&lt;li&gt;`)、有序列表(`&lt;ol&gt;`嵌套`&lt;li&gt;`)和定义列表(`&lt;dl&gt;`嵌套`&lt;dt&gt;`和`&lt;dd&gt;`)。
52 19
|
1月前
|
前端开发 Windows
【前端web入门第一天】02 HTML图片标签 超链接标签 音频标签 视频标签
本文档详细介绍了HTML中的图片、超链接、音频和视频标签的使用方法。首先讲解了`&lt;img&gt;`标签的基本用法及其属性,包括如何使用相对路径和绝对路径。接着介绍了`&lt;a&gt;`标签,用于创建超链接,并展示了如何设置目标页面打开方式。最后,文档还涵盖了如何在网页中嵌入音频和视频文件,包括简化写法及常用属性。
42 13
|
1月前
|
前端开发 程序员 C++
【前端web入门第一天】01 开发环境、HTML基本语法文本标签
本文档详细介绍了HTML文本标签的基础知识。首先指导如何准备开发环境,包括安装VSCode及常用插件;接着全面解析HTML的基本结构与标签语法,涵盖从基本骨架搭建到注释的使用,以及标题、段落、换行和平行线、文本格式化等标签的具体应用,适合初学者循序渐进地掌握HTML。
|
1月前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
36 0

热门文章

最新文章