CSS 21天入門(mén):定位(position)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
一、概述CSS 定位 (Positioning) 屬性允許你對(duì)元素進(jìn)行定位。 定位的基本思想很簡(jiǎn)單,它允許你定義元素框相對(duì)于其正常位置應(yīng)該出現(xiàn)的位置,或者相對(duì)于父元素、另一個(gè)元素甚至瀏覽器窗口本身的位置。顯然,這個(gè)功能非常強(qiáng)大,也很讓人吃驚。 二、CSS 定位機(jī)制CSS 有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。 除非專(zhuān)門(mén)指定,否則所有框都在普通流中定位。也就是說(shuō),普通流中的元素的位置由元素在 (X)HTML 中的位置決定。 塊級(jí)框從上到下一個(gè)接一個(gè)地排列,框之間的垂直距離是由框的垂直外邊距計(jì)算出來(lái)。 行內(nèi)框在一行中水平布置。可以使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱(chēng)為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框。不過(guò),設(shè)置行高可以增加這個(gè)框的高度。 三、定位實(shí)現(xiàn)定位是通過(guò)使用 position 屬性來(lái)實(shí)現(xiàn)。我們可以選擇 4 種不同類(lèi)型的定位,這會(huì)影響元素框生成的方式。 position 屬性值的含義:
提示:相對(duì)定位實(shí)際上被看作普通流定位模型的一部分,因?yàn)樵氐奈恢孟鄬?duì)于它在普通流中的位置。 絕對(duì)定位是相對(duì)于父級(jí)元素而言的,也就是絕對(duì)定位必須由一個(gè)參照物(默認(rèn)為父級(jí)元素)。 固定定位是元素絕對(duì)固定在某個(gè)位置。 四、應(yīng)用場(chǎng)景1、相對(duì)定位相對(duì)定位是一個(gè)非常容易掌握的概念。如果對(duì)一個(gè)元素進(jìn)行相對(duì)定位,它將出現(xiàn)在它所在的位置上。然后,可以通過(guò)設(shè)置垂直或水平位置,讓這個(gè)元素“相對(duì)于”它的起點(diǎn)進(jìn)行移動(dòng)。 如果將 top 設(shè)置為 20px,那么框?qū)⒃谠恢庙敳肯旅?20 像素的地方。如果 left 設(shè)置為 30 像素,那么會(huì)在元素左邊創(chuàng)建 30 像素的空間,也就是將元素向右移動(dòng)。
效果圖: 注意,在使用相對(duì)定位時(shí),無(wú)論是否進(jìn)行移動(dòng),元素仍然占據(jù)原來(lái)的空間。因此,移動(dòng)元素會(huì)導(dǎo)致它覆蓋其它框。 2、絕對(duì)定位設(shè)置為絕對(duì)定位的元素框會(huì)從文檔流完全刪除,并相對(duì)于其父級(jí)元素定位,父級(jí)元素可能是文檔中的另一個(gè)元素或者是初始包含塊。 元素原先在正常文檔流中所占的空間會(huì)關(guān)閉,就好像該元素原來(lái)不存在一樣。 元素定位后生成一個(gè)塊級(jí)框,而不論原來(lái)它在正常流中生成何種類(lèi)型的框。
絕對(duì)定位使元素的位置與文檔流無(wú)關(guān)(類(lèi)似float的效果),因此不占據(jù)空間。這一點(diǎn)與相對(duì)定位不同,相對(duì)定位實(shí)際上被看作普通流定位模型的一部分,因?yàn)樵氐奈恢孟鄬?duì)于它在普通流中的位置。 普通流中其它元素的布局就像絕對(duì)定位的元素不存在一樣:
效果圖: 絕對(duì)定位的元素的位置相對(duì)于最近的已定位祖先元素(父級(jí)元素),如果元素沒(méi)有已定位的祖先元素,那么它的位置相對(duì)于最初的包含塊(body)。
3、fixed常用場(chǎng)景為網(wǎng)站的header部分,經(jīng)??梢钥吹焦潭ǖ那闆r,如下圖: ?
4、總結(jié)相對(duì)定位是“相對(duì)于”元素在文檔中的初始位置,元素原來(lái)的空間還會(huì)占用; 而絕對(duì)定位是“相對(duì)于”最近的已定位父級(jí)元素,如果不存在已定位的父級(jí)元素,那么“相對(duì)于”最初的包含塊,且絕對(duì)定位類(lèi)似float,元素不存在原來(lái)空間一說(shuō)。 fixed經(jīng)常用于網(wǎng)站的頂部固定。 提示:因?yàn)榻^對(duì)定位的框與文檔流無(wú)關(guān),所以它們可以覆蓋頁(yè)面上的其它元素??梢酝ㄟ^(guò)設(shè)置 z-index 屬性來(lái)控制這些框的堆放次序。 參考文獻(xiàn): http://www.w3school.com.cn/css/css_positioning.asp 該文章在 2024/10/19 16:54:12 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |