@ font-face嵌入字体未显示在Android浏览器选择标记中

时间:2012-09-03 16:51:19

标签: html5 css3 webkit font-face android-browser

我在网页中使用@ font-face嵌入式ttf字体。

问题是每当我用它来显示select标签中的项目或选项时,除了当前所选项目之外的所有内容在Android浏览器中都会显示为乱码。当我在Chrome等桌面浏览器中试用它时,它会正常显示。

截图:

在桌面Chrome中正确显示:

Properly displayed in desktop Chrome http://img339.imageshack.us/img339/8676/pro1n.jpg

在Android浏览器中无法正常显示:

inactive select android browser http://img59.imageshack.us/img59/4025/pro2d.jpg

当我点击Android浏览器中的选择时显示的是Gibberish:

inactive select android browser http://img833.imageshack.us/img833/1461/pro3d.png

我使用以下CSS嵌入字体:

@font-face{
font-family: "MyFont";
src: url('../fonts/MyFont.ttf')  format('truetype');
}

以及将字体应用于select标记的以下CSS规则:

select{
font-family: MyFont !important;
font-size: 16px;
}

select option{
font-family: MyFont !important;
font-size: 16px;
}

我在整个网页上使用了相同的字体,除了select标签之外,它在任何地方都正常工作。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你做不到。浏览器正在尝试做正确的事情,但是本机控件不使用默认系统之外的其他字体。

这可能是在较新版本的Android或Android上的其他浏览器(例如Chrome)中修复的。

您需要在JS中创建自己的选择标记副本,该副本使用HTML来进行控制。

http://harvesthq.github.com/chosen/之类的东西会做你需要的东西,虽然这很遗憾,因为原生控件通常在很多方面都比较好(除了这个问题!)