【问题标题】:Chrome App, Bootstrap Icons, how to load Glyphicons Halflings.woffChrome 应用程序,引导图标,如何加载 Glyphicons Halflings.woff
【发布时间】:2014-09-17 06:36:52
【问题描述】:

我正在构建一个 chrome 打包的应用程序,并且想使用 Bootstrap。

Bootstrap 具有提供一些图标的 Glyph Halflings 字体。

当我包含 boostrap.css 时,我从未在开发工具的网络选项卡中看到加载的字体文件。

阅读其他帖子,我尝试了这个,但我无法在我的应用程序或网络选项卡中看到。字体永远不会加载:

/* Assist for Bootstrap icons */
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url("data:font/woff;charset=utf-8;base64,d09GRgABAAAAAFsYABEAAAAAoU...VLmWK4AAA==") format('woff');
}

还尝试了 mime 类型 application/font-woffapplication/x-font-woff 也试过了:

src: data-uri(~'@{fonts}@{glyphicons-halflings-regular}.woff') format('woff')
src: data-uri(~'@{fonts}@{glyphicons-halflings-regular}.woff') format('woff')

我的字体在 /fonts/glyphicons-halflings-regular.woff ttf、oet 和 svg 也是选项。

我正在通过查找图标并在开发工具的网络选项卡中查找任何流量来对此进行测试。

Chrome 打包应用中如何包含字体?

解决方案

Chrome 没有问题。我在 CSS (BS3) 中使用了错误的 HTML (BS2)

【问题讨论】:

    标签: twitter-bootstrap font-face google-chrome-app


    【解决方案1】:

    尝试将mime类型设置为application/font-woff,如下:

    @font-face {
      font-family: 'Glyphicons Halflings';
      src: url("data:application/font-woff;base64,d09GRgABAAAAAFsY....==") format('woff');
    }
    

    以上应该可以工作,另请参阅:http://caniuse.com/#feat=woff

    更少的代码:

    @font-face {
      font-family: 'Glyphicons Halflings';
      src: data-uri(~'@{icon-font-path}@{icon-font-name}.woff') format('woff')
    }
    

    请注意,您还必须设置其他与字体相关的类:

    // Catchall baseclass
    .glyphicon {
      position: relative;
      top: 1px;
      display: inline-block;
      font-family: 'Glyphicons Halflings';
      font-style: normal;
      font-weight: normal;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    
    // Individual icons
    .glyphicon-asterisk               { &:before { content: "\2a"; } }
    // and so on 
    

    【讨论】:

    • 嘿,巴斯,很抱歉我是个白痴,但这对我不起作用。我用我尝试的更多东西更新了这个问题。我正在使用 bootstrap 3 的 bootstrap.css。这不处理其余的 CSS,我只需要修复字体吗?
    • 如果您使用默认 CSS,则 icon-font-path 设置为 ../fonts,这意味着如果您的 CSS 在 {root}/css/boostrap.less 中,您的字体文件应该在 {root}/fonts/ 中。我不知道你为什么使用data-uri 而不是url() 的字体。但是data-uri 也应该可以工作。也许你只用 data-uri 覆盖 woff 并加载你的浏览器由引导 CSS 设置的其他字体类型,它指向一个不存在的文件?
    • 使用 Chrome 开发工具的网络选项卡查看对 .woff 的请求是否成功。如果没有,那是你的问题。
    • @sowbug 浏览器中正在发生无字体请求。所以这就是问题所在,但是如何解决呢?
    • 啊……也许这是为了使用 LESS 编译自定义版本的 bootstrap.css。我会看看那个。
    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 2021-12-16
    • 2012-03-18
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 2014-05-12
    相关资源
    最近更新 更多