本文介绍了如何保持CSS样式只有一个元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的CSS样式在我的应用程序:
.LIST细胞{
-fx背景色:空;
-fx-字体大小:24px的;
-fx文本填写:线性梯度(0.0%0.0%0.0%50.0%,反映,RGBA(255,0,0,0.28)0.0,RGBA(102,243,255,0.58)50.0,RGBA(179,179,179,0.45) 70.0,RGBA(179,179,179,0.45)100.0);
}
.LIST细胞:悬停{
-fx文本填写:线性梯度(0.0%0.0%至100.0%100.0%,反映,RGB(255,255,255)0.0,RGB(255,255,77)100.0);
}
和我把它应用到我的程序:
<$p$p><$c$c>scene.getStylesheets().add(getClass().getResource(\"/com/root/tomaszm/Design.css\").toExternalForm());和我想用这种风格只为一个节点的ListView没有任何其他。我有一个新的ComboBox继承了这种风格的问题。
我知道那可能是基本的东西但是我还不熟悉CSS,只是在寻找快速解决...
编辑:
@CHARSETUTF-8;#mainList .LIST细胞{
-fx背景色:空;
-fx-字体大小:24px的;
-fx文本填写:线性梯度(0.0%0.0%0.0%50.0%,反映,RGBA(255,0,0,0.28)0.0,RGBA(102,243,255,0.58)50.0,RGBA(179,179,179,0.45) 70.0,RGBA(179,179,179,0.45)100.0);
}
#mainList .LIST细胞:悬停{
-fx文本填写:线性梯度(0.0%0.0%至100.0%100.0%,反映,RGB(255,255,255)0.0,RGB(255,255,77)100.0);
}
应用程序类
<$p$p><$c$c>scene.getStylesheets().add(getClass().getResource(\"/com/root/tomaszm/Design.css\").toExternalForm());控制器类
listView.getStyleClass()加(mainList);
解决方案
你写你的CSS的方式,你需要在 CSS ID
设置为您的节点,而不是一个的styleClass
在您的控制器。
背景
一个节点可以同时拥有
- 的styleClass的(重由
.styleclass psented $ P $ {...}
)的 - CSS ID的(重由
#ID psented $ P $ {...}
)的
从JavaDoc中:
Difference
getStyleClass().add("mainList")
sets the styleClass
of a node and is used in the css file by declaring :
.mainList {
...
}
For declaring an id to a node (lets taking your example), you should use :
listView.setId("mainList");
You use the id as you have already used in the css file:
#mainlist{
...
}
Note : Do not confuse id
and fx:id
. Both are used for differently and have different implementations. For more information, click me!
这篇关于如何保持CSS样式只有一个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!