gpt4 book ai didi

css - 在 Flex 的 swf 文件中嵌入外部 CSS

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:56 24 4
gpt4 key购买 nike

我希望几个 Flex (SDK 4.6) 应用程序共享相同的样式表(存储在 CSS 文件中)。但是,我不想将独立文件与这些应用程序的 SWF 一起分发,而是希望将 CSS 文件嵌入到 Flex 应用程序文件中(就像嵌入图像等一样)。 CSS 声明包括字体嵌入,因此(我认为)不可能在运行时加载 CSS。

我已经发现了什么:

  1. 我不能简单地使用 <fx:Script source="@Embed(stylesheet.css)" /> .语法错误。

  2. 我不能在应用程序之间共享的某些 MXML 组件中使用内联样式表,因为 CSS 包含组件中不允许的类型声明。

  3. 我可以选择将 CSS 编译为 SWF,但这会创建独立的 SWF 文件(因此我可以将 Flex 框架嵌入 SWF 而不是独立的 CSS ;])。

我希望我遗漏了一些明显的东西,这很容易实现。

最佳答案

  • 创建库元素(生成 swc 文件)
  • 将样式表添加为资源
  • 将此元素(或已编译的 swc)放在您其他元素的构建路径上
  • 您现在可以在您的其他元素中使用此资源:
    <fx:Style source="stylesheet.css" />

作为例子:
在图书馆元素中,您有 src/stylesheet.css
如果src是源文件夹,文件应该会自动打包进库
如果不是,则必须手动添加文件:在 FlashBuilder 中,这可以通过 Assets 来完成。 Build path 的选项卡编辑。在命令行上,使用 -include-file 添加它选项。

将 swc 用作库依赖项的替代方法是将其定义为主题 依赖项。在 FlashBuilder 中有一个 Theme元素属性中的向导。在命令行上执行:

mxmlc -theme="/path/to/my/theme.swc" MyApp.mxml

如果您将它用作主题,您甚至不必包含 fx:Style在您的应用程序中标记。默认包含 CSS。但我认为它必须被命名为defaults.css .

关于css - 在 Flex 的 swf 文件中嵌入外部 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12511187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com