css中的定位问题

2016-10-13  本文已影响121人  麦壳儿UIandFE2

定位:

问题:

现在在页面上有两个盒子,其中第二个盒子将第一个盒子压住了一半。

作用:

解决页面上盒子与盒子之间的==层叠问题==。

使用:

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必须与定位一起使用。==

上一篇下一篇

猜你喜欢

热点阅读