JavaFX - 边框半径 <-> 背景颜色

10
如果我给简单的GridPane添加了-fx-border-radius-fx-border-width CSS样式,那么在它的角落处背景不会被"裁减"。
CSS代码:
.payload {
    -fx-hgap: 20px;
    -fx-padding: 40px;

    -fx-background-color: #2969c0;

    -fx-border-radius: 50px;
    -fx-border-width: 5px;
    -fx-border-color: black;
    -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.8), 10, 0, 0, 0);
}

关于结果的图片: 图片链接 我该如何修复这个问题?
1个回答

32

你需要添加半径属性来定义背景填充。否则它会假定为零值,就像你的图片中展示的那样。

你可以在这里查看CSS规范(链接)

你只需要添加 -fx-background-radius 属性即可:

.payload {
    -fx-hgap: 20px;
    -fx-padding: 40px;

    -fx-background-color: #2969c0;
    -fx-background-radius: 50px;

    -fx-border-radius: 50px;
    -fx-border-width: 5px;
    -fx-border-color: black;
    -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.8), 10, 0, 0, 0);
}

background radius


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接