Several ways to introduce font ICONS in HTML/CSS

使用 @font-size

(1)使用阿里 iconfont 下载代码,如下
image2021-10-26_15-42-22.png

,也可以选择添加至项目,这样会创建一个自定义文件夹,方便你后续新增下载图标

(2)解压下载代码后打开文件夹,把红色框中后缀为.ttf,woff,woff2的文件放入你项目中的font文件夹,红色圈的iconfont.css放入你项目中的css文件夹

image2021-10-26_15-45-15.png

(3) 在项目中引入iconfont.css


image.png

在页面中如下图使用字体图标对应class即可


image.png

(4)如果按照上述步骤依然无法显示字体图标,看看iconfont.css中红色框部分路径是否改为了你项目的路径
改之前:

image.png

改之后:


image.png

(5)如果此时仍然无法显示字体图标,看看是不是下面这种情况**

下载代码后默认confront.css的@font-face如下显示

image.png

上面我也说了,需要把url里的默认路径改为我们本地的路径,关键来了,不要像下面这样改,就是不要看到format里面是woff2,

就把前面字体文件路径引入woff2,后面依次类推

image.png

就按照引入字体文件路径时默认弹出的这个顺序引入即可


image.png
image.png

(6) 另外,如果你按上述步骤创建了自定义项目文件夹,并下载了所需字体图标,后来项目需要又要增加新的字体图标这种情况,

需要把新增字体图标也放进之前创建的自定义项目文件夹,然后重新下载代码,并替换下面字体文件和confront.css

image.png

使用SVG

  1. 插入svg标签, 直接使用 <svg> 标签插入内容到网页中,成为DOM的一部分,然后可以使用CSS和JS进行控制。

    <svg width="400" height="300" id="testSvg">
    <circle cx="100" cy="100" r="50" id="testCircle">
    <animate attributeName="cx" from="100" to="300" dur="2s" repeatCount="indefinite"></animate>
    </circle>
    </svg>

    //可以用JS操作SVG,制作简单的动画等

    <script type="text/javascript">
    var circle = document.getElementById("testCircle");
    circle.addEventListener("click", function(e) {
    console.log("Click circle ...");
    circle.setAttribute("r", 65);
    }, false);
    </script>

    效果:
    image.png
   2\. 插入svg文件: 可以使用 `<img>` `<embed>` `<object>` `<iframe>` 等标签把SVG文件插入到网页中。

     //使用<img>标签
     <img src="test.svg'" />
    //或者SVG的base64编码
    <img src="data:image/svg+xml;base64,[data]" />

    //使用<embed>标签
    <embed id="embedSvg" type="image/svg+xml" src="test.svg"></embed>
    //获取SVG DOM
    var embedSvg = document.getElementById("embedSvg").getSVGDocument();
    console.log("SVG DOM: ", embedSvg);

   //使用<object>标签
   <object id="objectSvg" type="image/svg+xml" data="test.svg"></object>
   //获取SVG DOM
     var objectSvg = document.getElementById("objectSvg").getSVGDocument();
    console.log("SVG DOM: ", objectSvg);

    //使用<iframe>标签
   <iframe id="iframeSvg" src="test.svg"></iframe>
   //获取SVG DOM
   var iframeSvg = document.getElementById("iframeSvg").contentDocument;
   console.log("SVG DOM: ", iframeSvg);

  3.把svg作为其他网页元素的背景图片: 这是一种变相的把svg插入网页的方式,即把svg作为普通的图片使用,无法展示动画效果。

     <style type="text/css">
     .svg-div {
        width:400px;
       height:300px;
       background:url("test.svg") no-repeat center / 50%;
       border:1px solid #ccc;
      }
     </style>

     <div class="svg-div"></div>

  4.读取svg源码: 因为SVG文件实质上就是一段XML文本,因此可以通过读取XML代码的方式,读取SVG源码

     var svgStr = new XMLSerializer().serializeToString(document.getElementById("testSvg"))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、CSS中的属性和取值 1.文本类属性: text-align属性:此标签内容的水平对齐方式,内容须为具体文字/...
    刘远舟阅读 550评论 0 1
  • 本地目录: 1.iconmoon.io使用教程 2.iconfont.cn使用教程 3.如何不通过iconfont...
    前端辉羽阅读 3,084评论 0 7
  • 1. 介绍 webpack是一个模块打包(module bundler)工具。 A bundler for jav...
    nimw阅读 790评论 0 1
  • 第一章 Bootstrap简介 定义 Bootstrap官网给出的解释是:简洁、直观、强悍、移动设备优先的前端开发...
    lvyweb阅读 1,391评论 1 10
  • 第一个网页 Emmet插件:自动生成HTML代码片段 注释 注释为代码的阅读者提供帮助,注释不参与运行 在HTML...
    炎鸿阅读 543评论 0 0