css - javafx css 声明中的多个值
问题描述
我正在阅读有关使用 css 样式的各种教程和参考资料。我希望提供一个可配置的 css 来增强根 css,但我很难理解 caspian.css 文件的一个方面。
它有如下几行:
-fx-background-color: -fx-focus-color, -fx-cell-focus-inner-border, derive(-fx-control-inner-background,-5%);
我可以理解它的派生部分,但为什么颜色有多个值。这是如何运作的?
抱歉,如果这对某些人来说很明显,但我找不到答案。
解决方案
ARegion
可以有多个背景填充/图像(通过查看可以看出Background
)。每个填充都按顺序绘制,一个在另一个之上,然后以相同的方式绘制图像。如果您查看JavaFX CSS 参考指南,您会发现您发布的只是用于声明多个填充的 CSS 语法。
这通常与为每个填充(即-fx-background-insets
)和填充(即-fx-padding
)设置插图相结合,这是 JavaFX 呈现“边框”的方式。基本上,顶部背景略微插入,这允许底部背景显示在区域边缘周围。我不记得我在哪里读到的,但我相信他们使用这种方法的原因是因为它比使用真正的边框便宜。
如果您想知道为什么这些值是-fx-focus-color
,-fx-cell-focus-inner-border
等等,JavaFX CSS 支持查找颜色。在 CSS 文件的其他地方,可能在 中.root {...}
,这些值被定义,然后在整个样式表中使用。这样可以更轻松地在整个 UI 中使用统一的调色板。
另外,请注意,从 JavaFX 8 开始,默认样式表是“modena.css”。
推荐阅读
- c# - 如何在 mongo C# 驱动程序中仅使用连接字符串来“ListCollections”?
- c++ - Eclipse CDT:索引器在编译器满意时报告自动持续时间转换错误
- c - “CPU 死机”(与硬件无关)是什么意思?
- html - 通过 Excel VBA 使用 JS 登录网站
- c - 错误:'-x precompiled-header' 中的值 'precompiled-header' 无效
- c# - 如何使用 ITranscriptLogger 和 TranscriptLoggerMiddleware 在 cosmos DB 中存储聊天记录
- installation - NSIS:如何获得完成按钮和下一步按钮?
- at-command - 数据漫游问题 SIM7600 和华为 Y9
- java - 如何在 Magnolia CMS 中将 GeoLite2-Country.mmdb(IP 国家/地区数据库)更新为最新版本?
- python-3.x - Python中的字符串是不可变的?