这个组件在我所开发的网站中被大量使用,为网站增色不少。在本地测试的时候所有图标都能显示出来,可一到服务器上就显示不出来了。网上查列出了可能的原因。其一,IIS没有注册字体类型。经过检查,不存在这个问题。其二,css路径不对,其三引用字体路径不对。我有点纳闷,在本地可是能正确显示的。查看了本地和服务器fontawesome图标字体库css 及字体所在的目录都存在。这会是哪里的问题。使用浏览器的审查元素功能,发觉字体所在路径是网站根目录/fonts下。图示如下:

显示的是404错误。这与本地路径不一致啊。本地我fontawesome组件所在路径为:/scripts/plugins/font-awesome4.5.0

其中引用的css文件路径为:/scripts/plugins/font-awesome4.5.0/css/font-awesome.css

字体路径:/scripts/plugins/font-awesome4.5.0/fonts

在font-awesome.css 对字体的引用是这样:

@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?v=4.5.0');
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}

这在本地显示的字体路径是:
/scripts/plugins/font-awesome4.5.0/fonts/fontawesome-webfont.woff2?v=4.5.0

怎么到服务器上字体路径变为根目录的fonts 下了。想到可能是asp.net mvc 的打包压缩 css 和 js 文件造成的。但是是如何造成的,并不清楚。于是我就做了下研究,想查明为什么造成这种调用字体路径的不同。

查看服务器页面中调用的css 路径:/Content/basicCSS?v=68kc9-tXFbzdxgI98GIy_1pZTFRgNY9I60WxOBqeEmo1

然后打开这个路径所在的css 文件,查找 fontawesome 字体引用的代码:

@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?
查到了这个。这一分析,还真找到了错误的原因。font-awesome 组件的相关 css 代码,在服务器上被打包到虚拟目录/Content/basicCSS 下。而这个文件中引用的有关字体代码是../fonts/fontawesome-webfont.eot ,向上了一个目录。那正好是根目录下的fonts文件夹下。这就解释通为什么服务器上引用字体文件是在根目录下的 fonts 文件夹下了。知道了错误原因,于是我把/scripts/plugins/font-awesome4.5.0/fonts 下的字体文件复制到根目录下 fonts 文件夹下一份,上传到服务器上。经过测试,相关的图片能正确显示了。问题解决

fontawesome图标字体库组件在服务器上显示不出来图标的解决的更多相关文章

  1. Android 使用图标字体库

    首先,在assets资源文件下放入图标字体库. 我这儿采用的是fontawesome-webfont.ttf 然后, 在安卓中加载这个资源文件 Typeface fontFace = Typeface ...

  2. Font Awesome,一套绝佳的图标字体库和CSS框架

    http://fontawesome.dashgame.com/ http://www.runoob.com/font-awesome/fontawesome-tutorial.html Font A ...

  3. font awesome (图标字体库)

    Font Awesome fa是什么? 图标字体库和CSS框架 怎么用? <link rel="stylesheet" href="https://cdn.boot ...

  4. 【css】最近使用的两种图标字体库

    ## 0. 前言 比较基础的图标加载:<img src="x.png">和块元素的背景background: url(./x.png). 页面多图标时,使用雪碧图(多个 ...

  5. Windows Server 2012 R2在桌面上显示计算机/网络图标

    原文 Windows Server 2012 R2在桌面上显示计算机/网络图标 从Windows2012开始,微软取消了服务器桌面个性化选项,如何重新调出配置界面,可以使用微软命令调出.具体方法如下: ...

  6. Bootstrap做的HTML页面在本地IE打开正常,放到服务器上显示就不正常了

    <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Com ...

  7. 如何制作图标字体(如何将svg转换为css可用的图标字体)

    转自: 如何制作图标字体(如何将svg转换为css可用的图标字体) 具体描述 在项目开发当中,我们常常遇到需要将获取到的svg转换为,css可用的图标字体,那么具体该如何进行操作呢 具体操作 登录ic ...

  8. FontAwesome 图标字体库的使用

    在前端开发中,许多新手常会遇见一个问题,参考的网页上有类似下图的图标,但在资源里却找不到对应的文件,这是因为这些网页使用了图标库.这里介绍一种常见的图标库——FontAwesome的使用. 1.登录F ...

  9. 分享一组矢量图标–UX图标字体库

    以下内容转自:http://ux.etao.com/,原文链接:http://ued.alimama.com/posts/219 科技日新月异的今天,市面上各种分辨率.各种显示精度的显示设备层出不穷, ...

随机推荐

  1. jenkins(1): jenkins安装以及从gitlab拉取代码

    1. gitlab前面已经写过了,自己去参考 https://www.cnblogs.com/yitianyouyitian/p/9214940.html 2. jenkins安装 2.1 jdk 安 ...

  2. BZOJ3560 DZY Loves Math V 数论 快速幂

    原文链接http://www.cnblogs.com/zhouzhendong/p/8111725.html UPD(2018-03-26):蒟蒻回来重新学数论了.更新了题解和代码.之前的怼到后面去了 ...

  3. List接口相对于Collection接口的特有遍历方法

    package com.hxl; import java.util.ArrayList; import java.util.List; public class Test { public stati ...

  4. LRU缓存,大神写的,值得借鉴

    http://blog.csdn.net/beiyeqingteng/article/details/7010411

  5. img-html-2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. SVM:SVM之Classification根据已有大量数据集案例,输入已有病例的特征向量实现乳腺癌诊断高准确率预测—Jason niu

    load BreastTissue_data.mat n = randperm(size(matrix,1)); train_matrix = matrix(n(1:80),:); train_lab ...

  7. SpringBoot启动banner更改

    这篇文章的开始先给大家看一个图片 用过或者看过springboot的人都知道,这就是springboot启动的banner,这一篇介绍如何自定义springboot的启动bannner. 先介绍一个可 ...

  8. C# SQLiteHelper

    using System; using System.Data; using System.Data.Common; using System.Data.SQLite; using System.IO ...

  9. UVA 1590 IP Networks JAVA

    题意:输入m代表接下来的数据个数,计算接下来输入数据的网络掩码,和最小网络地址. 思路:①子网掩码:先将数据转为二进制,判断从哪一位开始有数据不一样,记下下标index,则子网掩码是index的前面是 ...

  10. 1014 Uniform Generator ACM

    http://acm.hdu.edu.cn/showproblem.php?pid=1014 题目的英文实在是太多了 ,搞不懂. 最后才知道是用公式seed(x+1) = [seed(x) + STE ...