JavaFXCSS双像素边框
帮助我使用JavaFXCSS。我需要创建2像素的边框宽度: 最多像素-000 向下像素-5d5c5eJavaFXCSS双像素边框,javafx,javafx-css,Javafx,Javafx Css,帮助我使用JavaFXCSS。我需要创建2像素的边框宽度: 最多像素-000 向下像素-5d5c5e 我想我需要使用线性渐变,但我不知道怎么做。您需要为第一个边框添加边框,然后为其余边框添加框阴影: .doubleBorder{ border: 1px solid #5d5c5e; box-shadow: 1px 1px #000, -1px 1px #000, 1px -1px #000, -1px -1px #000; } 你问的不是很清
我想我需要使用线性渐变,但我不知道怎么做。您需要为第一个边框添加边框,然后为其余边框添加框阴影:
.doubleBorder{
border: 1px solid #5d5c5e;
box-shadow:
1px 1px #000,
-1px 1px #000,
1px -1px #000,
-1px -1px #000;
}
你问的不是很清楚;但是,在JavaFX中为某些东西添加边框的标准方法是使用嵌套背景。这项技术涉及到创建不同的颜色背景,一个画在另一个上,使用不同的插入,以便获得边框效果 例如,外部CSS文件中的以下CSS将在modena.CSS中定义的默认背景色周围提供一个四像素黑色边框和一个四像素灰色边框。我使用了更宽的边框,使效果更清晰 style.css: .根{ -fx背景色:000,5d5c5e,-fx背景色; -外汇背景插图:0,4,8; } 这是通过绘制一个没有插入的黑色背景,然后绘制一个带有4个像素插入的灰色背景,使黑色背景的4个像素可见,最后绘制一个带有默认颜色的背景,带有8个像素插入,使灰色边框的4个像素可见 下面是一个快速测试:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class BackgroundTest extends Application {
@Override
public void start(Stage primaryStage) {
Scene scene = new Scene(new StackPane(new Label("Nested backgrounds")), 400, 400);
scene.getStylesheets().add("style.css");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
导致
这种变化
.根{
-fx背景色:000,5d5c5e,-fx背景色;
-外汇背景插图:0,4 0 0,4 0 4 0;
}
使黑色背景的四个像素在顶部可见,灰色背景的四个像素在底部可见:
顶部为黑色,底部为灰色,两侧为从黑色到灰色的线性渐变:
.根{
-fx背景色:000,5d5c5e,底部线性渐变,000,5d5c5e,-fx背景;
-外汇背景插图:0,4 0 0,4 0 4 0,4;
}
背景:线性渐变你能澄清一下吗:你想要顶部有黑色边框,底部有灰色边框吗?或者嵌套边界?也许可以尝试翻译服务从您的母语进行翻译-您可能会有一个更清楚的问题。@Lex这不是有效的JavaFX CSS。@James_D说得好,我认为CSS标记是错误的。提交了一个编辑,用javafx CSST标记它。这不是有效的javafx CSS。