css中html元素定位position|CSS中HTML元素定位Position参数可选值详解

更新时间:2019-10-12    来源:样式布局    手机版     字体:

【www.bbyears.com--样式布局】


position 属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。
默认值: static
语法: position : static | absolute | fixed | relative
继承性: no
版本: CSS2
JavaScript 语法: object.style.position=”absolute”

static

元素的box模型其位置预设为静态(static)即隐含宣告了position:static
此时若有宣告 top, right, bottom, left 等属性视为无效,因static的意思就是固定了位置。
此元素位于其它元素之后或之前,端视原始文件中的元素出现先后顺序,或说 此元素的位置位于正常的文件流程之中(normal flow of the document)不因 top, right, bottom, left 等属性而改变其位置,故称之为static。

absolute

元素的box模型其位置若为绝对(absolute)即确实宣告了position:absolute
此时若有宣告 top, right, bottom, left 等偏移(offset)属性则会以父元素的边界位置为基点,再作对应的距离调整。
此时所说的父元素指的是前一个以absolute或relative宣告其位置的元素,若之前都没有此定位的元素存在,则以元素所在的视窗最大可视范围边界为基点。
设定为absolute的元素会不存在于正常文件流程的位置,也可能会覆盖其它元素。
若确实宣告了position:absolute 但没有宣告 top, right, bottom, left 等属性,则显示会在原来文件流程中的位置,但因不存在于正常文件流程中,所以会覆盖后一个元素的显示。

relative

元素的box模型其位置若为相对(relative)即确实宣告了position:relative
此时若有宣告 top, right, bottom, left 等偏移(offset)属性则会以元素本身在正常的文件流程之位置为基点,再作对应的距离调整。
设定为relative的元素在正常文件流程的位置会被「保留」『空』下来,但此元素会遵从top, right, bottom, left 等属性的指示偏移到指定的位置上,也可能会覆盖其它元素。
若确实宣告了position:relative 但没有宣告 top, right, bottom, left 等属性,则显示位置会停留在原先自身的保留位置上。

fixed

元素的box模型其位置若为固定(fixed)即确实宣告了position:fixed
此时若有宣告 top, right, bottom, left 等偏移(offset)属性则会以元素所在的视窗最大可视范围边界为基点,再作对应的距离调整。
设定为fixed的元素会不存在于正常文件流程的位置,也可能会覆盖其它元素。
若确实宣告了position:fixed 但没有宣告 top, right, bottom, left 等属性,则显示会在原来文件流程中的位置,但因不存在于正常文件流程中,所以会覆盖后一个元素的显示。

例子




CSS中HTML元素定位Position参数可选值详解



元素(element)的定位(position)



static

 
  元素的box模型其位置???殪o?B(static)即?含宣告了position:static
  此?r若有宣告 top, right, bottom, left 等?傩砸???o效,因static的意思就是固定了位置。
  此元素位於其它元素之後或之前,端?原始文件中的元素出?先後?序,或? 此元素的位置位於正常的文件流程之中(normal flow
of the document)不因 top, right, bottom, left 等?傩远?淖?其位置,故?之??tatic。
 

absolute

 
  元素的box模型其位置若?榻^??absolute)即???宣告了position:absolute
  此?r若有宣告 top, right, bottom, left 等偏移(offset)?傩?t??愿冈?氐倪?界位置?榛?c,再作???木嚯x?整。
  此?r所?的父元素指的是前一??以absolute或relative宣告其位置的元素,若之前都?]有此定位的元素存在,?t以元素所在的?窗最大可?????界?榛?c。
  ?定??bsolute的元素??淮嬖陟墩?N募?鞒痰奈恢茫?部赡??采w其它元素。 
  若???宣告了position:absolute 但?]有宣告 top, right, bottom, left 等?傩裕?t?示??谠?砦募?鞒讨械奈恢茫??虿淮嬖陟墩?N募?鞒讨校????采w後一??元素的?示。
 

relative

 
  元素的box模型其位置若?橄??relative)即???宣告了position:relative
  此?r若有宣告 top, right, bottom, left 等偏移(offset)?傩?t??栽?乇旧碓谡?5奈募?鞒讨?恢?榛?c,再作???木嚯x?整。
  ?定??elative的元素在正常文件流程的位置??弧副A簟埂嚎铡幌?恚??嗽?????op, right, bottom, left 等?傩缘闹甘酒?频街付ǖ奈恢蒙希?部赡??采w其它元素。
  若???宣告了position:relative 但?]有宣告 top, right, bottom, left 等?傩裕?t?示位置??A粼谠?茸陨淼谋A粑恢蒙稀?lt;/li>     
 

fixed

 
  元素的box模型其位置若?楣潭?fixed)即???宣告了position:fixed
  此?r若有宣告 top, right, bottom, left 等偏移(offset)?傩?t??栽?厮?诘囊?窗最大可?????界?榛?c,再作???木嚯x?整。
  ?定??ixed的元素??淮嬖陟墩?N募?鞒痰奈恢茫?部赡??采w其它元素。 
  若???宣告了position:fixed 但?]有宣告 top, right, bottom, left 等?傩裕?t?示??谠?砦募?鞒讨械奈恢茫??虿淮嬖陟墩?N募?鞒讨校????采w後一??元素的?示。
 

有?追N移?釉?匚恢玫姆椒??lt;/dt>

 
  利用box模型的??界移?釉?匚恢谩?lt;/li>
  利用float?傩愿?釉?匚恢谩?lt;/li>
  利用position移?釉?匚恢谩?lt;/li> 
 


所有元素皆???300px, 高100px




此 box1 元素的左偏移?傩?00px, 上偏移?傩?00px, 定位??tatic
此 box2 元素的左偏移?傩?50px, 上偏移?傩?50px, 定位??bsolute
此 box3 元素的左偏移?傩?00px, 上偏移?傩?00px, 定位??elative
此 box4 元素的左偏移?傩?50px, 上偏移?傩?50px, 定位??ixed


所有元素皆???300px, 高100px


本文来源:http://www.bbyears.com/css/72708.html