我认为仅使用CSS不可能实现这一点。一些人已经在此处讨论了这个主题,并提供了一些解决方案:https://forums.oracle.com/forums/thread.jspa?threadID=2384973。
如果Teocali的答案中的链接将来失效了,建议的解决方案是为GridPane设置背景颜色并添加间隙。可以通过在GridPane的css样式中设置-fx-hgap和-fx-vgap属性或在FXML中修改vgap和hgap属性来添加间隙。然后,您可以使用StackPane将GridPane中的每一列包装起来,并在StackPane样式中设置不同的背景颜色。