CSS 各種定位(position)方式的區(qū)別

static:靜態(tài)定位是position的默認(rèn)值,元素框正常生成,也就是沒有定位時(shí)的正常顯示。

relative:相對定位

用法一:元素相對自身的原位置偏移某個(gè)距離,但是原本的空間依舊保留,表現(xiàn)為空白。

用法二:把一個(gè)元素設(shè)置為position: relative; 可以使該元素的子元素相對該元素絕對定位。

absolute:絕對定位

元素從文檔流刪除,并相對于包含塊定位。元素在原本的空間關(guān)閉。元素定位后生成一個(gè)塊級框,不論它原來是行內(nèi)元素還是塊級元素。

包含塊:最近的position值不是static的祖先元素(塊級或行內(nèi)),一般會指定一個(gè)元素作為絕對定位元素的包含塊,將其position設(shè)置為relative而且沒有偏移。

fixed:固定定位

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

包含塊:瀏覽器視窗。

absolute/fixed和float對比

類似:元素都會從文檔流刪除,但是依舊會影響布局;都會生成一個(gè)塊級框,無論原來是不是塊級元素。

區(qū)別:float的包含塊是最近的塊級祖先元素。

偏移屬性:top/right/bottom/left,初始值是auto。

采用position定位之后必須采用偏移屬性定義偏移量,也就是相對包含塊的偏移。注意應(yīng)用于position值不是static的元素。

有時(shí)也需要定義width和heigth,但是可能會和偏移屬性的定義沖突,因?yàn)樗膫€(gè)偏移屬性實(shí)際上已經(jīng)定義了元素的大小。此時(shí),根據(jù)width和left屬性定義左右,根據(jù)top和height屬性定義上下。

內(nèi)容溢出overflow: visible/ hidden/ scroll /auto/ inherit,初始值是visible。

一個(gè)元素的大小固定,但是其內(nèi)容放不下,就會導(dǎo)致溢出。overflow控制溢出部分的可見(visible)、不可見(hidden)、滾動可見(scroll)。

元素可見性visibility: visible/ hidden/ collapse/ inherit,初始值是visible。

visibility:hidden和display:none的區(qū)別:visibility:hidden設(shè)置元素不可見,但是元素依舊會影響布局,只是元素部分呈現(xiàn)為空白;display:none元素不顯示并且從文檔流中刪除,對文檔布局沒有任何影響。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容