定位:
- 定位指的就是将指定的元素摆放到页面的任意位置
- 通过 position 属性来设置元素的定位
- 可选值:
static:默认值,元素没有开启定位
relative:开启元素的相对定位
absolute:开启元素的绝对定位
fixed:开启元素的固定定位(也是绝对定位的一种)
1、当元素的 position 属性设置为 relative 时,则开启了元素的相对定位
1.当开启了元素的相对定位以后,而不设置偏移量时,元素不会发生任何变化
2.相对定位是相对于元素在文档流中原来的位置进行定位
3.相对定位的元素不会脱离文档流
4.相对定位会使元素提升一个层级
5.相对定位不会改变元素的性质,块还是块,内联还是内联
2、当 position 属性值设置为 absolute 时,则开启了元素的绝对定位
1.开启绝对定位,会使元素脱离文档流
2.开启绝对定位以后,如果不设置偏移量,则元素的位置不会发生变化
3.绝对定位是相对于离他最近的开启了定位的祖先元素进行定位的
一般情况,开启了子元素的绝对定位,都会同时开启父元素的相对定位
如果所有的祖先元素都没有开启定位,则会相对于浏览器窗口进行定位
4.绝对定位会使元素提升一个层级(覆盖原位置的元素)
5.绝对定位会改变元素的性质,内联元素变成块元素,块元素的高度和宽度默认都被内容撑开
3、当元素的 position 属性设置为 fixed 时,则开启了元素的固定定位
1.固定定位也是一种绝对定位,他的大部分特点和绝对定位一样
2.不同的是:
固定定位永远都会相对于浏览器窗口进行定位
固定定位会固定在浏览器窗口某个位置,不会随滚动条滚动
IE6不支持固定定位
4、如果定位元素的层级一样,则下边的元素会盖住上边的元素,通过 z-index 属性可以用来设置元素的层级
可以为 z-index 指定一个正整数作为值,该值将会作为当前元素的层级
层级越高,越优先显示
对于没有开启定位的元素不能使用 z-index
父元素的层级再高,也不会盖住子元素
5、设置元素的透明背景,opacity 可以用来设置元素背景的透明,使用 0-1之间 的值表示透明度
0:表示完全透明
1:表示完全不透明
0.5:表示半透明
opacity 属性在 IE8 及以下浏览器中不支持,需要使用 alpha(opacity=透明度)属性代替,使用 0-100 之间的值表示透明度
0:表示完全透明
100:表示完全不透明
50:表示半透明
效果无法在 IE Tester 中测试