定位包括:相对定位,绝对定位,固定定位
一、相对定位(position:relative)
1、相对元素自己原来的位置进行定位;不脱离文档流,元素在文档中占得始终是原来的位置
2.特性:
a、不影响元素本身的特性;
b、不使元素脱离文档流(元素移动之后原始位置会被保留);
c、如果没有定位偏移量,对元素本身没有任何影响;
d、提升层级
3.定位元素位置控制:top/right/bottom/left
left:正值 向右移动 负值 向左移动
top:正值 向下移动 负值 向上移动
right:正值 向左移动 负值 向右移动
bottom:正值 向上移动 负值 向下移动
(同时设置left和right,以left为准;同时设置top和bottom,以top为准)
二、绝对定位(position:absolute)
1、相对元素自己原来的位置进行定位;脱离文档流,元素在文档中不占任何位置
2、特性:
a、使元素完全脱离文档流;
b、使内嵌支持宽高;
c、块属性标签内容撑开宽度;
d、如果有定位父级相对于定位父级发生偏移,没有定位父级相对于document发生偏移;
e、相对定位一般都是配合绝对定位元素使用
f、提升层级
3、z-index:【number】:定位层级
a、定位元素默认后者层级高于前者;
b、建议在兄弟标签之间比较层级;
c、不在同一父级标签下的标签,比较层级是没有意义的
(1.改变定位元素(在z方向上)的堆叠顺序,数值大的元素堆叠在数值小的元素上面,设置了z-index值的元素层级会比没有设置的元素层级高。2、如果两个定位元素的z-index值相等,那么按照布局顺序,后布局的元素高于先布局的元素。)
三、固定定位(position:fixed)
1、与绝对定位的特性基本一致,差别是始终相对整个文档进行定位;(IE6不支持固定定位);
四、定位其他值
1、position:static;默认值
2、position:inherit;从父元素继承定位属性的值(不兼容)
五、定位清浮动方法、遮罩滤镜
1、position:absolute;绝对定位元素子级的浮动可以不用写清浮动方法;
2、position:fixed;固定定位元素子级的浮动可以不用写清浮动方法(IE6不兼容)
3、遮罩弹窗(优酷弹窗)
a、标准 不透明:opacity:0~1;
b、IE滤镜:filter:alpha(opacity=0~100);
六、定位兼容问题
1、position:relative;在IE6/7下的父级overflow:hidden;包不住子级的relative;
2、position:absolute;在IE6下定位元素的父级宽高都为奇数那么在IE6下定位的right和bottom都有1px的偏差。