DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> CSS中Position屬性用法及作用
CSS中Position屬性用法及作用
編輯:CSS詳解     

在CSS布局中,Position發揮著非常重要的作用,很多容器的定位是用Position來完成,CSS中Position屬性有四個可選值,它們分別是:static、absolute、fixed、relative。

使用CSS:Position屬性

Position的英文原意是指位置、職位、狀態。也有安置的意思。在CSS布局中,Position發揮著非常重要的作用,很多容器的定位是用Position來完成。
Position屬性有四個可選值,它們分別是:static、absolute、fixed、relative。我們下面來共同學習它們的不同的用法,在學習中我們應該去思考在什麼布局情況下,應該使用它們其中的哪一種。
更多關於Position屬性的資料請參考這裡。

  Position:static 無定位

該屬性值是所有元素定位的默認情況,在一般情況下,我們不需要特別的去聲明它,但有時候遇到繼承的情況,我們不願意見到元素所繼承的屬性影響本身,從而可以用Position:static取消繼承,即還原元素定位的默認值。
如:#nav{Position:static;}

  Position:absolute 絕對定位

使用Position:absolute,能夠很准確的將元素移動到你想要的位置,讓我將nav移動到頁面的右上角。我們可以這樣寫:nav{Position:absolute;top:0;right:0;width:200px;}
使用絕對定位的nav層前面的或者後面的層會認為這個層並不存在,也就是在z方向上,它是相對獨立出來的,絲毫不影響到其它z方向的層。所以Position:absolute用於將一個元素放到固定的位置很好用,但是如果需要層相對於附近的層來確定位置就無能為力了。只能用下面討論到的相對定位了。
這裡有個WinIE的bug需要提到,就是如果為絕對定位的元素定義一個相對的寬度,那麼在IE下它的寬度取決於父元素的寬度而不是整個頁面的寬度。

Position:fixed 相對於窗口的固定定位

這個定位屬性值是什麼意思呢?元素的定位方式同absolute類似,但它的包含塊是視區本身。在屏幕媒體如WEB浏覽器中,元素在文檔滾動時不會在浏覽器視察中移動。例如,它允許框架樣式布局。在頁式媒體如打印輸出中,一個固定元素會出現於第一頁的相同位置。這一點可用於生成流動標題或腳注。我們也見過相似的效果,但大都數效果不是通過CSS來實現了,而是應用了JS腳本。
請特別注意,IE6不支持CSS中的Position:fixed屬性。真的非常遺憾,要不然我們就可以試試這種酷酷的效果了。

Position:relative 相對定位

所謂相對定位到底是什麼意思呢,是基於哪裡的相對呢?我們需要明確一個概念,相對定位是相對於元素默認的位置的定位。既然是相對的,我們就需要設置不同的值來聲明定位在哪裡,top、bottom、left、right四個數值配合,來明確元素的位置。如果要讓nav層向下移動20px,左移40px:
我們可以這樣寫:#nav{Position:relative;top:50px;left:50px;}
但您需要注意下面的情況,相對定位緊隨他的層woaiCSS是不會出現在nav的下方,而是和nav發生一定的重疊!

我們看下面的代碼運行效果。

SourceCodetoRun

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHtml1.0Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xHtml1-strict.dtd">
  3. <HtmlXMLnsHtmlXMLns="http://www.w3.org/1999/xHtml">
  4. <head>
  5. <metahttp-equivmetahttp-equiv="Content-Type"content="text/Html;charset=utf-8"/>
  6. <title>www.div-CSS.Net</title>
  7. <styletypestyletype="text/CSS">
  8. #nav{
  9. width:200px;
  10. height:200px;
  11. Position:relative;
  12. top:50px;
  13. left:50px;
  14. background:#ccc;
  15. }
  16. #woaiCSS{
  17. width:200px;
  18. height:200px;
  19. background:#c00;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <dividdivid="nav"></div>
  25. <dividdivid="woaiCSS"></div>
  26. </body>
  27. </Html>

[可先修改部分代碼再運行查看效果]

由此可知Position:relative並不是很好用的哦,nav已經移走了,相對於原來的位置,向右向左各移了50px。但我們的另一個容器woaiCSS什麼也沒有察覺,當作nav是在原來的位置上(即00的位置,而不是5050),不依不饒的緊跟在nav的後面。大家在使用時要注意方法與總結經驗。

文章來源:Div-CSS.net設計網參考:http://www.div-CSS.Net/div_CSS/topic/index.ASP?id=7034

【編輯推薦】

  1. CSS中padding-bottom屬性用法解析
  2. 實例解析CSS padding 屬性用法
  3. 探究IE和Firefox下的2款HTTP調試工具用法
  4. CSS教程:詳解margin和padding屬性應用場合
  5. 實現IE6、IE7、IE8多版本浏覽器共存的五種方法
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved