关于position的四个属性

Position的四个属性值

  1. relative
  2. absolute
  3. fixed
  4. static

 

下面分别讲述这四个属性

 1.relative

relative是相对它本身的位置来进行偏移的。当设置了relative属性的时候,将根据top,right,bottom,left的值按照它理应所在的位置进行偏移,设置了relative的部分不会影响其他部分的位置。

2.absolute

当position设置为absolute后,其到底以谁为对象进行偏移呢?这里分为两种情况(来源于网络): 

(1)    当父对象(或曾祖父,只要是父级对象)parent也设置了position属性,且position的属性值为absolute或者relative时,不是默认值的情况,此时按照这个parent来进行定位。 

对象虽然确定好了,但有些细节需要注意,那就是我们到底以parent的哪个定位点来进行定位呢?如果parent设定了margin,border,padding等属性,那么这个定位点将忽略padding,将会从padding开始的地方(即只从padding的左上角开始)进行定位,也就是忽略padding,当然并不会忽略margin和border。  接下来的问题是,由于当position设置为absolute后,会导致absolute部分溢出正常的文档流,就像它不属于 parent一样,它漂浮了起来,在DreamWeaver中把它称为“层”,其实意思是一样的。此时其他部分将获得已absolute部分的位置,它的文档流不再基于已设置的部分,而是直接从parent开始。

(2)    如果不存在一个有着position属性的父对象,那么就会以body为定位对象,按照浏览器的窗口进行定位。

3.fixed

fixed总是以body为定位对象的,按照浏览器的窗口进行定位,即使拖动滚动条,位置也不会改变。

4.static

position的默认值,一般不设置position属性时,会按正常的文档流进行排列。

猜你喜欢

转载自www.cnblogs.com/xiaoyueyuedeboke/p/9693402.html
今日推荐