CSS定位
1.1为什么需要定位?
1.浮动可以让多个盒子一行没有缝隙排列显示,经常是横向排列盒子.
2.定位则可以让盒子在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子。
1.2定位组成
定位:将盒子定在某一位置,所以定位也是在摆放盒子,将按照定位的方式移动盒子。‘
定位=定位模式+边移量。
1.定位模式用于指定一个元素在文档中的定位方式,边偏移则决定钙元素的最终
1.定位模式决定元素的定位方式,它通过css的position属性,其值可以分为4个:
static 静态定位
realative 相对定位
absolute 绝对定位
fixed 固定定位
**2.边偏移 **
边偏移就是定位的盒子移动到最终位置,有top bottom left right四个属性。
top 顶端偏移量,定义元素相对于其父元素上边线的距离
bottom 底部偏移量 元素相对于其父元素下边线的距离。
left 左偏移量 定义元素相对于其父元素左边线的距离
right 右偏移量 定义元素相对于其父元素右边线的 距离。
1.3 静态定位(static了解)
语法:
{
选择器{postion : static;}
}
.静态定位按照标准流特性摆放位置,他没有边移量。
1.4相对定位(relative)
相对定位是元素在移动位置的时候,是相对于原来的位置来说得(自恋型)
语法:
{
选择器{position relative;}
}
相对定位的特征(务必记住):
1.它是对于自己原来的位置移动的(移动的位置参照点是自己原来来的位置)
2.原来在标准流的位置继续占有,后面的盒子仍以标准的方式来对待它(不脱标,继续保留原来的位置)
1.5绝对定位(absolute重要)
绝对定位是元素在移动位置的时候,是相对于它祖先元素来说的(拼爹型)
语法:
{
选择器{position : absolute;}
}
绝对定位的特点:(务必记住):
1.如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位。
2.如果祖先元素有定位(相对、绝对、固定定位),则以最近一级有定位祖先元素为参考点移动位置
3.绝对定位不再占有原来的位置,而进行了漂浮(脱标)
1.6子绝父相的由来:
1.子级使用绝对定位,父级则需要相对定位。
2.父盒子需要加定位限制子盒子在父盒子内显示
3.父盒子布局时,需要占位置,因此父亲只能是相对定位。
总结:因为父级需要占位置,因此是相对定位,子盒子不需要占有位置,则是相对定位。
1.7固定定位fixed(重要)(特殊的绝对定位,脱硫)
固定定位是元素固定于浏览器可视区域的位置。主要使用场景:可以在浏览器页面滚动时元素的位置不会改变。
语法:
选择器{position:fixed;}
固定定位的特点:(务必记住)
1.以浏览器的可视窗口为参照点移动元素。
- 跟父元素没有任何关系
- 不随滚动条滚动
2.固定定位不占有原先的位置。
固定定位也是脱流的,其实固定定位也可以看作是一种特殊的绝对定位。
定位总结
定位模式 是否脱标 移 动位置 是否常用
static静态定位 否 不能使用边移量 很少
relative相对定位 否(占有位置) 相对于自身位置移动 常用
absolute绝对定位 是(不占有位置) 带有定位的父级 常用
fixed固定定位 是(不沾有位置) 浏览器可视区 常用
1.一定要记住相对定位,固定定位、绝对定位两个大的特点:1.是否占有原位置(脱标否)2.以谁为基准点移动位置。
2.学习定位重点学会子绝父用。