定位和布局

定位分为静态定位(默认)、相对定位、绝对定位、固定定位、粘性定位

1.相对定位

特性:相对于自身在浏览器中的位置,不脱离文档流(也就是说会占据屏幕空间)

<style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .div1,
        .div2,
        .div3 {
            width: 100px;
            height: 100px;
        }
        
        .div1 {
            background-color: red;
        }
        
        .div2 {
            background-color: blue;
            position: relative;
            top: 40px;
            left: 40px
        }
        
        .div3 {
            background-color: pink;
        }
    </style>
</head>

<body>
    <div class="div1"></div>
    <div class="div2"></div>
    <div class="div3"></div>
</body>

如图,对div2设置相对定位,它会相对于前一个盒子外边距为40px,相对于屏幕左侧40px

2.绝对定位

特性:1.脱离文档流,原先位置不保留

2.默认使用绝对定位元素,无论有没有父元素,参照点是body

3.如果祖先元素使用了定位属性,则相对于祖先元素定位

<style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .div1,
        .div2,
        .div3 {
            width: 100px;
            height: 100px;
        }
        
        .div1 {
            background-color: red;
        }
        
        .div2 {
            background-color: blue;
            position: relative;
        }
        
        .div3 {
            background-color: pink;
        }
        
        .div4 {
            width: 50px;
            height: 50px;
            background-color: aqua;
            position: absolute;
            top: 40px;
        }
    </style>
</head>

<body>
    <div class="div1"></div>
    <div class="div2">
        <div class="div4"></div>
    </div>
    <div class="div3"></div>
</body>

如图,对div4设置绝对定位,div4相对于父盒子div2距离它的上边框距离为40px

对于设置了绝对定位的子元素,一般要对其父元素设置相对定位,即子绝父相,否则不利于布局

3.固定定位

position:fixed

特点:脱离文档流,不占据屏幕空间,不保留原先位置,和绝对定位一样不区分行内/块级/行内块级

4.粘滞定位

position:sticky

特点:元素并不脱离文档流,仍然保留元素原本在文档流中的位置。 当元素在容器中被滚动超过指定的偏移值时,元素在容器内固定在指定位置。

可以用于侧边导航栏的制作

5.z-index属性

默认情况下后面编写的元素会覆盖掉前面的,如果定位流的与元素设置z-index属性,谁的值大就显示在上面

注意点:1.如果两个元素的父元素都没有设置z-index属性, 那么谁的z-index属性比较大谁就显示在上面。 ​

2.如果两个元素的父元素设置了z-index属性, 那么子元素的z-index属性就会失效, 也就是说谁的父元素的z-index属性比较大谁就会显示在上面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值