1.relative相对定位
1>.不影响元素本身的特性(只是给元素加上position:relative属性元素本身不受影响)
2>.不使元素脱离文档流
3>.如果没有定位偏移量,对元素本身没有任何影响
2.定位元素位置控制
top/left/right/bottom:定位元素偏移量
3.absolute绝对定位
1>.使元素完全脱离文档流
2>.使内嵌元素支持宽高
3>.块属性标签由内容撑开
4>.如果有定位父级相对于定位父级发生偏移,没有定位父级相对于整个文档发生偏移
5>.相对定位一般都是配合绝对定位使用的
4.定位层级 z-index:number
a.定位元素默认后者层级高于前者
5.遮罩弹窗
标准不透明 opacity: number 其中number为0到1之间的数字
IE滤镜 filter:alpha(opacity=number) 其中number为0 到100之间的数字, 标准不透明属性在ie下不起作用,所以为了兼容ie需要加上ie滤镜
示例代码:
.mask{ background: #000; height: 100%; 100%; position: absolute; opacity: 0.5; filter:alpha(opacity=50); left: 0px; top: 0px; } .login{ 400px; height: 300px; position: absolute; background: #fff; margin-left: -200px; margin-top: -150px; left: 50%; top: 50%; }
<div class="mask">
</div>
<div class="login">
<h3>登录</h3>
</div>
效果图:
6.固定定位 position:fixed
与绝对定位的特性基本一致,差别是始终相对于文档进行定位,也就是说纵轴出现滚动条,滚动滚动条的时候,位置也是不会随着滚动而改变。
问题:IE6不支持固定定位。
7.定位的兼容问题、清浮动方法
position:relative;
在 IE6 下父级的 overflow:hidden; 包不住子级的relative;
position:absolute;
在 IE6 下定位元素的父级宽高都为奇数那么在 IE6 下定位元素的 right 和 bottom 都有1像素的偏差。
position:absolute; 绝对定位元素子级的浮动可以不用写清浮动方法;
position:fixed; 固定定位元素子级的浮动可以不用写清浮动方法;(IE6不兼容)