我想讓幾個Flex(SDK 4.6)應用程序共享相同的樣式表(存儲在CSS文件中)。不過,我不想將這些獨立文件分發到這些應用程序的SWF中,而是想將CSS文件嵌入到Flex應用程序文件中(就像嵌入圖像等一樣)。 CSS聲明包括字體嵌入,所以它(我認爲)不可能在運行時加載CSS。在Flex的swf文件中嵌入外部CSS
我已經找到了:
我不能簡單地用
<fx:Script source="@Embed(stylesheet.css)" />
。錯誤的語法。我不能在應用程序之間共享的某些MXML組件中使用內聯樣式表,因爲CSS包含組件中不允許的類型聲明。
我可以選擇編譯CSS的SWF但是這創造了獨立的SWF文件(這樣我就可以嵌入Flex框架成SWF,但不是一個獨立的CSS])。
我希望我失去了一些明顯的東西,這很容易實現。
這使我困擾:爲什麼CSS文件自動包含在「庫」項目(SWC)中而不是「應用程序」項目(SWF)中?任何想法? :] –
'.swf'是一個包含所有編譯字節碼的文件(有點像Java'.class'文件)。另一方面'.swc'只不過是一個檔案文件(如'.zip'或Java'.jar'文件),它包含'.swf'和庫的字節碼,以及其他任何你想要的文件添加到它,就像一個CSS文件。因此,它的本質就是'。swf'不能包含其他文件,並且CSS是一種解釋型語言,無法編譯(因此無法編譯到swf中)。 – RIAstar
但是'.swf'不能包含CSS文件,就像它可以包含圖像文件一樣?如果你將'.swc'鏈接到最終的'.swf',那麼這個最終的'.swf'有效地包含原始的CSS,不是嗎? :] –