草庐IT

php - 自定义字体不会出现。浏览 MIME、函数和字体系列。没有运气

coder 2024-04-07 原文

使用 WordPress 网站。我可以将字体链接插入浏览器的网址栏和字体自动下载,因此我相信它已正确链接。

我的自定义字体文件夹中的单独样式表中包含所有自定义字体,我使用@import 链接到该文件夹​​,它们出现在我的浏览器源代码中,因此我认为可以检查。现在,在进行故障排除时,我将一种字体直接放在我的主子主题 CSS 文件中。我将在下面包含该代码。

 @font-face {
   font-family: 'Blackout Sunrise';
   scr: url('blackout_sunrise-webfont.eot');
   scr: url('blackout_sunrise-webfont.eot?#iefix') format('embedded-opentype'),
     url('blackout_sunrise-webfont.woff') format('woff'),
     url('blackout_sunrise-webfont.ttf') format('truetype'),
     url('blackout_sunrise-webfont.svg') format('svg');
   font-weight: normal;
   font-style: normal;
 }

我花了一整天的时间阅读和观看视频,试图了解可能是什么问题。这让我想到了 MIME。我在托管 Apache 和 nginx 设置中添加了自定义 MIME 类型。我还在我的 .htaccess 文件顶部添加了这些相同的 MIME 类型,我认为这是我网站的根目录,就在“# BEGIN WordPress”上方。以下是我在两个位置添加它们的方法:

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

运气不好。在一个论坛上,他们说您可能需要在 functions.php 中添加新的 MIME 类型支持,所以我将下面的代码添加到我的子主题中:

  function my_myme_types($mime_types){
    $mime_types['eot'] = 'application/vnd.ms-fontobject'; //Adding avi extension
    $mime_types['ttf'] = 'font/ttf';
    $mime_types['otf'] = 'font/otf';
    $mime_types['woff'] = 'application/x-font-woff';
    $mime_types['svg'] = 'image/svg+xml';
    $mime_types['svgz'] = 'image/svg+xml';
    return $mime_types;
  }
  add_filter('upload_mimes', 'my_myme_types', 1, 1);

仍然没有。我不知道下一步该尝试什么,也不知道我可能哪里出错了。今天花了 8 个小时试图解决这个问题。我正在使用 child 主题。 .htaccess 是否在正确的位置,我需要创建一个新的吗?如果我找到解决方案,我会在明天发布。任何帮助将不胜感激。 (认为​​这将是简单的部分)

8/27/16 - 进展。

今天探索了更多。我移动了字体以减少文件路径错误的可能性。一些论坛在 url 的括号内使用引号,而其他论坛则没有。我都试过了。一个论坛引起了人们对文件“读写”权限的关注。 “我”具有读写权限,我将“员工”更改为也具有读写权限,按照论坛的建议将“所有人”保留为只读。然后我将文件重新上传到服务器。没有解决问题。

这是一篇很棒的文章:http://nicewebtype.com/notes/2009/10/30/how-to-use-css-font-face/

我没有在我的@font-face 中声明 svg #id,他们使用了一种不同的技术来对抗 IE,这似乎更有效。这是我现在所在的位置:

@font-face {
  font-family: 'Blackout Sunrise';
  scr: url('type/blackout_sunrise-webfont.eot');
  scr: local("☺"),
    url('type/blackout_sunrise-webfont.woff') format('woff'),
    url('type/blackout_sunrise-webfont.ttf') format('truetype'),
    url('type/blackout_sunrise-webfont.svg#BlackoutSunrise') format('svg');
  font-weight: normal;
  font-style: normal;
}

.practice-font h3 {
  font-family: 'Blackout Sunrise';
  color: #8b0000;
  text-transform: uppercase;
  border: 1px solid green;
  letter-spacing: 3px;
}

我还发现,由于以下信息,我可能将 MIME 命名为错误:http://www.jbarker.com/blog/2009/mime-type-css-web-fonts

所以我在我的托管 Apache 和 nginx 设置和根 htaccess 文件中上传了这两个新的 MIME 类型另外到上述 MIME 类型。

AddType application/vnd.ms-fontobject .eot
AddType application/octet-stream .otf .ttf 

论坛讨论了自定义字体加载速度慢的问题,如果浏览器加载时间过长,他们就会加载默认字体。不知道如何检查。

我上传了一个谷歌字体并使用了 typekit,并在几分钟内让它们工作。仍然不知道我在这些@font-faces 上做错了什么

最佳答案

scr: url('blackout_sunrise-webfont.eot');
scr: url('blackout_sunrise-webfont.eot?#iefix') format('embedded-opentype')

注意scr。应该有src

但是,这可能只是第一期。

关于php - 自定义字体不会出现。浏览 MIME、函数和字体系列。没有运气,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176888/

有关php - 自定义字体不会出现。浏览 MIME、函数和字体系列。没有运气的更多相关文章

  1. ruby - Facter::Util::Uptime:Module 的未定义方法 get_uptime (NoMethodError) - 2

    我正在尝试设置一个puppet节点,但ruby​​gems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由ruby​​gems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby

  2. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  3. ruby - Highline 询问方法不会使用同一行 - 2

    设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案

  4. ruby-on-rails - form_for 中不在模型中的自定义字段 - 2

    我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢

  5. ruby - 主要 :Object when running build from sublime 的未定义方法 `require_relative' - 2

    我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby​​1.9+ 关于ruby-主要:Objectwhenrun

  6. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  7. ruby - 在 Ruby 中有条件地定义函数 - 2

    我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin

  8. ruby - 定义方法参数的条件 - 2

    我有一个只接受一个参数的方法:defmy_method(number)end如果使用number调用方法,我该如何引发错误??通常,我如何定义方法参数的条件?比如我想在调用的时候报错:my_method(1) 最佳答案 您可以添加guard在函数的开头,如果参数无效则引发异常。例如:defmy_method(number)failArgumentError,"Inputshouldbegreaterthanorequalto2"ifnumbereputse.messageend#=>Inputshouldbegreaterthano

  9. ruby - 如何在 Grape 中定义哈希数组? - 2

    我使用Ember作为我的前端和GrapeAPI来为我的API提供服务。前端发送类似:{"service"=>{"name"=>"Name","duration"=>"30","user"=>nil,"organization"=>"org","category"=>nil,"description"=>"description","disabled"=>true,"color"=>nil,"availabilities"=>[{"day"=>"Saturday","enabled"=>false,"timeSlots"=>[{"startAt"=>"09:00AM","endAt"=>

  10. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

随机推荐