zoukankan      html  css  js  c++  java
  • css学习background-定位-z-index

    主要内容:

      1.background

      2.定位

      3.z-index

    概要解释:

    1.background-image: url('链接的图片地址'); 默认是横向平铺 纵向平普

    background-repeat:
    repeat:默认
    no-repeat:不平铺
    repeat-x:
    repeat-y:

    background-position:x y;
    如果为正值 那么表示调整图片的位置
    如果为负值 精灵图切图
    background-attachment:fixed;
    不会随着父盒子的滚动而滚动

    background: url('') no-repeat x y;

    2.定位
    四种定位:
    position
    static:静态定位
    relative:
    相对定位
    作用:

      1)微调元素
      2)可以做"父相子绝"参考
      3)如果当前这个标准流的盒子设置了相对定位,那么他跟标准流下的盒子是一样的
    参考点:
    (1)相对于原来的位置调整位置

    记住:
      1)不要用相对定位做压盖现象,因为相对定位会"留坑" 占着茅房布拉斯

      2)设置定位之后,它的层级大于标准流的盒子

      3)相对的盒子不脱离标准流

    absolute:绝对定位

      现象:
        1)脱标
        2)做压盖 层级高



    (1)参考点
    单独设置绝对定位: top描述
    参考点: 页面的左上角 (跟浏览器的左上角区分)
    单独设置绝对定位: bottom描述
    参考点: 浏览器的左下角

    (2)当有父子盒子嵌套时参考点:
    父辈元素设置相对定位 子元素设置绝对定位 那么子元素是以最近父辈元素(必须设置相对定位)的左上角为参考点来调整位置
    绝对定位的盒子居中:
    left:50%;
    margin-left:负的该盒子宽度的一半

    fixed:固定定位

    1.脱标
    2.层级提高

    参考点:浏览器的左上角

    应用:固定导航栏 广告 回到顶部


    只要盒子 设置浮动了 固定定位 绝对定位了
    1.脱标
    2.可以任意宽高

    3.z-index
    前提条件:必须设置定位

    1.z-index 值表示谁压着谁,数值大的压盖住数值小的,
    2.只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
    3.z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
    4.从父现象:父亲怂了,儿子再牛逼也没用

    下面是详细的解释:

    1 background 

    下面是背景图的详细解释:

    注意工作中通常是用快捷用法:

    background: url('images/timg.jpg') no-repeat 10px 20px;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>background-img</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .box{
                background-image: url('./images/love.jpg');
                width: 100%;
                height: 150px;
                background-repeat: no-repeat;
                background-position: center top;
                /* 这个包括设置背景图,以及不多行平铺,只单行平铺,以及设置背景图居中 */
    
            }
            .container{
                width: 300px;
                height: 400px;
                background-color: red;
                background-image: url('images/timg.jpg');
                background-repeat: no-repeat;
                background-position: 10px 20px;
                /* 这个是设置在div中微调背景图的位置 */
            }
            .koutu{
                width: 20px;
                height: 30px;
                /* background-color: green; */
                background-image: url("images/timg.jpg");
                background-repeat: no-repeat;
                background-position: 0 -20px;
                /* 这个是对背景图进行切割.获取想要的图片 */
    
            }
        </style>
    </head>
    <body>
        <div class = "box"></div>
        <div class = "container">
        </div>
        <div class = "koutu"></div>
    
        
    </body>
    </html>

    2.定位

    1)相对定位

    示例如下:

    相对定位要注意的是相对的偏移是相对原位置的偏移.

    示例如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            div{
                width: 200px;
                height: 200px;
            }
            .child1{
                background-color: red;
            }
            .child2{
                background-color: green;
                position: relative;
                top: -30px;   /* 相对于原位置向上偏移30px */
                left: 100px;/* 相对于原位置向右偏移100px */
            }
            .child3{
                background-color: blue;
            }
        </style>
    </head>
    <body>
        <div class = "child1"></div>
        <div class = "child2"></div>
        <div class = "child3"></div>
        <div class = "child4"></div>
    
    </body>
    </html>

    相对偏移的微调数据:

    示例如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            a{
                text-decoration:none;
                color:#172c45;
                position: relative;
                top: -6px;
                /* 这里是根据web上设置的微调 */
    
            }
            input{
                font-size: 30px;
            }
        </style>
    </head>
    <body>
        <a href="#">百度一下</a>
        <input type="text">
        
    </body>
    </html>

    相对偏移的重要应用:父相子绝

    父相子绝里的边界是父亲的相对定位.

    示例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .father1{
                position: relative;
                width: 600px;
                height: 200px;
                background-color: red;
    
            }
            .father2{
                position: relative;
                width: 400px;
                height: 100px;
                background-color: green;
            }
            .child1{
                width: 50px;
                height: 50px;
                background-color: blue;
                position: absolute;
            }
            .child2{
                width: 50px;
                height: 60px;
                background-color: gray;
                position: absolute;
                top: 30px;
                left: 40px;
            }
        </style>
    </head>
    <body>
        <div class = "father1">
            <div class = "father2">
                <div class = "child1"></div>
                <div class = "child2"></div>
            </div>
        </div>
    </body>
    </html>

    绝对定位:

    绝对定位里要注意是:

    如果没有父相子绝,那么也就是单独用绝对定位,那么参考点是页面的左上角(这里注意和浏览器的左上角区别开.)

    如果用的是bottom的话,那么参考点是浏览器左下面.

    绝对定位还有一点要注意到的是,绝对定位怎么使自己居中父盒子.需要如下操作:

    left:50%;
    margin-left:负的该盒子宽度的一半

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            .box{
                width: 200px;
                height: 200px;
                position:absolute;
                left: 40px;
                bottom: 10px;
                background-color: green;
                /* 注意这里的bottem设置是相对于浏览器的底部距离 */
            }
            .test{
                width: 500px;
                height: 1200px;
                background-color: red;
                position: absolute;
                top: 30px;
                left: 30px;
                /* top这里是相对于页面左上角来说的,不管你有没有父标签,只要父标签没有设置父相子绝的话,那么就是相对于页面. */
            }
            .body_test{
                width: 1000px;
                height: 1000px;
                margin: 40px;
                background-color: gray;
            }
        </style>
    </head>
    <body>
        <div class = "body_test">
        <div class = "test"></div>
        <div class = "box"></div>
        </div>
    
    </body>
    </html>

    固定定位:

    固定定位要注意的是,一定要有top和left.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            div{
                width: 800px;
    
            }
            .box{
                background-color: red;
                height: 800px;
    
            }
            .box1{
                background-color: green;
                height: 50px;
                position:fixed;
                top: 30px;
                left: 20px;
                width: 50px;
            }
        </style>
    </head>
    <body>
        <div class = "box"></div>
        <div class = "box1"></div>
    </body>
    </html>

    3.z-index  

    前提条件必须设置定位,设置定位后所有默认值为0.

    前提条件:必须设置定位

    1.z-index 值表示谁压着谁,数值大的压盖住数值小的,
    2.只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
    3.z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的

    4.从父现象:父亲怂了,儿子再牛逼也没用

    下面是从父现象的代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            .father1{
                width: 400px;
                height: 400px;
                position: relative;
                background-color: gray;
                z-index: 1;
    
            }
            .father2{
                width: 400px;
                height: 400px;
                position: relative;
                background-color: green;
                z-index: 2;
    
            }
            .child1{
                width: 50px;
                height: 50px;
                background-color: red;
                position: absolute;
                top: 200px;
                left: 450px;
                z-index: 3;
            }
            .child2{
                width: 50px;
                height: 50px;
                background-color: blue;
                position: absolute;
                top: -220px;
                left: 450px;
            }
        </style>
    </head>
    <body>
        <div class = "father1">
            <div class = "child1"></div>
        </div>
        <div class = "father2">
            <div class = "child2">
                
            </div>
        </div>
        
    </body>
    </html>
  • 相关阅读:
    Docker配置容器位置和小技巧
    firewall防火墙
    iptables防火墙常用命令
    Docker 常用命令
    Dockerfile镜像的制作
    Windows和Centos下Docker的安装配置
    ubuntu 常用命令
    microPython环境安装及使用
    Arduino上“Collect2.exe: error: ld returned 5 exit status”错误的解决方法
    基于C语言的面向对象编程
  • 原文地址:https://www.cnblogs.com/ahliucong/p/9470503.html
Copyright © 2011-2022 走看看