CSS---------定位

一、CSS定位

  1. CSS 定位属性允许对元素进行定位改变其在页面的位置。
  2. CSS 有三种基本的定位机制:普通流、浮动和绝对定位。
  3. 普通流中的元素的位置由元素在 HTML 中的位置决定。

二、相对定位

  1. 相对于自身的定位。
<style>/* 相对定位 
            相对自身定位

            通常配合绝对定位使用
        */
        .box{
            position: relative;
        }

三、绝对定位

  1. 相对于浏览器窗口的定位。
  2. 如果父盒子给定位属性,那就相对于这个父盒子定位。
  3. 逐级向上找,相对碰到的第一个有定位属性的父级盒子,如果没有那就相对浏览器定位。
  4. 子绝父相:
    为了让绝对定位有定位点有定位点,一般会给他的父盒子加相对定位。
<style>
            /* 绝对定位 
                1.相对浏览器窗口定位
                2.父级有定位属性时,相对父级盒子定位
                3.逐级往上找,相对碰到的第一个有定位属性的父盒子定位,
                  如果没有,就相对浏览器定位
            */

            /* 子绝父相
                为了让绝对定位有定位点,一般会给他的父盒子加相对定位
            */

            /* 
            z-index
                设置堆叠顺序的
                1.默认是z-index:1
                2.数字越大越靠前显示
                3.数字越小比如负数越靠后显示            
            */
            .div1{
                position: relative;
                top: 0;
                left: 0;
            }
            .div2{
                width: 200px;
                height: 200px;
                background-color: pink;
                position: relative;
                top: 0;
                left: 0;
            }
        </style>

四、固定定位

相对于浏览器窗口定位,浏览器不随页面的滚动改变定位。

  1. 固定定位:不管页面如何滚动,他都永远固定在那里
  2. 固定定位的用途:“返回顶部”、“楼层导航”
 <style>
        .box1{
            height: 10000px;
        }
        .box2{
            /* 固定定位
            相对于浏览器窗口定位,不随页面滚动改变位置
         */
         position: relative;
         right: 40px;
         bottom: 40px;
         width: 60px;
         height: 300px;
         background-color: pink;
        }
    </style>

五、粘性定位

(这是 css3 新增的属性值)粘性定位。最初会被当作是relative,相对于原来的位置进行偏移;
一旦超过一定阈值之后,会被当成 fixed定位,相对于视口进行定位position:sticky ,其支持还不是很普遍。

  1. 相对于原来的位置进行偏移。
<style>
        .box2{
            /* 粘性定位
                偏移量同相对定位
                页面滚动时,滚动到顶部,直接吸顶
                
            */
            position: sticky;
            top: 100px;
            left: 0;
        }
        .box6{
            width: 10px;
            height: 100000px;
        }
    </style>
</head>
<body>
    <div class="box1">111</div>
    <div class="box2">222</div>
    <div class="box1">333</div>
    <div class="box1">444</div>
    <div class="box1">555</div>
    <div class="box6">666</div>
</body>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值