CSS的五種定位方式

2022-08-23 04:36:15 字數 2242 閱讀 8512

css中一共有五種定位:

position:static;預設值

position:absolute;絕對定位

position:relative;相對對定位

position:fixed;固定定位

position:sticky;粘性定位

其中,粘性定位是css3新增加的 相容性比較差

我們研究定位正常從三個方便研究,即文件流,移動位置的時候參照物,層疊順序。

a.position:static 定位的預設值,實際意義不大

b.position:absolute;絕對定位

1、文件流

脫離文件流 當乙個元素絕對定位之後,該元素是懸空的,下面的元素如果沒有定位則會上去,被覆蓋(全脫離)

浮動之後也是脫離文件流,但是浮動之後下面的容器會上去,裡面的文字會環繞顯示。(半脫離)

如果多個元素同時給了絕對定位,他們之間的層疊順序是,結構在後的元素在最上面。

2、移動位置的時候參照物

定位之後想要移動位置,可以用margin或者用

left top bottom right屬性移動位置

參照物1: 瀏覽器的第一屏

參照物2:是父元素 前提條件是有父元素且父元素有定位(可以是絕對、固定、相對)。

3、層疊順序(z-index必須有定位才可以用)

如果想要改變定位之後的層疊順序,可以通過乙個屬性 z-index屬性改變

z-index的預設值是0 不帶單位可以給負值

值越大,層越靠上 沒有最大值也沒有最小值

a1a2

a3

演示結果

c.position:relative;相對對定位

1、文件流

不脫離文件流,相對定位之後,該元素是佔瀏覽器位置

2、移動位置的時候參照物 只有1個

利用left right bottom top移動位置的時候

參照物是自己的初始位置 移動位置之後,原來的空間還在。

3、層疊順序

多個元素給完相對定位之後,如果沒有移動位置,那麼他們之間就不會覆蓋現象。

如果移動了位置,那麼後面的元素還是會覆蓋前面的元素。

可以通過z-index改變層疊順序

a1a2

演示結果

d.position:fixed;固定定位

1、文件流

脫離文件流,但是該元素會固定在某個位置不動

2、用top left right bottom移動位置的時候參照物

參照物是瀏覽器的當前視窗

3、層疊順序

多個元素同時給了固定定位,結構上後面的元素會蓋在最上面

固定定位的層疊順序也可以用z-index改變

a1a2

a3

演示結果

(拖動滑鼠向下後的結果)

e.position:sticky;粘性定位

定位中的乙個特例,設定position:sticky同時給乙個(top,bottom,right,left)之一即可

其使用條件:

1、父元素不能overflow:hidden或者overflow:auto屬性。

2、必須指定top、bottom、left、right4個值之一,否則只會處於相對定位

3、父元素的高度不能低於sticky元素的高度

4、sticky元素僅在其父元素內生效

222222222222

實際運用中,我們經常使用的定位是絕對定位和相對定位,他們可以一起使用,在乙個包含結構裡面,父元素給相對定位,子元素給絕對定位,這樣的話,子元素的參照物是父元素,父元素的參照物是自己的初始位置,就可以實現子元素覆蓋在父元素,也就是「子絕父相」。

css 4種定位方式

css的定位即position屬性的值有4種 static,relative,absolute,fixed。static是預設值,元素位於文件流中,正常顯示,忽略元素的top,bottom,left,right屬性。需要注意的一點是z index屬性在這個定位方式下始終為0.如果其他定位方式的漂浮元...

CSS的三種定位方式介紹

在css中一共有n種定位方式,其中,static relative,absolute三種方式是最基本最常用的三種定位方式。他們的基 本介紹如下。static預設定位方式 relative相對定位,相對於原來的位置,但是原來的位置仍然保留 absolute定位,相對於最近的非標準劉定位,原來的位置消失...

CSS的三種定位方式介紹

在css中一共有n種定位方式,其中,static relative,absolute三種方式是最基本最常用的三種定位方式。他們的基 本介紹如下。static預設定位方式 relative相對定位,相對於原來的位置,但是原來的位置仍然保留 absolute定位,相對於最近的非標準劉定位,原來的位置消失...