CSS中position屬性的用法和作用

2020-12-13 51CTO

CSS中position屬性的用法和作用

本文向大家介紹一下CSS中Position屬性的用法和作用,Position屬性有四個可選值,它們分別是:static、absolute、fixed、relative。

作者:admin來源:div-css.net|2010-08-24 15:11

你對CSS中position屬性的用法是否了解,這裡和大家簡單分享一下,在CSS布局中,Position發揮著非常重要的作用,很多容器的定位是用Position來完成。

如何正確的使用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發生一定的重疊!

由此可知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實現文本垂直居中的三種情況
  2. IE6.0對padding的解讀分析
  3. 揭露CSS中margins摺疊現象內幕
  4. 七大CSS選擇符用法說明
  5. 技術分享 如何使用CSS控制超連結文字樣式

【責任編輯:

程華權

TEL:(010)68476606】

點讚 0

相關焦點

  • 詳解CSS定位屬性Position用法
    詳解CSS定位屬性Position用法 CSS中最常用的布局類屬性,一個是Float(CSS浮動屬性Float詳解),另一個就是CSS定位屬性Position,這裡向大家描述一下CSS定位屬性Position的用法。
  • 對CSS中的Position、Float屬性的一些深入探討
    1、HTML布局的基本要點(點我直接跳轉)2、Position屬性(點我直接跳轉)屬性值介紹用法介紹一些關於position的小知識3、Float屬性(點我直接跳轉)屬性值介紹用法介紹與Position之間的兼容問題HTML布局的基本要點:
  • 實例解析HTML DOM position屬性用法
    實例解析HTML DOM position屬性用法 CSS中position屬性的用法相信大家應該有所了解,這裡向大家描述一下HTML DOM position屬性的定義,position屬性把元素放置到一個靜態的、相對的、絕對的、或固定的位置中。
  • CSS之定位一(position屬性)
    本文我們討論涉及定位的position屬性。首先我們來看一下position對應的值及其含義(表1)。圖1:relative子元素位置變化圖1中外框和除position屬性值不一樣外,其他css屬性均一致,其內外框html和相同部分css見圖2。
  • CSS中position定位和z-index屬性用法詳解
    你對CSS中的position定位和z-index屬性的用法是否了解,position屬性中static、absolute、relative三個參數,這裡和大家分享一下其用法。深入理解CSS中的position定位和z-index屬性由於平時不太用到,所以過去寫CSS的時候對於position屬性的absolute、relative值理解比較模糊,對於z-index的層疊更是摸不著頭腦,除了理解的因素外,各個瀏覽器的不同解析結果也是一個大問題。
  • 深入探究DIV CSS布局中position屬性用法
    本文向大家描述一下DIV CSS布局中的position屬性的用法,position屬性主要有四種屬性值,任何元素的默認position的屬性值均是static,靜態。這節課主要講講relative(相對)以及absolute(絕對)。
  • CSS 絕對定位屬性absolute用法初探
    CSS 絕對定位屬性absolute用法初探 本文向大家介紹一下CSS絕對定位屬性:absolute屬性的用法,CSS絕對定位使元素的位置與文檔流無關,因此不佔據空間。
  • css left屬性左邊緣偏移
    left屬性定義及用法在css中,left屬性是使用來定義定位元素左外邊距邊界與其包含塊左邊界之間的偏移,其實就是元素向右的偏移量;left屬性通常和position、right、top、bottom等屬性一起使用
  • DIV+CSS中padding和margin屬性用法
    DIV+CSS是現在網頁布局的主流,你對其中的padding和margin兩個重要屬性的用法是否了解,這裡和大家分享一下,相信本文介紹一定會讓你有所收穫。
  • css right屬性右邊緣偏移
    right屬性定義及用法在css中,right屬性是使用來定義定位元素右外邊距邊界與其包含塊右邊界之間的偏移。和該屬性相似的屬性有left、top、bottom,通常相互配合用來定位元素的位置。這幾個偏移屬性必須和position屬性一起使用,而其position屬性值不能為static(默認),不然left、right、top、bottom偏移屬性是沒有效果的;對於static元素,為auto;對於長度值,則為相應的絕對長度;對於百分比數值,為指定值;否則為auto。對於相對定義元素,left的計算值始終等於right。
  • CSS margin屬性與用法教程
    margin 屬性是css用於在一個聲明中設置所有 margin 屬性的簡寫屬性,margin是css控制塊級元素之間的距離
  • CSS定位屬性Position詳解
    CSS中最常用的布局類屬性,一個是Float(CSS浮動屬性Float詳解),另一個就是CSS定位屬性Position。1. position:static所有元素的默認定位都是:position:static,這意味著元素沒有被定位,而且在文檔中出現在它應該在的位置。一般來說,不用指定 position:static,除非想要覆蓋之前設置的定位。
  • CSS固定定位{position:fixed}
    這就是通過CSS的定位屬性{position:fixed}來實現的,通過它可以讓HTML元素脫離文檔流固定在瀏覽器的某個位置。IE7、Firefox、Opera,都支持CSS的{position:fixed},所以很容易實現(《詳解定位與定位應用》) IE6不支持該屬性,但是在使用!
  • 聊聊 CSS3 中的 object-fit 和 object-position
    趁著今天有點空閒,決定再來折騰一下CSS3中的兩個屬性:object-fit和object-position。這兩個奇葩的屬性是做什麼的呢?其實它們是為了處理替換元素(replaced elements)的自適應問題,簡單的說,就是處理替換元素的變形(這裡指長寬比例變形)問題。
  • CSS樣式--字體屬性和文本屬性
    font字體屬性css樣式中,字體屬性有以下幾種:p{    font-size:50px; /*字體大小*/    line-height: 30px; /*行高*/,它的作用是:將上面的多個屬性寫在一個聲明中。
  • css list-style-type屬性筆記
    list-style-type屬性定義及用法在css中,list-style-type屬性是使用來設置列表項標記的類型,在有序列表和無序列表中經常都會使用該屬性。目前,所有主流瀏覽器都支持list-style-type屬性,但是任何版本的Internet Explorer(包括 IE8)都不支持屬性值"decimal-leading-zero"、"lower-greek"、"lower-latin"、"upper-latin"、"armenian"、"georgian" 或 "inherit";
  • 網頁設計中css float 屬性以及position:absolute 的區別
    文章來源:jb51網相信很多人都有這樣的問題,在頁面布局中float和position:absolute哪個更好用呢?
  • css3必須了解的知識 css中常見的樣式屬性和值
    繼續上一篇文章的繼續了解css的基礎知識 全棧學習筆記,不同平臺不同的我!css中常見的樣式屬性和值字體與顏色背景屬性文本屬性邊框屬性*/ list-style-image: url();/*屬性使用圖像來替換列表項的標記*/ list-style-position: inside;/*屬性設置在何處放置列表項標記*/}定位屬性定位屬性一般來說用得比較多,希望你能看懂下面的代碼
  • css flex屬性筆記
    flex屬性定義及用法在css中,flex屬性是使用來設置或檢索彈性盒模型對象的子元素如何分配空間,是 flex-grow屬性、flex-shrink屬性和 flex-basis 屬性的簡寫屬性。flex屬性針對的是彈性盒模型對象的子元素,對於其它元素,flex屬性不起任何作用;一些主流瀏覽器還不支持flex屬性,需要在該屬性之前加對應的前綴才能識別該屬性。Internet Explorer 9及更早版本不支持flex屬性,但是可以通過-ms-flex屬性來支持, IE11 及更新版本完全支持flex屬性,不再需要-ms-前綴。
  • CSS樣式全部屬性和難記憶點(歸納)
    有一些CSS的冷門樣式太多了,但是又想記住,可以看這篇文章,這篇文章包括了一些css需要記憶的一些屬性,不包括平時經常使用的(相信你已經接觸的太多了)偽類選擇器偽類作用:link未訪問:visited已訪問:hover滑鼠移動到連結上:active選定的連結文字陰影