热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么font-awesome可以在本地主机上工作,而不能在web上工作?-Whyfont-awesomeworksonlocalhostbutnotonweb?

Imusingfontawesomeinmyproject(mvcasp.net).Myproblemis,Iwasdebuggingtheprojectandch

I'm using font awesome in my project(mvc/asp.net). My problem is, I was debugging the project and check on localhost, there was no problem with font awesome icons. But when published the website and check on web, instead of icons, i saw small boxes. I'm sure that it's placed in right directory(where css files placed).

我在我的项目(mvc/asp.net)中使用的字体很棒。我的问题是,我正在调试项目并检查localhost,字体很棒的图标没有问题。但当我发布网站并在网上查看时,我看到的不是图标,而是小盒子。我确信它被放在了正确的目录(css文件所在的位置)。

I couldn't find any proper solution.

我找不到合适的解决办法。

By the way there is also no problem with buttons. They are all ok but icons are gone.

顺便说一下,按钮也没有问题。它们都没问题,但是图标都没了。

Thanks

谢谢

9 个解决方案

#1


59  

I've just loaded your webpage and checked the net tab of firebug.

我刚刚加载了你的网页并检查了firebug的net选项卡。

your following urls returned a 404:

您的下列网址返回404:

http://www.senocakonline.com/Content/font/fontawesome-webfont.woff

http://www.senocakonline.com/Content/font/fontawesome-webfont.woff

http://www.senocakonline.com/Content/font/fontawesome-webfont.ttf

http://www.senocakonline.com/Content/font/fontawesome-webfont.ttf

i would assume that those being missing is the reason your icons aren't displaying.

我认为那些丢失的是你的图标不显示的原因。

UPDATE: 23.10.2015 to make it available just add this code to your WebConfig:

更新:23.10.2015要使其可用,只需将此代码添加到您的WebConfig中:


    
      
      
    

#2


33  

Why font-awesome works on debug mode but not on IIS?

为什么在调试模式下,而不是在IIS上,为什么会有很棒的工作呢?

In Visual Studio, by default, some font files are not including during Publish:

在Visual Studio中,默认情况下,有些字体文件在发布期间不包含:

  • .eot
  • .eot
  • .json
  • . json
  • .ttf
  • .ttf
  • .woff
  • .woff

This is because their build action is set to None, this is by default (on MVC, not sure on WebForms). You must go to the affected file's properties and set it from "None" to "Content".

这是因为他们的构建操作被设置为None,这是默认的(在MVC上,在WebForms上不确定)。您必须访问受影响文件的属性,并将其从“None”设置为“Content”。

enter image description here

This is how I solved it (not by manually dragging the files as some may suggest)

这就是我解决它的方法(不是像有些人建议的那样手动拖拽文件)

Credits goes to this guy: http://edsykes.blogspot.com/2012/09/aspnet-build-actions-with-ttf-eot-and.html

值得称道的是:http://edsykes.blogspot.com/2012/09/aspnet build-action -with-ttf-eot-and.html

#3


8  

I had the same problem. The solution:

我也有同样的问题。解决方案:

  1. Open CSS file and delete the current font-face section and replace with these:

    打开CSS文件,删除当前字体部分,并替换为:

    @font-face {
    
        font-family: FontAwesome;
        src: url('/Content/fonts/fontawesome-webfont.eot'), /*for IE */
             url('/Content/fonts/fontawesomewebfont.svg'),
             url('/Content/fonts/fontawesome-webfont.ttf'); /* for CSS3 browsers */
        font-weight: normal;
        font-style: normal;
    }
    

    (change the font-face values as you want)

    (根据需要更改字体值)

  2. Copy your ttf font file on your desktop then convert to eot

    在桌面上复制ttf字体文件,然后转换为eot

    http://www.kirsle.net/wizards/ttf2eot.cgi

    http://www.kirsle.net/wizards/ttf2eot.cgi

  3. Convert ttf font file to svg

    将ttf字体文件转换为svg

    http://www.freefontconverter.com/

    http://www.freefontconverter.com/

  4. Convert ttf font file to woff (optional)

    将ttf字体文件转换为woff(可选)

    http://ttf2woff.com/

    http://ttf2woff.com/

  5. Drag and drop these all fonts (ttf, eot, svg, woff... ) to your file location when Visual Studio 2012 is open.

    拖放这些字体(ttf、eot、svg、woff…)当Visual Studio 2012打开时,将其发送到您的文件位置。

  6. Publish your project

    发布您的项目

