定位:
1. CSS 三大布局:
盒子模型 浮动 定位
2. CSS的 三大布局流:
标准流 (从左到右 从上到下 有空位则自动补)
浮动流 (元素进行浮动,在标准流之上,多个浮动元素会相互紧贴)
定位流 (元素进行定位,在标准流、浮动流之上,可以在任意位置,也可以相互覆盖)
3. 元素的定位属性主要包括定位模式和边偏移(偏移值)两部分
常用定位模式:
相对定位:
绝对定位:
固定定位:
偏移值:
left
right
top
bottom
单位: px / 像素 , 百分比
4. 偏移量(偏移值): 指元素某个位置 跟 某元素的距离
left 元素与左面的距离
right 元素与右边的距离
top 元素与上边的距离
bottom 元素与下边的距离
(尽量避免同时设置上与下、左与右)
5. 定位属性:
定位元素会根据html的结构 进行层级覆盖(后写的html会覆盖先写的html)
5.1 相对定位:
语法: position:relative;
作用: 相对定位是将元素相对于它在标准流中的位置进行定位,对元素设置相对定位后,可以通过边偏移属性改变元素的位置,但是它在文档流中的位置仍然保留。
特性:
1. 使元素具有定位属性(偏离量)
2. 以自身(定位前的位置)为偏离标准
3. 进入定位流(但是会保留元素原本位置)
4. 保留元素属性(原来为块级元素 定位后还是块级元素)
5.2 绝对定位:
语法: position:absolute;
特性:
1. 将元素脱离标准流,进入定位流(元素不再占用空间)
2. 元素会被暗转为 行内块级元素(inline-block)
3. 偏离值的参照对象 优先寻找最近(爸爸、爷爷、姥爷)定位元素 如果没有定位元素则会以浏览器为定位元素
小技巧:
通常使用绝对定位 会将父元素设置相对定位来配合绝对定位
(子绝父相)