当前位置:首页 > JavaScript

js实现图标

2026-04-05 10:14:38JavaScript

使用 SVG 图标

SVG(可缩放矢量图形)是图标实现的常见选择,支持无损缩放和动态修改。通过 <svg> 标签直接嵌入 HTML,或通过 JavaScript 动态创建。

示例:动态创建 SVG 图标

const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svg.setAttribute("width", "24");
svg.setAttribute("height", "24");
svg.innerHTML = '<path d="M12 2L4 12l8 10 8-10z" fill="currentColor"/>';
document.body.appendChild(svg);

使用 Icon Fonts

通过引入字体库(如 Font Awesome),用 CSS 类名快速渲染图标。需加载字体文件后,通过 <i> 标签或 JavaScript 动态添加类名。

js实现图标

示例:动态添加字体图标

const icon = document.createElement("i");
icon.className = "fa fa-heart"; // Font Awesome 类名
document.body.appendChild(icon);

使用 Canvas 绘制

适合需要动态交互或复杂绘制的场景。通过 Canvas API 绘制矢量或位图图标。

js实现图标

示例:绘制简单图标

const canvas = document.createElement("canvas");
canvas.width = 24;
canvas.height = 24;
const ctx = canvas.getContext("2d");
ctx.fillStyle = "red";
ctx.beginPath();
ctx.arc(12, 12, 10, 0, Math.PI * 2);
ctx.fill();
document.body.appendChild(canvas);

使用第三方库

  • React 生态react-icons 提供多套图标库的封装。

    import { FaReact } from "react-icons/fa";
    // 直接作为组件使用 <FaReact />
  • 通用库Iconify 支持 100+ 图标集,可通过 CDN 或 npm 引入。

    <script src="https://code.iconify.design/iconify-icon/1.0.7/iconify-icon.min.js"></script>
    <iconify-icon icon="mdi:heart"></iconify-icon>

注意事项

  • 性能:SVG 和 Icon Fonts 适合静态图标,Canvas 适合动态效果。
  • 可访问性:为图标添加 aria-label 或隐藏文本(如 span.sr-only)。
  • 主题适配:使用 currentColor 让 SVG 继承父元素颜色,便于暗色模式切换。

标签: 图标js
分享给朋友:

相关文章

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…