Hui-iconfont字符图标不显示或显示异常。

本文解决Hui-iconfont字符图标在动态加载时显示异常的问题,通过在jsp页面上添加字体库的全路径,确保图标能正确显示,避免路径加载失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hui-iconfont字符图标不显示或显示异常。

近期在做项目时发现Hui-iconfont字符图标,感觉很方便,并且占用空间小,加载快等有点。就决定采用了。
可是在加载图标时通过后台动态加载时显示总是异常。如下图hui-iconfont图标显示异常。
这个问题困扰了我挺久的。最后终于找到解决办法
解决办法:在你的jsp页面加上字体库的全路径。
如下:

<style type="text/css">
 @font-face {font-family: "Hui-iconfont";
  src: url('${pageContext.request.contextPath }/lib/Hui-iconfont/1.0.8/iconfont.eot'); /* IE9*/
  src: url('${pageContext.request.contextPath }/lib/Hui-iconfont/1.0.8/iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('${pageContext.request.contextPath }/lib/Hui-iconfont/1.0.8/iconfont.woff') format('woff'), /* chrome、firefox */
  url('${pageContext.request.contextPath }/lib/Hui-iconfont/1.0.8/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
  url('${pageContext.request.contextPath }/lib/Hui-iconfont/1.0.8/iconfont.svg#Hui-iconfont') format('svg'); /* iOS 4.1- */
} 
</style>

然后解决问题。
在这里插入图片描述

分析一下。应该是在原来的iconfont.css里的


    @font-face {font-family: "Hui-iconfont";
  src: url('iconfont.eot'); /* IE9*/
  src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('iconfont.woff') format('woff'), /* chrome、firefox */
  url('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
  url('iconfont.svg#Hui-iconfont') format('svg'); /* iOS 4.1- */
}

路径加载失败导致的。所以要写全路径即可。
备注:我试着在iconfont.css里加全路径,发现解决依旧显示异常。原因我还没找到,如果你找到原因,请告知我,多谢。

### 关于 Iconfont 中 `` 的配置与使用 Iconfont 是阿里巴巴推出的一个矢量图标管理平台,允许开发者通过 Unicode 字符编码的方式调用图标资源。对于 `` 这样的字符编码,在实际项目中的配置和使用可以分为以下几个方面: #### 1. 引入 Iconfont 资源文件 为了能够正常使用 `` 对应的图标,首先需要引入对应的字体文件(通常是一个 `.css` 文件)。可以通过以下方式完成: - **在线引入** 将 Iconfont 提供的 CSS 地址直接嵌入到 HTML 文件中: ```html <link rel="stylesheet" href="//at.alicdn.com/t/font_XXXXXX.css"> ``` - **本地引入** 如果希望减少对外部网络的依赖,可以选择下载并托管该 CSS 文件至本地服务器。 上述操作完成后即可加载所需的字体库[^2]。 #### 2. 使用 Unicode 方式展示图标 在 HTML 结构中可以直接利用 `<i>` 标签配合类名以及具体的 Unicode 编码来显示目标图标。例如针对 `` 可以这样实现: ```html <div class="itemInfo"> <i class="iconfont"></i> <p>这是  所代表的图标</p> </div> ``` 这里需要注意的是,`class="iconfont"` 类名来源于之前导入的样式表定义;而实体内容部分则填写具体想要呈现的那个 unicode 值。 #### 3. React 环境下的应用实例 当处于 React 开发场景下时,除了传统的 HTML 插入法之外还可以采用 JSX 表达式的写法来进行渲染: ```jsx import React from 'react'; function App() { return ( <div className="itemInfo"> {/* 使用 dangerouslySetInnerHTML 属性 */} <i className="iconfont" dangerouslySetInnerHTML={{__html:''}}></i> <p>React 组件内的 iconfont 示例 ()</p> </div> ); } export default App; ``` 此代码片段展示了如何在一个基于函数组件模型构建的应用程序里安全地注入包含特殊字符的数据流。 另外值得注意的一点是,尽管两个同的 symbol 实例可能拥有相同的描述字符串,但由于它们各自独立存储的缘故所以彼此之间并相等——这表明即使两者的名称看起来一样但实际上还是有所区别的[^3]。过这一特性主要适用于 JavaScript 内部机制讨论范畴之内,并会直接影响到我们前面提到过的有关 iconfont 的话题上。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值