溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CSS定位position的多種方式以及不同方式之間的區(qū)別是什么

發(fā)布時(shí)間:2020-09-10 11:36:13 來(lái)源:億速云 閱讀:137 作者:小新 欄目:web開(kāi)發(fā)

小編給大家分享一下CSS定位position的多種方式以及不同方式之間的區(qū)別是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

 在進(jìn)行前端布局的時(shí)候,我們經(jīng)常會(huì)用到定位,定位是CSS中重要的一部分,定位是用定位屬性position來(lái)進(jìn)行定位的,position的值也有很多,具體它有如下幾個(gè)屬性值。常見(jiàn)的屬性有如下所示:

值描述

absolute  生成絕對(duì)定位的元素,相對(duì)于static定位以外的第一個(gè)父元素進(jìn)行定位。元素的位置通過(guò) "left", "top", "right" 以及 "bottom" 屬性進(jìn)行規(guī)定。
fixed   生成絕對(duì)定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位。元素的位置通過(guò) "left", "top", "right" 以及 "bottom" 屬性進(jìn)行規(guī)定。
relative  生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。因此,"left:20" 會(huì)向元素的 LEFT 位置添加 20 像素。
static  默認(rèn)值。沒(méi)有定位,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)。
inherit 規(guī)定應(yīng)該從父元素繼承 position 屬性的值。

首先,我們這里用的是標(biāo)準(zhǔn)盒子模型來(lái)講,所以大家在理的時(shí)候必需把它看成一個(gè)盒子或者一個(gè)框。我們先來(lái)學(xué)習(xí)第一個(gè)默認(rèn)參數(shù)static。

static:靜態(tài)定位是position的默認(rèn)值,元素框正常生成,也就是沒(méi)有定位時(shí)的正常顯示。
absolute:絕對(duì)定位
元素從文檔流刪除,并相對(duì)于包含塊定位。元素在原本的空間關(guān)閉。元素定位后生成一個(gè)塊級(jí)框,不論它原來(lái)是行內(nèi)元素還是塊級(jí)元素。
這里的包含塊是指:最近的position值不是static的祖先元素(塊級(jí)或行內(nèi)),一般會(huì)指定一個(gè)元素作為絕對(duì)定位元素的包含塊,將其position設(shè)置為relative而且沒(méi)有偏移。

fixed:固定定位
元素脫離文本流,從普通文本中刪除,并相對(duì)于瀏覽器視窗定位,因此不隨文檔滾動(dòng)而移動(dòng)。元素在原本的空間關(guān)閉。元素定位后生成一個(gè)塊級(jí)框,不論它原來(lái)是行內(nèi)元素還是塊級(jí)元素。與絕對(duì)定位的區(qū)別僅僅是包含塊不同。包含塊:瀏覽器視窗。

relative:相對(duì)定位。相對(duì)定位,最常見(jiàn)的使用方式有如下兩種:
使用方法一:元素相對(duì)自身的原位置偏移某個(gè)距離,但是原本的空間依舊保留,表現(xiàn)為空白。
使用方法二:把一個(gè)元素設(shè)置為position: relative; 可以使該元素的子元素相對(duì)該元素絕對(duì)定位。

absolute/fixed和float對(duì)比
相同之處:元素都會(huì)脫離文本流,從普通文本中刪除,但是依舊會(huì)影響布局;都會(huì)生成一個(gè)塊級(jí)框,無(wú)論原來(lái)是不是塊級(jí)元素。
不同之處:float的包含塊是最近的塊級(jí)祖先元素。

設(shè)置偏移屬性:top/right/bottom/left,初始值是auto。
采用position定位之后必須采用偏移屬性定義偏移量,也就是相對(duì)包含塊的偏移。在使用的時(shí)候需要注意的是:定義偏移量的元素應(yīng)為position值不是static的元素。
有時(shí)也需要定義width和heigth,但是可能會(huì)和偏移屬性的定義沖突,因?yàn)樗膫€(gè)偏移屬性實(shí)際上已經(jīng)定義了元素的大小。此時(shí),根據(jù)width和left屬性定義左右,根據(jù)top和height屬性定義上下。

CSS中的別一個(gè)屬性。那就內(nèi)容溢出:overflow
通常內(nèi)容溢出屬性有如下幾個(gè)值:
overflow: visible/ hidden/ scroll /auto/ inherit
overflow初始值是visible。
overflow就是咱們常用在:如果一個(gè)元素的大小固定,但是其內(nèi)容放不下,就會(huì)導(dǎo)致溢出。overflow控制溢出部分的可見(jiàn)(visible)、不可見(jiàn)(hidden)、滾動(dòng)可見(jiàn)(scroll)。
元素可見(jiàn)性visibility: visible/ hidden/ collapse/ inherit,初始值是visible。

看完了這篇文章,相信你對(duì)CSS定位position的多種方式以及不同方式之間的區(qū)別是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI