2013-04-11 28 views
0

我刚开始尝试使用TideSDK将网站部署到.exe和.app,这在很大程度上是非常棒的。tideSDK + less.js + SVG font-face

我目前遇到的问题是,我所有的CSS样式都是使用less.js框架以无风格编写的。在这里面,我声明了自定义字体,并且在部署到标准Web浏览器时,它们适用于所有使用它们的元素。

当通过Tide进行部署时,除非我将所有样式表从无风格样式表中取出并将其放回到常规.CSS文件中,否则它似乎不会粘住,这使我相信有某种编译方式Tide在部署应用程序的实际视图时在内部使用的时间变化。

我不知道如何去解决这个问题。作为一个说明,我没有收到来自潮控制台,这使我相信,.SVG的被发现,只是没有应用任何

[Error] Error finding 

错误。

UPDATE:

看来我是用错误的语法在src:URL( '...'),因此在.LESS文件中的CSS实际上是失败默默。我收到了一个非常奇怪的[错误]现在错误查找... .svg文件。在这行CSS中的URL被app前置:3次。

回答

2

经过几个小时的研究,我终于明白了这个问题。事情夫妇注意,当你使用这些框架的组合:当使用

SRC

  1. less.js吐出了非常奇怪的路径目录:URL(“...”);

    作为一种解决方案,您可以使用少用的import指令,并将@ font-face声明放入.css样式表中。通过导入一个简单的.css样式表,您告诉less.js将其视为常规.css,并且不会出现被吐出的多路复用网址。

    @import“../css/style.css”;

  2. 在导入指令并确认SVG确实是在Chrome检查器中的资源 - 字体下生成后,我继续查看SVG文件本身以确定CSS命名中是否有错误SVG文件的约定。根据这一answer,并在它的blog post,你的SVG名字应该是使用:

    FONT-FAMILY在命名方案

值从SVG元数据

src: url('YourSVGFont.svg#Silkscreen') format('svg'); 

时事实上,你应该使用字体ID,至少这是我的情况的解决方案:

src: url('YourSVGFont.svg#slkscrb') format('svg'); 

这是嵌入在博客文章中的image,以便您可以看到我在说什么,并查看SVG元数据中这两个名称的放置位置。