Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX:多个选择器修改同一属性_Java_Css_Javafx_Javafx 8_Javafx Css - Fatal编程技术网

JavaFX:多个选择器修改同一属性

JavaFX:多个选择器修改同一属性,java,css,javafx,javafx-8,javafx-css,Java,Css,Javafx,Javafx 8,Javafx Css,我有这样一个样式表: * { -fx-font-size: 15px; } .title { -fx-font-size: 20px; } 我原以为既然*比.title更通用,那么.title中定义的-fx字体大小将优先于它,但我错了。无论我在.title中将其更改为何种字体大小,该标题标签仍以15px的速度呈现。当我删除*块时,标题标签将正确反映.title中定义的大小 我的方法有什么问题吗?我只是尝试设置一个“全局”外观,同时为特定节点提供灵活性,以便在该节点需要更定制的

我有这样一个样式表:

*
{
    -fx-font-size: 15px;
}

.title
{
    -fx-font-size: 20px;
}
我原以为既然
*
.title
更通用,那么
.title
中定义的
-fx字体大小将优先于它,但我错了。无论我在
.title
中将其更改为何种字体大小,该标题标签仍以
15px
的速度呈现。当我删除
*
块时,标题标签将正确反映
.title
中定义的大小

我的方法有什么问题吗?我只是尝试设置一个“全局”外观,同时为特定节点提供灵活性,以便在该节点需要更定制的外观时进行调整

编辑 似乎这个问题只在与字体相关的CSS属性中可见。在我的示例中,我尝试将
-fx font size
更改为
-fx border color
,它似乎按照正常的CSS标准工作


字体属性似乎有些奇怪。

您可以使用
!重要信息

.title{
    -fx-font-size: 20px !important;
}
如果只有一个ID为的元素,则更好:

#title{
   -fx-font-size: 20px !important;
}
从该段开始:

场景、父场景和子场景样式表


CSS样式可以来自样式表或内联样式。样式表 从的stylesheets变量中指定的URL加载 场景对象。如果场景图包含控件,则默认用户 代理样式表已加载。内联样式是通过节点指定的 setStyleAPI。内联样式类似于style=“…”属性 一个HTML元素的。从场景的样式表加载的样式采用 优先于用户代理样式表中的规则。内联样式 优先于源自其他地方的样式。优先权 可以在样式中使用“!important”修改样式规则的顺序 声明


节点样式的优先级

JavaFX运行时使用以下优先级规则来设置节点的可视属性。源头 使用具有属性值的更高优先级:

•内联样式(最高优先级)

•父样式表

•场景样式表

•使用JavaFXAPI在代码中设置的值

•用户代理样式表(最低优先级)


添加到节点父级的样式表的优先级高于添加到场景的样式表。这使开发人员能够为场景图的不同分支定制样式。

您可以为每个节点指定字体大小

对于
标签
s(和类似元素),尽管文本不是由
节点本身显示,而是由子节点显示。通常,该节点将从
标签
继承
-fx font-size
属性,但由于为每个节点分配该属性,因此将为该子体本身分配该属性,因此不使用来自父节点的值

若要修复此问题,请为具有类
标题的节点的后代指定新的大小:

*{
-fx字体大小:15px;
}
.标题*{
-fx字体大小:20px;
}

@Jai奇怪。。。它应该有用。。。您是否使用Java代码添加了anywhere内联css?@Jai用重要注释编辑了代码。如果您使用了内联样式,可能会有问题。