CSS定位

定位的组成

  • 定位 : 将盒子定在某一个位置, 所以定位也是在摆盒子
  • 定位 = 定位模式 + 边偏移
  • 定位模式用于指定一个元素在文档中的定位方式, 边偏移则决定了该元素的最终位置

定位模式

定位模式决定元素的定位方式, 它通过CSS的position属性来设置,它有四个值 :

  1. static : 静态定位
  2. relative : 相对定位
  3. absolute : 绝对定位
  4. fixed : 固定定位

静态定位 static

静态定位是元素的默认定位方式, 无定位的意思
语法 :

选择器 { position: static; }

相对定位 relative

相对定位是元素在移动位置的时候, 是相对于它原来的位置来说的
语法 :

选择器 { position: relative; }

相对定位的特点 :

  1. 它是相对于自己原来的位置来移动的
  2. 原来在标准流的位置继续占有, 后面的盒子仍然以标准流的方式对待它.

绝对定位 absolute

绝对定位是元素在移动位置的时候, 是相对于它祖先元素来说的.
语法 :

选择器 { position: absolute; }

绝对定位不再占有原来的位置

子绝父相

意思是 : 子级使用绝对定位, 父级则需要相对定位

固定定位 fixed

固定定位是元素固定于浏览器可视区的位置
语法 :

选择器 { position: fixed; }

固定定位的特点 :

  1. 以浏览器的可视窗口为参照点移动元素
  2. 固定定位不再占有原先的位置
固定定位小技巧

固定在版心右侧位置.

  1. 让固定定位的盒子left: 50%, 走到浏览器可视区的一半位置
  2. 让固定定位的盒子margin-left: 版心宽度的一半距离. 多走版心宽度的一半距离

粘性定位 sticky

语法 :

选择器 { position: sticky; top: 10px; }

粘性定位的特点 :

  1. 以浏览器的可视窗口为参照点移动元素
  2. 粘性定位占有原先的位置
  3. 必须添加 top , left, right, bottom 其中一个才有效.

边偏移

边偏移就是定位的盒子移动到最终位置, 有 top, bottom, leftright 4个属性.
绝对定位的特点 :

  1. 如果没有祖先元素或者祖先元素没有定位, 则以浏览器为准定位
  2. 如果祖先元素有定位, 则以最近一级的有定位祖先元素为参考点移动位置

定位叠放次序

使用定位布局时. 可能会出现盒子重叠的情况, 此时, 可以使用z-index 来控制盒子的前后次序
语法 :

选择器 { z-index: 1; }
  • 数值可以是正整数, 负整数或0, 默认是auto, 数值越大, 盒子越靠上
  • 如果属性值相同, 则按照书写顺序, 后来居上
  • 数字后面不能加单位
  • 只有定位的盒子才有z-index属性

定位的拓展

绝对定位的盒子居中

加了绝对定位的盒子不能通过margin: 0 auto 水平居中,但是可以通过以下计算方法实现 :

  1. left : 50%; 让盒子的左侧移动到父级元素的水平中心位置
  2. margin-left: -100px; 让盒子向左移动自身宽度的一半
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值