定位

3 篇文章 0 订阅

定位

1.属性是position
分为四种:

  • 绝对定位:absolute

  • 相对行为: relative

  • 固定定位:fixed

  • 粘性定位:sticky
    设置定位的定位元素,可以触发5个属性
    4个移动的方向 left,right,top,bottom
    1个层级关系 z-index(可以设置负值,值必须是整数,设置负数比普通元素层级低

  • 普通元素的层级比定位元素的层级低

  • 后设置定位属性比先设置定位属性的层级高

  • 只有定位元素可以用z-index强制提升层级

               普通元素  0     
               定位元素  0.1 ==》 0.2(看顺序)
    

相对定位
position:relative
1、相对定位的元素,没有脱离文档流,是占位的
2、位移是根据自己原位置移动
绝对定位
position:absolute
1、绝对定位的元素是脱离文档流,不占位
2、绝对定位的元素,先找最近的定位属性的祖先元素为参照物(定位属性推荐相对定位relative,但是绝对定位也可以,副作用大,平常不杂使用),进行位置移动,如果没有定位的祖先元素,就以当前的html网页为位置移动的参照物
包含块---绝对定位的参照物
固定定位
position:fixed
1、固定定位的元素也是脱离文档流,不占位
2、固定定位位置移动的参照物是html网页(当前网页的可视区)
3.当前网页的遮罩效果

  .contenner{
        width: 100%;
        height: 100%;
        background: rgba(40,40, 40, 0.5);
        position: fixed;
        left: 0;
        top: 0px;
    }

所有定位设置后可以按坐标移动,

  • 左右为X

  • 上下为Y

    粘性定位:sticky(兼容性要差一些)
    1.如果设置粘性定位,不设置方向,粘性定位是占位的,跟普通内容一样
    2.设置内容移动,设置方向属性,滚动条滑过内容,top和bottom的效果和固定定位一样,以浏览器窗口的可视区为参照物
    3.left水平方向,设置就管用,top垂直方向,滚动条划过内容才有效果
    注意以下情况粘性定位会失效
    1、父元素不能overflow:hidden或者overflow:auto属性。
    2、必须指定top、bottom、left、right4个值之一,否则只会处于相对定位
    3、父元素的高度不能低于sticky元素的高度
    4、sticky元素仅在其父元素内生效
    设置内容在当前网页水平垂直居中
    两种方法
    1:position:fixed
    left:50%
    right:50%
    margin-left:-(自身宽度的一半)
    margin-top:-(自身宽度的一半)

   right: 50%;
        bottom: 50%;
        margin-right: -100px;
        margin-bottom: -100px;
        /* left: 50%;
        top: 50%;
        margin-left: -100px;
        margin-top: -100px; */

2.position:fixed
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
margin:auto;
设置子元素在父元素下水平垂直居中
用绝对定位absolute设置
两种方式:
1.父元素 position:relative
子元素 position:absolute
left:50%
top:50%;
margin-left:-(自身宽度的一半)
margin-top:-(自身宽度的一半)
2. 父元素 position:relative
内容:position:absolute
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
margin:auto;

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值