当前位置:首页 > 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 动态添加类名。

示例:动态添加字体图标

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

使用 Canvas 绘制

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

示例:绘制简单图标

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 引入。

    js实现图标

    <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实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js 实现递归

js 实现递归

递归的基本概念 递归是指函数直接或间接调用自身的过程。在JavaScript中,递归通常用于解决可以分解为相似子问题的问题,如阶乘、斐波那契数列、树形结构遍历等。 递归的实现要点 基线条件(Base…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…

js 实现全屏

js 实现全屏

使用 requestFullscreen 方法 通过调用元素的 requestFullscreen 方法可以实现全屏。该方法兼容现代浏览器,但不同浏览器可能需要前缀。 const element =…

js实现乘法

js实现乘法

实现乘法运算的方法 在JavaScript中实现乘法运算可以通过多种方式完成,以下列举几种常见方法: 基础运算符 直接使用乘法运算符*是最简单的方式: let result = 3 * 5; //…