我在Windows应用商店应用中使用Popline,但我可以获取图标的唯一方法是链接到文件的bootstrap CDN版本。当我尝试引用我的本地文件副本时,它不起作用。
这是我的fontAwesome.css路径
<link rel="stylesheet" type="text/css" href="ms-appx-web:///Assets/HTML/css/font-awesome.css">
我知道这是正确的,因为如果我编辑该文件并添加
* { border: 1px solid red; }
在顶部,我的文档中的所有内容都有一个红色边框。问题似乎与字体文件本身有关。所有都导入到项目中,内容设置为“如果更新则复制”
我尝试编辑fontAwesome.css,以便字体文件路径前面有ms-appx-web:///Assets/HTML/
。当这不起作用时,我尝试将该块取出并直接放入我的文档中,如下所示:
<style type="text/css" media="screen">
@font-face {
font-family: 'FontAwesome';
src: url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.eot?v=4.2.0');
src: url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('ms-appx-web:///Assets/HTML/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
</style>
谁能看到我做错了什么?
请注意我使用NavigateToString
加载我的HTML。这是绝对必要的,并且无法绕过它,因此解决方案必须适用于NavigateToString
答案 0 :(得分:2)
经过大量的反复试验后,我终于找到了如何做到这一点。如果您使用Source
属性将HTML放入WebView,那么有几种解决方案可行,但如果您使用NavigateToString
来自Matt Small's blog的这个。
@font-face {
font-family: 'FontAwesome';
src: url(data:application/x-font-woff;charset=utf-8;base64,<BASE64 STRING OF fontawesome-webfont.woff>) format('woff'),
url('ms-appx-web:///fontawesome-webfont.ttf?v=4.2.0') format('truetype');
font-weight: normal;
font-style: normal;
}
您需要将此代码放入HTML文件的头部。如果在单独的css文件中,这将不起作用。
您可以使用this page转换fontawesome-webfont.woff文件。如果该链接不起作用,那里有许多其他页面也会这样做。