您好,登錄后才能下訂單哦!
這篇文章給大家介紹CSS布局中怎么實現絕對定位,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一、絕對定位
絕對定位的優勢在于,我們可以絲毫不差地精確控制任何元素的位置—這里面沒有什么需要猜測或者運氣的成分。由于應用了絕對定位的元素被不留痕跡地從常規文檔流中完全移除,所以它也不會為其他元素帶來任何的影響。
那么讓我們試一試用絕對定位如何實現下面的布局。
這是一個三欄的布局,并且是居中顯示的。其中,A欄是主體內容欄,B欄和C欄都是側邊欄。首先,我們不可能直接用絕對定位將A、B、C三欄定位到居中的位置,因為每個人顯示器的分辨率是不同的,在1024X768分辨率的顯示器上定位的居中效果,在別的分辨率的顯示器上看到的效果肯定不會是居中顯示的,那么,該如何解決這個問題呢?
幸好,在絕對定位模型中有個極為有用的特性,那就是:若某個絕對定位元素的容器也被定位過,那么該元素指定的top和left值將不會基于文檔的根元素html(也就是瀏覽器窗口的左上角)計算,而是會基于其容器的左上角計算這個偏移量。換句話說,也就是:被定位過的容器將扮演其中所有元素絕對定位起始點的角色。
所以,利用這個特性,我們給A、B、C欄的外部加上一個容器D,如下圖:
然后,我們讓容器D居中,并給它加上一個屬性:position:relative,這樣,再用絕對定位定位A、B、C的top和left值,A、B、C的位置就會基于容器D的左上角的位置來計算了,這樣就可以實現我們期望的三欄居中的效果了。
但是,我們常用的布局并沒有這么簡單,除了三欄之外,我們還需要一個頁頭和一個頁腳,如下圖:
這時候,再用絕對定位布局就行不通了,因為絕對定位的元素會從文檔流中完全移除,這時,頁腳會緊挨著頁頭,顯示在頁頭的下方。
如果我們一定要采用絕對定位的話,那么必須預先知道這三欄中每一欄的高度,然后再根據其中***的一欄定位頁腳。若是任意一欄中的文本長度無法確定的話,除了使用JavaScript,我們也只能放棄絕對定位的念頭,轉而投入到浮動布局的懷抱。
二、浮動
浮動的本意是要將插入到文章中的圖片向左或者向右浮動,使圖片下方的文字自動環繞在它的周圍,使圖片的左邊或者右邊不會出現一大塊的留白。
浮動的語法雖然簡單,但卻不那么容易掌握,下面讓我們舉例說明如何用浮動來進行布局。同樣,我們要實現一個帶頁腳的三欄布局。如下圖:
關于CSS布局中怎么實現絕對定位就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。