CSS 定位

相对定位

相对定位就是相对于自己以前在标准流的位置来移动,不脱离标准流.需要配合top left right bottom 使用.会在标准流中占用空间.

注意点

  1. 同一个方向只能有一个属性
  2. 由于不脱离标准流,所以区分行内元素,块级元素,行内块级元素
  3. 由于不脱离标准流,所以相对定位的元素会占用标准流的位置,所以设置其margin/padding属性的时候会影响标准流的布局(给定位之前的盒子)

使用场景

  1. 微调: 设置顶端对齐
  2. 配合绝对定位使用

绝对定位

脱离标准流(不占位)

  1. 不区分行内元素/块级元素/行内块级元素
  2. 要配合top left right bottom 使用
  3. 当元素使用绝对定位后,元素会多出两个属性: 偏移量属性和z-index

参考点

  1. 该元素已经脱离了标准文档流(不占位),(不会占位置,宽度及长度显示随内容增减而增减)
  2. 建立的定位基准不是该元素的原来位置,而是分两种情况
    • 没有设置偏移量:无论是否存在已定位的祖先元素,都保持在元素初始位置,脱离文档流,宽度塌陷(随内容变化而变化)
    • 设置了偏移量:又分两种情况(A.无已定位的祖先元素 B.有已定位的祖先元素)
      1.无已定位的祖先元素:它会以根节点<html>为偏移参照基准
      2.有已定位的祖先元素:它会以距其最近的已定位(定位只包括绝对定位,相对定位和固定定位,静态定位不可以!)祖先元素为偏移参照基准
  3. 如果以body作为参考点是以首屏作为参考点,如果网页足够大,会随着网页的滚动而滚动
  4. 绝对定位的元素会忽略父元素的padding
  5. 一般使用父元素相对定位,子元素绝对定位实现某些效果

水平居中

注意margin: 0 auto;在绝对定位中不起作用
可以设置

left: 50%;
margin-left: -(元素宽度的一般)

固定定位

脱离标准流
1. 不区分行内元素/块级元素/行内块级元素
2. 不随滚动条滚动
3. IE6不支持固定定位

静态定位

元素默认就是静态定位

z-index

  1. 默认所有元素的z-index都是0
  2. 默认情况下定位流会覆盖标准流的东西
  3. 默认情况下定位流的元素后面编写的会盖住前面编写的
  4. 设置了z-index的话,大的在上面
    • 如果两个元素的父元素都没有设置z-index,那么子元素谁的z-index大谁在上面
    • 如果父元素设置了z-index,那么子元素的z-index就会失效.谁的父元素z-index大谁在上面
  5. 按按
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值