CSS 定位 (Positioning) 屬性允許你對元素進行定位。
CSS 定位和浮動
CSS 為定位和浮動提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊,還可以完成多年來通常需要使用多個表格才能完成的任務。
定位的基本思想很簡單,它允許你定義元素框相對于其正常位置應該出現的位置,或者相對于父元素、另一個元素甚至瀏覽器窗口本身的位置。顯然,這個功能非常強大,也很讓人吃驚。要知道,用戶代理對 CSS2 中定位的支持遠勝于對其它方面的支持,對此不應感到奇怪。
另一方面,CSS1 中首次提出了浮動,它以 Netscape 在 Web 發展初期增加的一個功能為基礎。浮動不完全是定位,不過,它當然也不是正常流布局。我們會在后面的章節中明確浮動的含義。
CSS 定位機制
CSS 有三種基本的定位機制:普通流、浮動和絕對定位。
除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 (X)HTML 中的位置決定。
塊級框從上到下一個接一個地排列,框之間的垂直距離是由框的垂直外邊距計算出來。
行內框在一行中水平布置??梢允褂盟絻冗吘?、邊框和外邊距調整它們的間距。但是,垂直內邊距、邊框和外邊距不影響行內框的高度。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內框。不過,設置行高可以增加這個框的高度。
CSS 定位屬性
CSS 定位屬性允許你對元素進行定位。
| 屬性 | 描述 |
| position | 把元素放置到一個靜態的、相對的、絕對的、或固定的位置中。 |
| top 定義了一個定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。 |
| right 定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。 |
| bottom 定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。 |
| left 定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。 |
| overflow | 設置當元素的內容溢出其區域時發生的事情。 |
| clip 設置元素的形狀。元素被剪入這個形狀之中,然后顯示出來。 |
| vertical-align 設置元素的垂直對齊方式。 |
| z-index | 設置元素的堆疊順序。 |