#4


7  

Another solution that solved this issue for me can be found here: https://stackoverflow.com/a/12587256/615285

另一个解决这个问题的解决方案可以在这里找到:https://stackoverflow.com/a/12587256/615285

Quoting from there:

引用:

The issue is most likely that the icons/images in the css files are using relative paths, so if your bundle doesn't live in the same app relative path as your unbundled css files, they become broken links.

问题很可能是css文件中的图标/图像使用的是相对路径,因此,如果您的bundle与未绑定的css文件不在同一个应用程序的相对路径中,那么它们将成为断开的链接。

The easist thing to do is to have your bundle path look like the css directory so the relative urls just work, i.e:

最简单的做法是让你的bundle路径看起来像css目录,这样相对url就可以工作了,例如:

new StyleBundle("~/Static/Css/bootstrap/bundle")

We have added support for this in the 1.1beta1 release, so to automatically rewrite the image urls, you can add a new ItemTransform which does this rebasing automatically.

我们在1.1beta1版本中添加了对它的支持,因此要自动重写图像url,您可以添加一个新的ItemTransform,该转换可以自动地进行重设。

bundles.Add(new StyleBundle("~/bundles/publiccss").Include(
            "~/Static/Css/bootstrap/bootstrap.css",
            "~/Static/Css/bootstrap/bootstrap-padding-top.css",
            "~/Static/Css/bootstrap/bootstrap-responsive.css",
            "~/Static/Css/bootstrap/docs.css", new CssRewriteUrlTransform()));

#5


2  

It depends on this code line in BundleConfig:

这取决于BundleConfig中的代码行:

        BundleTable.EnableOptimizatiOns= true;

if it is true, you have to change your Font files's path;

如果这是真的,你必须改变字体文件的路径;

../ is shows root path, main folder of your project. And then you have to write rest of the path.

. ./显示您的项目的主文件夹根路径。然后你要写下剩下的路径。

Mine. When it's true:

我的。当这是真的:

font-family: 'Icons';
    src:url('../_include/css/fonts/Icons.eot');
    src:url('../_include/css/fonts/Icons.eot?#iefix') format('embedded-opentype'),
        url('../_include/css/fonts/Icons.woff') format('woff'),
        url('../_include/css/fonts/Icons.ttf') format('truetype'),
        url('../_include/css/fonts/Icons.svg#Icons') format('svg');
    font-weight: normal;
    font-style: normal;

When it's false:

当它是错误的:

font-family: 'Icons';
    src:url('fonts/Icons.eot');
    src:url('fonts/Icons.eot?#iefix') format('embedded-opentype'),
        url('fonts/Icons.woff') format('woff'),
        url('fonts/Icons.ttf') format('truetype'),
        url('fonts/Icons.svg#Icons') format('svg');
    font-weight: normal;
    font-style: normal;

#6


1  

It is also a MIME TYPE problem in the IIS, just add the file extension .woff and it will work

这也是IIS中的MIME类型问题,只要添加文件扩展名.woff就可以了

#7


1  

this worked for me :

这对我起了作用:

I had to link the Directly URl

我必须直接链接URl

#8


0  

In my ASP.NET MVC project with bundling enabled in BundleConfig.cs what worked was this:

在我的ASP。NET MVC项目在BundleConfig中启用绑定。cs有效的是:

Open the file font-awesome.css and change @font-face to this:

font-awesome打开文件。css和change @font-face:

@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;
}

I had to add ../ before each url.

我不得不加上……/在每个url。

#9


0  

I had the same problem. Fonts were shown on local properly but when I uploded it to server, only blank squares were shown.
Sometimes it may happen because the filename mentioned in FontAwesome CSS file src attribute is different from the actual font file name. In my case I found it like this in fontawesome css file:

我也有同样的问题。字体被正确地显示在本地,但当我把它上传到服务器时,只显示了空白的方块。有时可能会发生,因为在FontAwesome CSS文件src属性中提到的文件名不同于实际的字体文件名。在我的案例中,我在fontawesome 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_aea8981c.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;
        }
        

