css中的定位(position)

2021-07-29 03:52:35 字數 1036 閱讀 5368

w3c中對position各個 屬性值定義:

static

元素框正常生成。塊級元素生成乙個矩形框,作為文件流的一部分,行內元素則會建立乙個或多個行框,置於其父元素中。

relative

元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所佔的空間仍保留。

absolute

元素框從文件流完全刪除,並相對於其包含塊定位。包含塊可能是文件中的另乙個元素或者是初始包含塊。元素原先在正常文件流中所佔的空間會關閉,就好像元素原來不存在一樣。元素定位後生成乙個塊級框,而不論原來它在正常流中生成何種型別的框。

fixed

元素框的表現類似於將 position 設定為 absolute,不過其包含塊是視窗本身。

我自己的理解

absolute,fixed,relative三個定位屬性的區別:

1.參考位置不同

(1).relative的參考位置是它自己本來所應該在的位置,即不加定位時所處的位置。

(2).absolute的參考位置是它的父元素,但這個父元素必須設定了position屬性。如果它的直接父級沒有設定定位屬性,就一層一層的往上找,直到找到乙個設定了position定位屬性的父元素。若還是找不到,就把body作為它的定位參照物,進行定位。

(3).fixed的參考位置則是瀏覽器的視窗。

2.是否脫離文件流

什麼叫做脫離文件流呢?脫離文件流就是說元素本身失去了寬和高,也就是說它自己其實在那個位置,但是它之後的其他元素卻看不見它。直接佔據了它的位置,於是它就直接被無視了。

當position屬性被設定成relative時不會脫離文件流,但其實儲存的是那個定位之前的位置。設定absolute和fixed時就會脫離文件流。所以呢,我們有時候要給乙個元素設position為absolute時,就會把父級的position屬性設定為relative。

css中的position定位

今天給大家分享一下,深度思考中的知識點 position定位有哪幾種?各有什麼特點?position是css中非常重要的乙個屬性,通過position屬性,我們可以讓元素相對於其正常位置,父元素或者瀏覽器視窗進行偏移。position概念 css的很多其他屬性大多容易理解,比如字型,文字,背景等。有...

css中的position定位詳解

position可以取四個值 static relative absolute fixed。static是盒子的預設的定位方式,即標準流方式。relative 它的定位基準是該盒子的標準流定位,即相對於標準流定位再進行偏移。如果某個盒子採用這個定位了,則它不會影響其父盒子的定位 對它後面的兄弟盒子而...

關於css中的position定位

通常會提到的position有幾種 position static 就是標準流定位,是預設設定 position relative 是相對定位,這個相對是相對於標準流的,所以顯然元素不會脫離標準流。position absolute 是絕對定位,元素脫離標準流並且參照父元素進行定位。position...