CSS-定位(position)

1. CSS布局的三种机制

  • 普通流(标准流)
  • 浮动
    让盒子从普通流中浮起来——让多个盒子水平排列成一行。
  • 定位
    将盒子定在某一个位置自由的漂浮在其他盒子的上面。

2. 定位详解

定位=定位模式+边偏移

2.1 边偏移

属性:top、bottom、left、right

2.2 定位模式

static 静态模式
relative 相对模式
absolute 绝对模式
fixed 固定模式

2.2.1 静态定位
  • 默认定位方式,无定位
  • 按照标准流特性摆放,没有边偏移;
  • 几乎不用。
2.2.2 相对定位
  • 相对于原来在标准流中的位置偏移;
  • 原来在标准流的区域继续占有,后面的盒子仍然以标准的方式对待它;
2.2.3 绝对定位
  • 完全脱标——完全不占位置
  • 若父元素有定位,则绝对定位的子盒子以父元素为准;
  • 若父元素没有定位,则子元素以浏览器为准定位;
  • 将元素依据最近的已经定位(绝对、固定或相对定位)的父元素(祖先)进行定位。
定位口诀——子绝父相

子绝父相——子级是绝对定位,父级要用相对定位

2.2.4 固定定位
  • position:fixed;
  • 绝对定位的特殊形式;
  • 完全脱标——完全不占位置
  • 只认浏览器的可视窗口
  • 跟父元素没有任何关系,单独使用;
  • 不随滚动条滚动。

3. 定位的扩展

3.1 绝对定位
  • margin : auto; 不能让绝对定位的盒子水平垂直居中;

  • 水平居中:
    -left : 50%; 让盒子的左侧移动到父级元素的水平中心位置;
    -margin-left : -XXpx; 让盒子向左移动自身宽度的一半

  • 垂直居中:
    -top : 50%;
    -margin-top : -XXpx;

3.2 堆叠顺序(z-index)
  • z-index可以调整盒子的堆叠顺序:
    -属性值:正整数、负整数0,默认值是0,数值越大,盒子越靠上;
    -如果属性值相同,则按照书写顺序,后来居上
    -数字后面不能加单位
  • z-index只能用于相对定位、绝对定位、固定定位。
3.3 定位改变display属性

可以改变显示模式的方式:

  • 用 inline-block 转换成行内块;
  • 用浮动 float 默认转换成行内块(类似,浮动脱标);
  • 绝对定位和固定定位默认转换成行内块。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玳宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值