2011-04-09 62 views
6

偏移屬性(左,上,下,右)僅適用於非靜態位置?CSS偏移屬性和靜態位置

它們可以應用於靜態定位元素嗎?如果是這樣,與 將它們應用於非靜態定位元素有什麼不同?

+0

這些偏移屬性僅適用於定位元素(位置屬性設置爲絕對,固定或相對的元素)。 – 2011-04-09 01:07:50

回答

9

偏移它的位置的元素必須是position:relative

的座標,toprightbottomleft服務取決於如果元素是相對或絕對定位的不同的目的。

何時是一個元素偏移而不是移動?

當你真正抵消使用position: relative;元素不從流中除去,而事實上該元素將採取,如果它一直保持靜態(默認)的空間仍然保留了它,所以你剛纔抵消它的原始位置。以下任何元素會出現在那裏會做,即使你沒有抵消它的前身 - 這樣example

移動,不抵消

然而,如果你真的想移動的元素,然後將其需要從流中刪除,因此沒有爲它保留空間,然後當您使用position:absolute;或固定..這就是區別

摘要

  • static是默認的,而你只是用利潤率來移動它,它會忽略座標和z-index的

  • relative是保留空間,座標將抵消它的原始空間

  • absolute將從第Ë流通和座標將根據它的containing block,這是最近的相對定位的祖先(或者如果沒有相對定位的祖先存在body元件)來計算

  • fixed不具有包含塊,即,可以「T指定哪些元素應該定位有關,它只會自我修復相對於視

最後一個元素不會接受z-index如果它的位置是靜態的默認,所以position: relative;沒有任何座標是類似static,但它對z-索引和作爲絕對定位元素的包含塊很有用

+0

我現在絕對理解。在試圖理解其餘部分之前,我會讓這個人沉入水中。 謝謝你 – Sidhartha 2015-11-03 23:34:18

1

將它們應用於position: static元素是沒有意義的,因爲它們是靜態的。

轉移一個靜態元素超過一定的數量,您可以將它的position屬性更改爲position: relative;。現在

,你可以與周圍topleft接班等

存在着幾個類型的position,即position: fixedposition: absolute

fixed使元素固定在屏幕上,它不受滾動的影響,所以就好像它卡在計算機顯示器上一樣。設置其top等設置位置。

absolute使元素相對於文檔定位並忽略所有佈局規則。將其設置在文檔上定位的位置。

+0

你可能意指位置:static;位置:相對;顯示沒有這些值...但是如果我將偏移屬性分配給靜態定位的元素會發生什麼?一點都沒有? – DrStrangeLove 2011-04-09 01:03:50

+1

@DrStrangeLove是的,沒有。 – 2011-04-09 01:06:06

+0

您可以將其更改爲「位置:相對」,然後偏移量會將其移位。你想做什麼? – Blender 2011-04-09 15:27:48

0

它們可以應用於絕對位置元素和固定位置元素,它們本質上是相同的,但固定方式始終使用文檔窗口作爲其錨點。您也可以將它們應用於相對定位的元素,在這種情況下,它們與默認內聯定位中描述的最佳偏移量相對應。