JavaFX:样式未修饰的窗口,带有InnerShadow但没有顶部

时间:2014-12-17 16:12:25

标签: css javafx window

我创建了一个带有自己标题的未修饰窗口。对于这个我添加了一个样式:

.pane-basicwindow{
-fx-border-color: gray; 
-fx-border-style: solid;    
-fx-border-width: 1;
-fx-effect: innershadow(three-pass-box, rgba(100, 100, 100, 1), 10, 0, 0, 0);}

借助于此,我创造了一个内心阴影。但我希望在左侧,右侧和底侧都有内置阴影。因此顶部应该没有阴影。我知道如果我更改了innershadow的最后一个值,我可以向上移动阴影的位置。例如像这样

-fx-effect: innershadow(three-pass-box, rgba(100, 100, 100, 1), 10, 0, 0, -4);

但是在这种情况下,底部的阴影也会向上移动,以使这个阴影大于右侧/左侧的阴影。

所以我的问题是:必须做些什么才能使左侧,右侧和底侧的阴影具有相同的大小,而顶部的阴影是不可见的? 我在这里检查了很多其他问题,但找不到我的案例的答案。我也玩了一点但是也找不到结果。有人有想法吗?

1 个答案:

答案 0 :(得分:3)

您可以“简单地”重建阴影,只需将其添加到您喜欢的边框,如下所示:

.pane-basicwindow {
    -fx-border-color:
        linear-gradient(to right, rgba(0, 0, 0, 0.2), transparent),
        linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent),
        linear-gradient(to left, rgba(0, 0, 0, 0.2), transparent);
    -fx-border-style: solid;
    -fx-border-width:
        0 0 0 0.417em,
        0 0 0.417em 0,
        0 0.417em 0 0;
}