2017-05-14 38 views
3

我尝试在方向为水平时将厚度设置为-fx-pref-height: 10px;,当滚动条方向为垂直时,我尝试将其设置为-fx-pref-width: 10px;。但是不行。如何通过CSS自定义javafx滚动条的拇指厚度?

.scroll-bar:horizontal .thumb { 
    -fx-background-color: derive(black, 90%); 
    -fx-background-insets: 2, 0, 0; 
    -fx-background-radius: 0em; 
    -fx-pref-height: 10px; 
} 

.scroll-bar:vertical .thumb { 
    -fx-background-color: derive(black, 90%); 
    -fx-background-insets: 2, 0, 0; 
    -fx-background-radius: 0em; 
    -fx-pref-width: 10px; 
} 

如何通过自定义css来实现这一点?

回答

2

可以设置滚动条的填充收缩拇指的厚度。

.scroll-bar:vertical { 
    -fx-pref-width: 16.5; 
    -fx-padding: 3; 
} 

.scroll-bar:horizontal { 
    -fx-pref-height: 16.5; 
    -fx-padding: 3; 
} 

.scroll-bar, .scroll-bar:pressed, .scroll-bar:focused { 
    -fx-font-size: 15; 
} 
+1

逻辑。为什么是16.5? – Vanguard

+0

你可以测试你喜欢的任何值。我编辑了我的答案并添加了@anlar的答案。箭头大小与字体大小绑定。 – Pakbert

1

滚动条的宽度被配置成经由它的字体大小,例如:

.scroll-bar { 
    -fx-font-size: 100px; 
} 

scrollbar

+0

不幸的是,它不起作用。 – Vanguard

+0

你确定css实际应用于你的场景吗?我试图创建一个简单的项目,该风格正在影响所有滚动条,如上图所示。 – anlar

+0

是的,我将CSS应用到现场。但没有工作。 – Vanguard

1

由下面的CSS设置在滚动条的箭头的填充。

.scroll-bar .decrement-arrow { 
    -fx-padding:2.25; 
} 
.scroll-bar .increment-arrow { 
    -fx-padding:2.25; 
} 

enter image description here