我正在尝试使用Phonegap创建一个带有图标的自定义按钮。

我使用https://github.com/topcoat/icons和www.icomatic.io来创建图标。
然后,将生成的icomatic文件保存在www/css/icomatic文件夹中。

由于某些原因,以下代码在我的普通(chrome)网络浏览器中有效(显示图标),但在我的手机上不起作用(它仅显示带照相机字样的按钮):

<button class="topcoat-icon-button" id="takePicture">
    <span class="topcoat-icon icomatic">camera</span>
</button>

我在wwww/css/icomatic.css文件夹中使用icomatic.css。 CSS是:
src: url('icomatic.eot');
src: url('icomatic.eot?#iefix') format("embedded-opentype"),
     url('icomatic.woff') format("woff"),
     url('icomatic.ttf') format("truetype"),
     url('icomatic.svg#icomatic') format('svg');

像这样引用:
<link rel="stylesheet" type="text/css" href="css/icomatic/icomatic.css"/>

谢谢!

//编辑:
似乎此问题专门在某些设备/软件(Android 4.3,Xperia Z)上发生

在我尝试过的另一台android设备上,相机图标正常显示。

最佳答案

在icomatic.css文件的顶部,当我将字体定义更改为首先使用SVG格式时,它解决了该问题。我猜想Android 4.3尚不完全支持EOT类型的字体。

@font-face {
font-family: 'Icomatic';
src: url('icomatic.svg#icomatic') format('svg');
src: url('icomatic.eot?#iefix') format("embedded-opentype"),
     url('icomatic.woff') format("woff"),
     url('icomatic.ttf') format("truetype"),
     url('icomatic.svg#icomatic') format('svg');
}

09-28 01:10