1

我们可以将 css 和 javascript 合二为一吗?我想为 sIFR 做这个。因为 sifr 有 .js 和 .css 文件,并且没有启用 js,所以不使用任何文件 css 或 js。

我想将所有 sIFR 相关文件合并到一个合并的 javascript 文件中。

所以最后我只有2个文件

  1. 字体.swf

  2. sifr3.js(什么都有)

这是最新的 sIFR 3 http://dev.novemberborn.net/sifr3/nightlies/sifr3-r436.zip

4

5 回答 5

3

是的你可以。如果你用 CSS 注释 (< !-- -->) 注释掉你的 JavaScript 代码并用 Javascript 注释 (/* */) 注释 CSS,你可以在同一个文件中包含 CSS 和 JS。您必须在页面上包含两次文件,一次作为 JavaScript,一次作为 CSS。
当您将文件包含为 javascript 时,JS 引擎将忽略 CSS 注释并正常处理 JS 代码,而 CSS 则相反。这是描述该过程的文章的链接。

于 2010-02-14T21:03:15.170 回答
2

或者,您可以完全摆脱 sIFR 并使用 css @font-face。

这是一个@font-face 生成器,可以将您的字体转换为不同浏览器(IE 和 Chrome)的不同格式,如果您不需要整个字符集,甚至可以创建字体的子集。

http://www.fontsquirrel.com/fontface/generator

它适用于所有浏览器,如本文所述 http://paulirish .com/2009/bulletproof-font-face-implementation-syntax/ 和此测试页 http://dl.dropbox .com/u/ 39519/webfontsdemo/index.html。

我在 Windows XP 上测试了 IE5.5 6 7 8、FF3.6、Chrome 4.0.249.89 和 Safari 4.0.4。

(对链接感到抱歉,所以在我获得更高的声誉之前不会让我发布超过一个)。

于 2010-02-12T18:17:54.967 回答
1

您可以将 CSS 放入 Javascript 字符串,然后在 Javascript 中创建 STYLE 元素。

例如:(使用 jQuery)

$('<style type="text/css">p { color:red; }</style>').appendTo($('head'));

对于 sIFR3,你会写

$('<style type="text/css">@media screen {.sIFR-flash { visibility: visible !important; margin: 0; padding: 0;}.sIFR-replaced, .sIFR-ignore { visibility: visible !important;}.sIFR-alternate { position: absolute; left: 0; top: 0; width: 0; height: 0; display: block; overflow: hidden;}.sIFR-replaced div.sIFR-fixfocus { margin: 0pt;  padding: 0pt;  overflow: auto;  letter-spacing: 0px;  float: none;}}@media print {.sIFR-flash { display : none !important; height: 0; width: 0; position: absolute; overflow: hidden;}.sIFR-alternate { visibility : visible !important; display : block!important; position: static!important; left : auto !important; top: auto !important; width: auto !important; height: auto !important;}}</style>').appendTo($('head'));

(获取 CSS 文件,删除注释,并删除所有双空格和所有换行符)

于 2010-02-12T13:59:51.207 回答
0

您可以将它们保存为单独的文件,并让 Javascript 将 css 写入页面。然后 CSS 只会在启用 javascript 时出现。

于 2010-02-12T14:15:34.963 回答
0

您可以使用smartoptimizerphp speedy之类的东西。

于 2010-02-12T15:35:12.603 回答