我在 Windows Store 应用程序中使用 Popline,但我可以显示图标的唯一方法是链接到文件的引导 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
最佳答案
经过大量的反复试验,我终于找到了如何做到这一点。如果您使用 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 文件。如果该链接不起作用,那么还有很多其他页面也会这样做。
关于c# - FontAwesome 未加载到 WebView 中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26090455/