css的position屬性值

2021-07-05 04:56:38 字數 2845 閱讀 9621

css樣式表中的position屬性詳細說明

在css中關於position定位的內容是:

position: relative | absolute | static | fixed

static(靜態) 沒有特別的設定,遵循基本的定位規定,不能通過z-index進行層次分級。

relative(相對定位) 物件不可層疊、不脫離文件流,參考自身靜態位置通過 top,bottom,left,right 定位,並且可以通過z-index進行層次分級。

absolute(絕對定位) 脫離文件流,通過 top,bottom,left,right 定位。選取其最近乙個最有定位設定的父級物件進行絕對定位,如果物件的父級沒有設定定位屬性,absolute元素將以body座標原點進行定位,可以通過z-index進行層次分級。

fixed(固定定位)這裡所固定的參照對像是可視視窗而並非是body或是父級元素。可通過z-index進行層次分級。

css中定位的層疊分級:z-index: auto | namber;

auto 遵從其父物件的定位

namber 無單位的整數值。可為負數

relative(相對定位)只可以在文字流中進行位置的上下左右的移動,雖然他的表現區脫離了文字流,但是在文字流卻依然為其保留了一席之地,這就好比乙個打工的人他到了外地,但是在老家依然有乙個專屬於他的位置,這個位置不隨他的移動而改變。這樣很明顯就會空出一塊空白來,如果希望文字流拋棄這個部分就需要用到絕對定位。

absolute(絕對定位)不光脫離了文字流,而且在文字流中也不會給這個絕對定位元素留下專屬空位。這就好比是乙個工廠裡的職位,如果有乙個工人走了自然會要有別的工人來填充這個位置。而移動出去的部分自然也就成為了自由體。絕對定位將可以通過trbl(top、right、bottom、left簡稱trbl)來設定元素,使之處在任何乙個位置。在父層position屬性為預設值時,trbl的座標原點以body的座標原點為起始。

關於position

1. position:static

所有元素的預設定位都是:position:static,這意味著元素沒有被定位,而且在文件中出現在它應該在的位置。

一般來說,不用指定 position:static,除非想要覆蓋之前設定的定位(也就是說,不繼承父容器的position屬性值!!!)。

2. position:relative

如果設定 position:relative,就可以使用 top,bottom,left 和 right 來相對於元素在文件中應該出現的位置來移動這個元素。

意思是元素實際上依然佔據文件中的原有位置,只是上相對於它在文件中的原有位置移動了。

3. position:absolute

當指定 position:absolute 時,元素就脫離了文件(即在文件中已經不佔據位置了),可以準確的按照設定的 top,bottom,left 和 right 來定位了。

inherit (值)屬性:

inherit故名思意是「繼承」的意思。所以它所表達的值也是繼承相關的了。

通過在特定元素上設定某些樣式來告訴該元素 「繼承」它父級元素的所有已新增的屬性,這樣你就可以避免相當多的鍵盤輸入。

所以,與其重新寫這些值,你可能僅僅想要考慮中的元素和其父級元素有相同 的背景屬性,乙個 inherit 值就可以搞定一切——這顯然大大的節省了鍵盤輸入。

繼承的文字

p中間的文字

繼承的文字

很可惜的是inherit 值在ie6和ie7不被支援(除了用於 direction (文字方向) 和 visibility 屬性)。

css樣式表中繼承關係的空格與不空格

點評:  這可能是乙個非常簡單的問題,但是今天花一點點時間把這個簡單的問題在說清晰一點,相信大家對css的學習和認識會很有幫助,強化一些概念的東西,對以後的工作效率的提高是很有裨益的。   我們看過一些樣式表檔案的樣式名都寫的很長,比如:body #header .topbar

這可能是乙個非常簡單的問題,但是今天花一點點時間把這個簡單的問題在說清晰一點,相信大家對css的學習和認識會很有幫助,強化一些概念的東西,對以後的工作效率的提高是很有裨益的。

我們看過一些樣式表檔案的樣式名都寫的很長,比如:body #header .topbar.logo,這是因為利用了元素的繼承關係,利用元素名,或者id名和類名(也就是class名)來精確定位和描述某乙個區域的css樣式**式。

初學樣式表的人肯定會說,我要精確定位乙個區域的樣式表,用乙個class名不就可以嗎,還需要這麼麻煩嗎?這話說的沒錯,做只有幾個頁面的小網頁,也確實不用這麼麻煩,但是當你規劃乙個大型**的時候,你就肯定要利用web元素的繼承關係,按照從大區域到小區域的次序來寫css文件。這就就象畫畫一樣,學過繪畫的朋友,都知道,像素描都是先打型然後在鋪大色調,最後是深入刻畫。css文件也是,確定大區域的結構,然後在深入繼承和規劃。

好了,言歸正傳,今天要講的是css樣式表中繼承關係的空格與不空格的問題。先看下面的乙個例子:

這是我的css檔案:

這是我的body元素裡的**:

在css檔案裡td後面跟著的class名是 a 和 b ,a裡面我定義的字型顏色是綠色,b裡面我定義的字型顏色是紅色.現在我要說的是,這兩個樣式表寫法都是正確的,類名b沒有空格連著元素,而類名a有空格接著元素,執行此**,你發現頁面顯示字型為綠色,這說明頁面讀取了樣式表td空格a的內容,由此我們可以推斷,頁面樣式表檔案是按照頁面元素由里到外的次序來讀取的,取近舍遠的原則。

如果我們把樣式表td空格a的空格去掉,你會發現,現在頁面字型的顏色是讀取的樣式表b裡的內容,字型變為紅色的了。這說明了不空格的樣式表寫法是針對在當前所在元素內而定的,(因為在頁面td元素**裡我們只有寫class=b,而沒有a,所以a樣式表的內容將不在頁面中表現出來),而有空格的樣式表寫法是繼承了當前元素內某個元素而定,通過反覆的幾次測試,繼承的層級至少是乙個層級以上就可以了,具體沒有嚴格的規定。

CSS中position的幾個屬性值

b position的四種取值 b static static定位就是不定位,出現在 就顯示在 這是預設取值,只有在你想覆蓋以前的定義時才需要顯示指定 relative relative 就是相對元素static定位時的位置進行偏移,如果指定static時top是50象素,那麼指定relative並...

position 的屬性值

理論上來說,全部 position 的取值有8個 包括 position static relative absolute fixed sticky initial inherit unset 其中最常用的是 static relative absolute fixed 和 sticky initi...

CSS 定位position屬性

div h1 或 p 元素常常被稱為塊級元素。這意味著這些元素顯示為一塊內容,即 塊框 與之相反,span 和 strong 等元素稱為 行內元素 這是因為它們的內容顯示在行中,即 行內框 您可以使用 display 屬性改變生成的框的型別。將 display 屬性設定為 block,可以讓行內元素...