将CSS转换为JavaFx CSS

har*_*ar1 5 css javafx-2

我有一个Web应用程序,为此我们有CSS.我们正在将UI移植到JavaFX,并打算将其样式与Web应用程序上的样式完全相同.我尝试加载用于Web项目的CSS,但样式没有得到反映.经过一番搜索,我发现Oracle已经创建了一个名为JavaFX CSS的东西,它类似于CSS但不完全是CSS.

我想知道的是:有一些简单的方法将我的(Web)CSS转换为JavaFX CSS吗?

jew*_*sea 7

一些简单的方法将我的(Web)CSS转换为JavaFx CSS

此任务没有自动转换器.我建议你拿一点你的CSS并尝试手动转换它.

您可以使用分析工具(如SceneBuilder中的CSS Analyzer)来帮助完成此任务.

执行转换时请参阅JavaFX CSS Reference.

如果您在转换JavaFX和HTML css文件之间的元素或属性时遇到特定问题,请发布有关这些转换困难的新问题.

我们正在将UI移植到JavaFx,并打算将其样式设置为与Web应用程序上的样式完全相同.

如果你有很多CSS,那将会有点棘手.JavaFX CSS与基于Web的HTML css不同.JavaFX CSS文件与HTML CSS共享一种通用的语法格式,但JavaFX中的所有 css属性都与HTML CSS 中的不同.

HTML CSS可以指定由HTML呈现引擎呈现的布局属性.JavaFX布局和呈现引擎与HTML的工作方式不同,因此基于HTML CSS的布局说明符在任何JavaFX CSS,JavaFX代码或FXML定义的布局管理器中都不具有直接等价物.

不过,JavaFX CSS非常灵活.很多东西都类似于HTML css(比如区域背景和颜色说明符),因此可以在合理的时间内以可接受的准确度将HTML CSS的要点转换为JavaFX CSS,前提是您熟悉两种CSS形式.只是不要指望您的JavaFX应用程序和Web应用程序的外观或行为完全相同.

Oracle已经创建了一些调用JavaFX CSS的东西,它类似于CSS但不完全是CSS.

JavaFX CSS在语法和文件格式方面实际上只是CSS.JavaFX中使用的CSS遵循W3C CSS的所有基本语法和数据类型.

W3C CSS就是你在问题中所说的纯CSS或(web)CSS.W3C CSS有许多扩展和建议的扩展,其中许多扩展甚至在主流浏览器中都得不到很好的支持.

考虑将WebView用于应用程序的某些部分

您可能希望将某些应用程序保留在HTML中,并将应用程序的其他部分移植到JavaFX控件中,而不是将整个应用程序从HTML移植到JavaFX.

JavaFX包含一个WebView组件,可以轻松嵌入JavaFX应用程序中.WebView可以准确地呈现HTML,它可以解析和理解W3C CSS.您可以使用一些现有的CSS和HTML来设置和呈现JavaFX应用程序的一部分.

由于JavaFX CSS和W3C CSS共享一种通用文件格式,您甚至可以将JavaFX CSS样式和W3C CSS样式放在同一个CSS文件中,而JavaFX和WebView运行时将足够聪明,可以在呈现其特定组件时应用适当的样式.

也可以看看