CSS定位

目录

一、定义

二、分类

1、relative 开启相对定位

2、absolute 开启元素绝对定位

3、fixed  开启元素固定定位

4、sticky  开启元素粘滞定位   

三、绝对定位元素布局

1、水平方向

2、垂直方向


一、定义

    定位:指的是将指定元素,摆放在页面任意位置,
               通过定位,我们可以任意摆放元素
               通过position属性设置元素定义

    可选值:  static       默认值 没有开启定位 

                    relative    开启元素的相对定位

                    absolute  开启元素绝对定位

                    fixed        开启元素的固定定位

                    sticky       开启元素的粘滞定位      

二、分类

1、relative 开启相对定位

  (1)当开启相对定位后,如果不设置偏移量,元素不会发生变化

       偏移量:元素开启定位,可以通过left,right,top,bottom四个属性设置
                           越大越向相反方向移动
              left:元素相对于其定位位置的左侧偏移量   left:200px;
              right:元素相对于其定位位置的右侧偏移量
              top:  元素相对于其定位位置的上侧偏移量
              bottom:元素相对于其定位位置的下边偏移量
      一般情况下,水平方向一个偏移量,垂直方向一个偏移量,为元素定位。

  (2)相对定位是相对于元素在文档流中原来的位置进行定位(top:0;left:0;)
  (3)相对定位,不会使元素脱离文档流。
  (4)相对定位会使元素等级提升
  (5)相对定位不会改变元素的性质,块还是块,行内还是行内

2、absolute 开启元素绝对定位

      当position属性值设置为absolute,开启了绝对定位。

      特点: 
          (1)会使元素脱离文档流

          (2)如果不设置偏移量,则元素位置不会发生改变(若设置则改变)

          (3)绝对定位是相对于离它最近的包含块定位 发生定位的。
                (一般情况下,开启了子元素的绝对定位,都会开启父元素的相对定位 “父相子绝”)

            包含块: 正常情况下,离当前元素最近的祖先元素
                            定位情况下,离它最近的开启了定位的祖先元素(包含父元素)
                            如果所有的祖先元素,都没有开启定位,则会相对于浏览器窗口进行定位
                            也就是html

          (4)绝对定位也会使我们元素提升一个等级

          (5)绝对定位会改变元素的性质,内联元素变块元素,块元素的宽高默认会被内容撑开

3、fixed  开启元素固定定位

         当元素的position属性设置为fixed,则开启了固定定位。

    特点:(类似绝对定位)
        (1)会使元素脱离文档流
        (2)会固定在浏览器视口的某个位置,不会随滚动条滚动
        (3)固定定位会相对于浏览器的视口进行定位
        (4)应用场景:固定导航、固定侧边栏、广告

4、sticky  开启元素粘滞定位   

       当元素的position属性设置为sticky,则开启了粘滞定位。

(1)需要配合top或bottom使用
 (2)它是以浏览器为参照物  会占有原来的位置,类似相对定位
 (3)设置top值后,没有达到top值,则会正常显示,达到了就会类似固定定位
 (4)粘滞定位,兼容性没有其他定位好

三、绝对定位元素布局

1、水平方向

      left margin-left boder-left padding-left width paddinng-right boder-right margin-right right
      当开启定位后,水平方向的布局等式就会加上left、right两个值,此时规则一样,九个值相加,必须等于其父元素的宽度
                 等式不满足,浏览器自动调整

  当发生过度约束时,
       (1)如果9个值中没有auto,则自动调整right的值使等式满足;如果有则调整auto
       (2)9个值,可设auto,是margin width left right
       (3)left和right值默认为auto,如果不设置,等式不满足时会自动调整这两个值

 总结:浏览器进行调整时,right>left>margin

2、垂直方向

        是由垂直方向9个值共同决定,top...bottom

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值