背景设置

背景介绍

设置背景样式:backgrou-color: #bfa;
设置背景图片;
使用background-image来设置背景图片
语法:background-image: url(相对路径);
如果背景图片大于元素,默认会显示图片的左上角
如果背景图片和元素一样大,则会将背景图片全部显示
如果背景图片小于元素,则会默认将背景图片平铺以充满元素
可以同时为一个元素指定背景颜色和背景图片,这样背景色将会作为背景图片的底色
一般情况下设置背景图片时都会同时指定一个背景颜色
background-repeat用于设置背景图片的重复方式:
repeate:默认值,背景图片会双方向重复平铺
no-repeate:背景图片不会重复,有多大就会显示多大
repeate-x:背景图片沿水平方向重复
repeate-y:背景图片沿垂直方向重复
背景偏移与定位:
背景图片默认是贴着元素的左上角显示
通过background-position可以调整背景图片在元素中位置
可选值:
top bottom left right center中的两个值可以来指定背景图片的位置
top left 左上 bottom right 右下
如果只给出一个值,则第二个值默认是center也可以直接指定两个偏移量
第一个值是水平偏移量

  • 如果指定一个正值,则图片会向右移动指定的像素
  • 如果指定的是一个负值,则图片会向左移动指定的像素
    第二个是垂直偏移量
  • 如果指定的是一个正值,则图片会向下移动指定的像素
  • 如果指定的是一个负值,则图片会向上移动指定的像素
    background-attachment用来设置背景图片是否跟随页面一起滚动
    可选值:scroll,默认值 背景图片随着窗口滚动
    fixed,背景图片会固定在某一位置,不随页面滚动
    不随窗口滚动的图片,我们一般都是设置给body

具体代码如下

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>按钮练习</title>
        <style type="text/css">
        /*
        做完功能以后,发现在第一次切换图片时,会发现图片有一个非常快的闪烁,这个闪烁会造成一次不佳的用户体验

        产生问题的原因:
            背景图片是以外部资源的形式加载进网页的,浏览器每加载一个外部资源就需要单独的发送一次请求
            但是我们的外部资源并不是同时加载,浏览器会在资源被使用时才去加载资源
            我们这个练习,一上来浏览器只会加载link.png
            由于hover和active的状态没有马上触发,所以hover.png和active.png并不是立即加载的
            当hover被触发时,浏览器才去加载hover.png
            当active被触发时,浏览器才去加载active.png
            由于加载图片需要一定的时间,所以在加载和显示过程会有一段时间,背景图片无法显示,导致出现闪烁的情况

        为了解决该问题,可以将三个图片整合为一张图片,这样可以同时将三张图片一起加载,就不会出现闪烁的问题了
        然后再通过background-position来切换要显示的图片的位置,这种技术叫做图片整合技术(CSS-Sprite)
        优点:
            1 将多个图片整合为一张图片里,浏览器只需要发送一次请求,可以同时加载多个图片,提高访问效率,提高了用户体验。
            2 将多个图片整合为一张图片,减小了图片的总大小,提高请求的速度,增加了用户体验
        */
            .btn:link{
                /*将a转换为块元素*/
                display: block;
                /*设置宽高*/
                width: 93px;
                height: 29px;
                /*设置背景图片*/
                background-image: url(img/btn/btn2.png);
                /*设置背景图片不重复*/
                background-repeat: no-repeat;
            }
            .btn:hover{
                /*当是hover状态时,希望图片可以向左移动*/
                background-position: -93px 0px;
            }
            .btn:active{
                /*当是active状态时,希望图片再向左移动*/
                background-position: -186px 0px;
            }
        </style>
    </head>
    <body>
        <!-- 创建一个超链接 -->
        <a href="#" class="btn"></a>
    </body>
    </html>

JavaFX是一个用于构建富客户端应用程序的框架,它提供了许多组件和工具,用于创建漂亮的用户界面。在JavaFX中,可以使用CSS样式来控制组件的外观和布局,在这里我们可以使用CSS样式来设置背景。 以下是JavaFX背景设置的详细步骤: 1. 选择一个容器:JavaFX中的容器包括Pane、StackPane、BorderPane、GridPane等,你可以选择任何一个容器来设置背景。 2. 创建CSS样式表:在你的JavaFX应用程序中,可以使用CSS样式来设置容器的背景。你可以在应用程序的任何位置创建一个CSS样式表,例如在src目录下创建一个名为styles.css的文件。 3. 设置容器的ID:为了设置容器的背景,你需要为容器设置一个唯一的ID,这样CSS样式表才能找到它并应用样式。 4. 在CSS样式表中设置背景:打开样式表,并添加以下代码来设置背景: ``` #container-id { -fx-background-image: url("background.jpg"); // 设置背景片 -fx-background-size: cover; // 设置背景片的尺寸 -fx-background-position: center; // 设置背景片的位置 } ``` 其中,#container-id是容器的ID,background.jpg是背景片的文件名,cover是背景片的尺寸,center是背景片的位置。 5. 将CSS样式表应用到场景:在JavaFX中,可以通过Scene类将CSS样式表应用到场景中。可以在应用程序的主类中使用以下代码将样式表应用到场景中: ``` Scene scene = new Scene(root); scene.getStylesheets().add("styles.css"); // 将样式表添加到场景中 ``` 其中,root是容器的根节点。 6. 运行应用程序:运行你的JavaFX应用程序,你应该能够看到设置背景。如果没有看到背景,请确保样式表中的ID和容器的ID匹配,并且背景片的文件名正确。 以上就是JavaFX背景设置的详细步骤。希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值