網頁設計網頁佈局教程:絕對定位和相對定位 |
| 發佈者:SEO香港優化專家 - Web Design |
| |
| 網站設計 CSS網頁佈局教程:絕對定位和相對定位。通過本文你絕對能理解絕對定位和相對定位了,如果你看完本篇文章還不理解絕對定位和相對定位的話,我看你就別學CSS了!哈哈! 概要: 本文主要描述XHTML中相對定位和絕對定位各自的本質、用法、區別和兩者之間的關係。以及使用CSS的Left、Right、Top、Bottom屬性(偏移屬性)和Margin屬性(外邊距)對定位塊級元素進行佈局的方法。(本文的示例,請看這個附件demo。) 說明: 佔位空間:元素在文檔流中所佔據的空間。
下面分3種情況分別對相對定位和絕對定位進行討論:
圖1為未定位時的初始效果,
圖1 一、用相對定位佈局塊級元素
1.僅使用left、right、top和bottom屬性佈局相對定位元素的情況
圖2中,設置元素的left和top的值,對box2進行佈局,可以發現除了box2偏移之外,其他塊級元素的位置沒有被影響,可見box2的佔位空間還是存在的。
圖2 2.僅使用margin屬性佈局相對定位元素的情況
圖3中,box1和box2都設置了元素margin-bottom的值,值等於它們高度的負值。box1和box2物理空間沒有改變,佔位空間高度為0。box3的margin-bottom值設置為0,物理空間沒有改變,佔位空間高度不變。再通過margin-left對box2和box3設置左偏移值。
圖3 3.混合使用left、right、top和bottom屬性與margin屬性佈局相對定位元素的情況
圖4中,box2是在圖3的基礎上增加設置left的值產生的效果,可見margin-left的值和left的值產生了累加。(偏移量:80px = 110px - 30px)
圖4 二、用絕對定位佈局塊級元素
1.僅使用left、right、top和bottom屬性佈局絕對定位元素的情況
設置元素為絕對定位元素後,元素的Left、 Right、Top和Bottom屬性默認值不是0,只是將元素脫離文檔流。以下例子說明這個問題。
圖5 以最近的祖先定位元素為參照物的情況
層級關係為:
圖6 圖7中,為改變參照物(橘色框)後的效果
圖7 圖8中,參照物為最頂級的元素情況。
圖8 2.僅使用margin屬性佈局絕對定位元素的情況
圖9中,使用margin屬性佈局相對定位元素。
圖9 IE6的情況下,box2前面沒有兄弟節點,則margin-left的值會出現雙倍邊距,見圖10。
圖10 3.混合使用left、right、top和bottom屬性與margin屬性佈局相對定位元素的情況
例如:margin-left:120px; left:-20px; 那麼box2的偏移值為120px-20px=100px;
圖11 b.絕對定位和相對定位的累加加效果不同,如果top、bottom、left、right屬性和margin屬性偏移的方向相反,top、bottom、left、right屬性值有效,反方向的margin屬性值無效,見圖12。
圖12 總結:
|
2010年1月3日星期日
網頁設計網頁佈局教程:絕對定位和相對定位
订阅:
博文评论 (Atom)
没有评论:
发表评论