定位:
问题:
现在在页面上有两个盒子,其中第二个盒子将第一个盒子压住了一半。
作用:
解决页面上盒子与盒子之间的==层叠问题==。
使用:
position:(位置)
PS:
==********如果定位的盒子没有宽高,那么默认宽高为****0;****==
如果给子盒子设置宽度为100%,那么这个子盒子的宽与父盒子一样宽。
取值:
static:静态的
position:static;静态定位。
所有的标准流中的元素都是静态定位。
relative:相对的
position:relative:相对定位。
****==****使用的时候还要配合:****top,left,right,bottom****来使用。****==****
特点: 如果设置了相对定位并且设置了trbl属性,那么将来盒子会以盒子原本的位置发生偏移。
以.two盒子原来的位置发生偏移,在水平方向向右移动了20像素,在垂直方向也向下移动 了20个像素。
==1.0相对于原来的位置进行平移。
2.0设置了相对定位的元素在页面上占据了位置(没有脱离标准流)。
3.0如果没有trbl会以标准流显示==
absolute:绝对的
position:absolute//绝对定位
使用的时候也要配合trbl属性来使用
特点:
1.0如果这个元素没有父元素,那么将来trbl是相对于body来定位的
2.0如果绝对定位的元素有父元素,但是==父元素没有定位,那么这个时候trbl还是相对于body来定位的。==
3.0如果绝对定位的元素有父元素,而且==父元素有定位(非static)==,那么这个绝对定位的元素==偏移是以自己的父元素为基础。==
4.0绝对定位之后的元素在页面不会占据位置(绝对定位以后的元素==会脱离标准流==)。
3.0==如果没有trbl会以标准流显示==
将来在写页面的时候==用的最多==的既不是绝对定位也不是相对定位,而是绝对定位与相对定位一起使用:(规范)==子绝父相==。
子元素使用绝对定位,父元素使用相对定位。
**********案例:**********
***********小盒子在大盒子中要定位并且水平居中***********:
==先left: 50%,==将小盒子在大盒子平移大盒子的一半,再设置==margin-left:-(小盒子宽度的一半),注意一定是负数,==那么将来小盒子在大盒子中就可以水平居中了。
fixed:固定
position:fixed。
使用的时候也要配合trbl属性来使用
特点:
不管页面有多大,trbl永远是==相对于浏览器的边框来的==。
固定定位的元素==也脱离了标准流==(不在页面上占据位置)
==没有trbl在页面上不会显示。==
z-index与定位一起使用:
作用:可以==设置盒子的层级==。
注意:
1.0z-index可以取所有的整数(负整数,0,正整数)
2.0==z-index必须与定位一起使用。==
网友评论