前言
实际开发中,一个页面基本都包含三种布局方式: 先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置,如果想让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,这时就用到了第三种布局方式,定位.
一、定位的组成
定位=定位模式(用于指定一个元素在文档中的定位方式)+边偏移(决定了该元素的最终位置)
1.定位的用法
选择器 {
position: relative;
top: 100px;
left: 100px;
}
2.定位模式常用值
其中position的值常用的有三种分别是:relative(相对定位)、absolute(绝对定位)、fixed(固定定位)
-
relative:
1.它是相对于自己原来的位置来移动的(移动位置的时候参照点是自己原来的位置)
2.原来的标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它.(不脱标,继续保留原来位置) -
absolute:
1.如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位
2.如果祖先元素有定位(相对、绝对、固定定位),则以最近一级的有定位祖先元素为参考点移动位置.
3.绝对定位 不再占有原先的位置.(脱标) -
fixed:
1.以浏览器的可视窗口参照点移动元素 跟父元素没有任何关系,不随滚动条滚动
2.固定定位 不在占有原先位置固定定位也是脱标的,其实固定定位也可以看作时一种特殊的绝对定位.
3.相对定位和绝对定位的重要用法
相对定位经常用来作为绝对定位的父级.
因为父级需要占有位置,因此是相对定位,子盒子不需要占有位置,则是绝对定位.
当然,子绝父相不是永远不变的,如果父元素不需要占有位置,子绝父绝也会遇到.
二、代码
代码如下(示例):
.father {
position:relative;
}
.child {
position:absolute;
}