前端祖传三件套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 的支持


目录
相关文章
|
13天前
|
人工智能 前端开发 JavaScript
前端基础之HTML
Web1.0、Web2.0 和 Web3.0 标志着互联网发展的三个阶段。Web1.0(静态互联网,1990年代初至2000年代初)以静态内容和单向信息流为主,用户仅能浏览。Web2.0(互动互联网,2000年代初至2010年代初)引入了用户生成内容和社交网络,内容动态且互动性强。Web3.0(语义互联网,2010年代至今)强调语义化、个性化、智能化及去中心化,结合AI、区块链等技术,提供沉浸式体验。HTTP和HTML作为互联网基础协议和技术,在各阶段不断演进,共同推动了现代互联网的发展。
前端基础之HTML
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
48 6
|
4月前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
55 1
前端基础(十七)_HTML5新特性
|
4月前
|
移动开发 前端开发 JavaScript
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
本文介绍了Twaver HTML5中的HTML节点(HTMLNode),这是一种专门用于呈现HTML元素的网元。文章解释了HTMLNode如何继承自Node并具有所有Node的特点,以及如何通过setName()方法将HTML元素作为网元的LabelAttachment或者AlarmAttachment呈现。示例代码展示了如何在React组件中创建HTMLNode并添加HTML元素,以及如何自定义告警显示样式。
35 1
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
|
3月前
|
XML 前端开发 JavaScript
前端开发进阶:从HTML到React.js
【10月更文挑战第9天】前端开发进阶:从HTML到React.js
|
3月前
|
前端开发 JavaScript 数据安全/隐私保护
【前端基础篇】HTML零基础速通2
【前端基础篇】HTML零基础速通
30 2
|
3月前
|
Web App开发 移动开发 前端开发
【前端基础篇】HTML零基础速通1
【前端基础篇】HTML零基础速通
39 1
|
4月前
|
XML 移动开发 前端开发
HTML5 SVG
SVG(可缩放矢量图形)是HTML5中的一种XML标记语言,用于描述二维图形。它具有可缩放性,能无缝集成CSS和JavaScript,适合网络应用。SVG支持多种基本图形元素(如矩形、圆形、路径等),并通过属性控制外观。此外,SVG还支持变换、文本渲染及动画效果,文件大小通常较小且不失真,但复杂图形可能导致管理困难,部分旧版浏览器可能存在兼容性问题。总之,SVG是现代Web开发中创建动态和响应式界面的强大工具。
|
4月前
|
XML 移动开发 前端开发
HTML5 SVG和canvas的性能探讨
HTML5 中的 SVG(可缩放矢量图形)和 Canvas(画布)分别用于网页图形绘制。SVG 基于矢量图形,使用 XML 描述,适合静态或少量动态内容(如图标、图表),易于编辑且保持高分辨率;Canvas 则基于位图,通过 JavaScript 绘制,更适合快速更新大量图形的场景(如游戏、动态动画),但在复杂图形计算时可能遇到性能瓶颈。总体而言,SVG 适用于静态和少量动态内容,而 Canvas 更适合高频率更新和性能要求高的场景。
|
4月前
|
前端开发
前端基础(二)_HTML常用标签(块级标签、行级标签、行块级标签)
本文详细介绍了HTML中的常用标签,包括块级标签(如`h1`至`h6`、`p`、`div`等)、行级标签(如`span`、`b`、`strong`、`i`、`em`、`sub`、`sup`、`del`、`a`等),以及行块级标签(如`img`)。文章解释了这些标签的用途、特点和基本用法,并通过示例代码展示了如何在HTML文档中使用它们。
253 1