zoukankan      html  css  js  c++  java
  • 关于背景

    零碎知识

    一、关于背景

    1.背景的裁切

    控制背景在盒子中的位置

    选项 说明
    border-box 包括边框
    padding-box 不含边框,包括内边距
    content-box 内容区域
        background-clip: content-box;
    
                /* 包住边框 */
                background-clip: border-box; 
                /* 在边框内部,不受padding和magin的影响 */
                background-clip: padding-box; 
                /* 在盒子的内容区域,受paddign和margin的影响 */
                background-clip: content-box;
    

    三者对比:

    UTOOLS1586239011130.png

    2.背景平铺

    控制背景更在盒子中的分布

    选项 说明
    repeat 水平、垂直平铺(默认值)
    repeat-x 水平平铺
    repeat-y 垂直平铺
    no-repeat 不平铺
    space 背景图片对称均匀分布
    background-repeat: repeat-y
    

    space类似于justify-content: space-between,将背景图片左右对称分布

    3.背景滚动

    选项 说明
    scroll 背景滚动
    fixed 背景固定
    background-attachment: fixed;
    
                /* 随滚动条滚动而滚动 */
                background-attachment: scroll;
                /* 固定不动 */
                background-attachment: fixed;
    

    4.背景尺寸

    选项 说明
    cover 背景完全覆盖,可能会有背景溢出
    contain 图片不溢出的放在容器中,可能会漏出部分区域
                /* 背景图片会完全覆盖住盒子 */
                /* 超出盒子部分自动溢出隐藏 */
                /* 过程:宽高同时增大,直到图片的宽或高其中一个与盒子的宽或高相等,此时如果未铺满盒子,则继续增大,直至铺满 */
                background-size: cover;
    
                /* 保证图片能完整不失真的显示,但是盒子内会留白 */
                /* 过程:宽高同时增大,直到图片的宽或高其中一个与盒子的宽高相等,就不再增大 */
                background-size: contain;
    

    5.多个背景设置

    一个盒子可以有多个背景,用逗号隔开即可。

                background-image: url(./images/ke01.jpg), url(./images/01.jpg);
                background-repeat: no-repeat;
                background-size: 50% 50%, contain;
                background-position: center center, right top;
                /* 连写 */
                /* 逗号隔开 */
                background: url('./images/ke01.jpg') no-repeat center,
                    url('./images/03.jpg') no-repeat right top;
                background-size: 50% 50%, contain;
    

    6.背景渐变

    6.1 线性渐变

                /* 背景激变 */
                background: linear-gradient(red, green);
                /* 可以改变变化方向 */
                background: linear-gradient(to right top, red, green);
                /* 方向可以为度数 */
                background: linear-gradient(360deg, red, green);
    			/*可以设置多个颜色*/
    			background: linear-gradient(to left, red, yellow, blue, rgba(255, 255, 205, .5), #09f);
    

    渐变方向

    UTOOLS1586228455178.png

    6.2 径向渐变

                /* 以盒子的中心电向四周呈圆形渐变 */
                background: radial-gradient(red, yellow, green); 
                /* 设置径向渐变的宽高,前面的是宽,后面值是高,若只写一个值,默认宽高都是它 */
                /* 即在这个范围内渐变,超过范围就以左最后一个颜色为背景色 */
                background: radial-gradient(100px, red, yellow, green);
    
                /* 改变渐变方向,就是改变渐变的中心点 */
                /* 在右下角渐变 */
                background: radial-gradient(at right bottom, red, yellow, green);
                /* 也可以用百分比表示 */
                /* 前一个值是宽的百分比,后一个值是高的百分比 */
                background: radial-gradient(at 50% 80%, red, yellow, green);
    

    UTOOLS1586236227757.png

    UTOOLS1586236268786.png

    6.3渐变标识位

    颜色未指定标识时,颜色会平均分布。

                /* 表示红色在宽度50%的时候开始发生渐变,直到60%不在渐变,后面的都是蓝色 */
                background: linear-gradient(to right, red 50%, blue 60%);
                /* 当后面的值小于或等于前面的值,渐变效果不会产生 */
                background: linear-gradient(to right, red 30%, blue 30%);
    

    UTOOLS1586237214594.png

    6.4渐变案例

    黑8
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
    
            .ball {
                position: relative;
                 400px;
                height: 400px;
                border-radius: 200px;
                margin: 200px auto;
                background: radial-gradient(250px at 100px 100px,
                        rgba(0, 0, 0, 0),
                        rgba(0, 0, 0, 1));
                box-shadow: 10px 10px 40px rgba(0, 0, 0, 0.85);
            }
    
            .eight {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                 100px;
                height: 100px;
                line-height: 100px;
                text-align: center;
                font-size: 100px;
                background: radial-gradient(rgba(255, 255, 255, 0),
                        rgba(255, 255, 255, 1));
                border-radius: 50px;
            }
        </style>
    </head>
    
    <body>
        <div class="ball">
            <div class="eight">8</div>
        </div>
    </body>
    
    </html>
    
    捏球球
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div {
                position: relative;
                 400px;
                height: 400px;
                border-radius: 200px;
                margin: 200px auto;
                background: radial-gradient(250px at 100px 100px,
                        rgba(0, 0, 0, 0),
                        rgba(0, 0, 0, 1));
                box-shadow: 10px 10px 40px rgba(0, 0, 0, 0.85);
                animation: boom 5s linear infinite;
            }
    
            @keyframes boom {
                0% {
                    transform: scale(1);
                }
    
                20% {
                    transform: scaleY(0.95) scaleX(1.05);
                }
    
                50% {
                    transform: scaleY(1.1) scaleX(0.9);
                }
    
                70% {
                    transform: scaleY(0.98) scaleX(1.02);
                }
    
                80% {
                    transform: scaleY(1.02) scaleX(0.98);
                }
    
                100% {
                    transform: scale(1);
                }
            }
        </style>
    </head>
    
    <body>
        <div></div>
    </body>
    
    </html>
    
    文字渐变
    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            div {
                /* 渐变 */
                background: linear-gradient(90deg, #45CAFF, #1471FB, #09f);
                /* 填充文字 */
                /* 谷歌不兼容 */
                -webkit-background-clip: text;
                background-clip: text;
                color: transparent;
                font-size: 20px;
                 500px;
                font-weight: 700;
            }
        </style>
    </head>
    
    <body>
        <div>小艾同学渐变色哦好看吗啦啦啦</div>
    </body>
    
    </html>
    
  • 相关阅读:
    C语言编程获取PE文件导出表内容
    C语言编程获取PE文件导入函数
    C语言编程获取PE文件Section_Header
    C语言编程获取PE文件Option_Header
    C语言编程获取PE文件File_Header内容
    C语言编程获取PE文件DOS头
    Spring源码剖析开篇:什么是Spring?
    重新学习Mysql数据13:Mysql主从复制,读写分离,分表分库策略与实践
    重新学习MySQL数据库12:从实践sql语句优化开始
    重新学习MySQL数据库10:MySQL里的那些日志们
  • 原文地址:https://www.cnblogs.com/xiaoaitongxue/p/12653035.html
Copyright © 2011-2022 走看看