字体太棒了:我的计算机上的表情符号与实际网页上的图释不同

时间:2015-05-17 18:00:29

标签: html css font-awesome emoticons

我正在尝试在我的网页上添加来自academicons的ResearchGate表情符号,这是font-awesome的扩展。这是表情符号应该是这样的:enter image description here

我在计算机上打开index.htmluser/name/path/to/index.html)时效果很好,但是当我打开网页(www.blabla.bla.bl)时它无效。当然,我确实在服务器上多次复制(scp)我的整个目录(包括图片,css等)。我做了几次,现在已经等了10个小时,但显示仍然不正确。显示取决于我用于观看网页的Web浏览器。 Safari和GoogleChrome显示enter image description here,Firefox显示enter image description here。请注意,其他字体真棒图标工作正常。

以下是index.html中的代码

<li>
  <a href="https://www.researchgate.net/profile/MyName">
     <i class="ai ai-researchgate"></i>
  </a>
</li>

这段代码包含在uldivsocial-icons

这是我的style.css

.social-icons {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    /*background: #202020;
    border-top: 1px solid #1A1A1A;*/
    background: #2b2b2b;
    width: 250px;
    z-index: 2;
    height: 45px;
}

.social-icons ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.social-icons li {
    float: left;
    width: 33%;
    padding: 10px;
    text-align: center;
}

我不太明白font-awesome和academicons是如何工作的,但这里是在academicons.css中的代码

.ai-researchgate:before {
    content: "\e602";
}

您是否知道可能导致此行为的原因?

修改

    <link rel="stylesheet" href="css/academicons.css">
    <link rel="stylesheet" href="css/bootstrap.css">
    <link rel="stylesheet" href="css/font-awesome.min.css">  
    <link rel="stylesheet" href="css/perfect-scrollbar-0.4.5.min.css">
    <link rel="stylesheet" href="css/magnific-popup.css">
    <link rel="stylesheet" href="css/style.css">
    <link id="theme-style" rel="stylesheet" href="css/styles/default.css">

字体文件的链接位于.css文件中。

在font-awesome.css

@font-face{font-family:'FontAwesome';src:url('font/fontawesome-webfont.eot?v=3.2.1');src:url('font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}

在academicons.css上

@font-face {
    font-family: 'academicons';
    src:url('fonts/academicons.eot?j69par');
    src:url('fonts/academicons.eot?#iefixj69par') format('embedded-opentype'),
        url('fonts/academicons.woff?j69par') format('woff'),
        url('fonts/academicons.ttf?j69par') format('truetype'),
        url('fonts/academicons.svg?j69par#academicons') format('svg');
    font-weight: normal;
    font-style: normal;
}

1 个答案:

答案 0 :(得分:3)

最有可能的情况是,您的Web服务器未配置为提供大多数现代Web字体使用的MIME类型。因此,由于您可能无法重新配置服务器本身,因此您需要为每个项目添加一些服务器指令。

对于IIS,请使用web.config中的this answer指令:

<staticContent>
   <remove fileExtension=".woff" />
   <remove fileExtension=".eot" />
   <remove fileExtension=".ttf" />
   <remove fileExtension=".svg" />
   <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
   <mimeMap fileExtension=".ttf" mimeType="application/font-sfnt" />
   <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
   <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>

staticContent部分将在system.web部分中找到(或需要添加)。

对于Apache,将these directives添加到.htaccess文件中:

AddType application/vnd.ms-fontobject    .eot
AddType application/x-font-opentype      .otf
AddType image/svg+xml                    .svg
AddType application/x-font-ttf           .ttf
AddType application/font-woff            .woff