But the actual font file names wese like these-
        font/fontawesome-webfont_2d2816fe.eot
        font/fontawesome-webfont_aea8981c.eot
        font/fontawesome-webfont_aea8981c.ttf
        font/fontawesome-webfont_aea8981c.woff
        

though the name didn't match properly in css file after underscore, it was working fine on local. So it was hard to tell what was the probable cause for that.
When I edited the name of file in FontAwesome css file src to the exact actual names, it worked.

尽管在css文件中,下划线之后的名称并不匹配,但是在本地版本中,它仍然运行良好。所以很难判断出可能的原因是什么。当我将FontAwesome css文件src中的文件名称编辑成确切的实际名称时,它成功了。


推荐阅读
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
  • 本文以 www.域名.com 为例,详细介绍如何为每个注册用户提供独立的二级域名,如 abc.域名.com。实现这一功能的核心步骤包括:首先,确保域名支持泛解析,即将 A 记录设置为 *.域名.com,以便将所有二级域名请求指向同一服务器。接着,在服务器端使用 ASP.NET 2.0 进行配置,通过解析 HTTP 请求中的主机头信息,动态识别并处理不同的二级域名,从而实现个性化内容展示。此外,还需在数据库中维护用户与二级域名的对应关系,确保每个用户的二级域名都能正确映射到其专属内容。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 如何设置域名默认301重定向至www前缀
    在进行域名默认301重定向至www前缀的操作前,确保你已经拥有一个有效的域名,并且该域名已正确解析到外部主机地址,能够正常访问网站。本文主要针对IIS 7及以上版本的用户,IIS 7之前的版本不适用。我们将详细介绍如何通过IIS管理器配置301重定向,确保所有请求都能自动跳转到带有www前缀的URL,从而提升网站的SEO效果和用户体验。 ... [详细]
  • 为了向用户提供虚拟应用程序,通常会在基础架构中部署StoreFront或Web Interface。为了确保安全的远程访问,通常需要在DMZ中配置Secure Gateway或Access Gateway。本文详细对比了这两种界面工具的功能特性,包括用户管理、安全性、性能优化等方面,为企业选择合适的解决方案提供了全面的参考。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • IIS配置大全:从基础到高级的全面指南
    IIS配置详解:从基础到高级的全面指南IIS前端配置与web.config文件紧密相关,相互影响。本文详细介绍了如何设置允许通过的HTTP请求方法,包括HEAD、POST、GET、TRACE和OPTIONS。提供了两种主要的配置方法,并探讨了它们在实际应用中的优缺点。此外,还深入讲解了其他高级配置选项,帮助读者全面提升IIS服务器的性能和安全性。 ... [详细]
  • IIS 7及7.5版本中应用程序池的最佳配置策略与实践
    在IIS 7及7.5版本中,优化应用程序池的配置是提升Web站点性能的关键步骤。具体操作包括:首先定位到目标Web站点的应用程序池,然后通过“应用程序池”菜单找到对应的池,右键选择“高级设置”。在一般优化方案中,建议调整以下几个关键参数:1. **基本设置**: - **队列长度**:默认值为1000,可根据实际需求调整队列长度,以提高处理请求的能力。此外,还可以进一步优化其他参数,如处理器使用限制、回收策略等,以确保应用程序池的高效运行。这些优化措施有助于提升系统的稳定性和响应速度。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 自定义滚动条美化页面内容
    当页面内容超出显示范围时,为了提升用户体验和页面美观,通常会添加滚动条。如果默认的浏览器滚动条无法满足设计需求,我们可以自定义一个符合要求的滚动条。本文将详细介绍自定义滚动条的实现过程。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 通过以下步骤可以确定SharePoint网站集对应的W3WP进程及其运行状态:首先,打开命令提示符(CMD),然后输入 `iisapp` 命令,该命令将列出当前IIS中所有Web应用程序及其对应的w3wp.exe进程。此外,还可以使用任务管理器或PowerShell脚本来进一步检查这些进程的详细信息和运行状态,以确保网站集的正常运行。 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
author-avatar
U曹宸prideX_J
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有