css 有三種基本的定位機制:普通流、浮動和絕對定位。
一、普通流
除非專門指定,否則所有框都在普通流中定位。普通流中元素框的位置由元素在(x)html中的位置決定。塊級元素從上到下依次排列,框之間的垂直距離由框的垂直margin計算得到。行內元素在一行中水平布置。
二、定位
1、相對定位
被看作普通流定位模型的一部分,定位元素的位置相對於它在普通流中的位置進行移動。使用相對定位的元素不管它是否進行移動,元素仍要佔據它原來的位置。移動元素會導致它覆蓋其他的框。
"box1">box1
"box2">box2
"box3">box3
效果如下圖所示:
2、絕對定位
相對於已定位的最近的祖先元素,如果沒有已定位的最近的祖先元素,那麼它的位置就相對於最初的包含塊(如body)。絕對定位的框可以從它的包含塊向上、右、下、左移動。
絕對定位的框脫離普通流,所以它可以覆蓋頁面上的其他元素,可以通過設定z-iindex屬性來控制這些框的堆放次序。
"div1">
"div2">
效果如下圖所示:
備註:相對於已相對定位的祖先元素對框進行絕對定位,在大多數現代瀏覽器中都可以實現的很好。
3、固定定位
相對於瀏覽器視窗,其餘的特點類似於絕對定位。
三、浮動
浮動的框可以在左右移動,直到它的外邊框邊緣碰到包含框或另乙個浮動框的邊緣。浮動的框脫離普通流。
如果包含塊太窄,無法容納水平排列的浮動元素,那麼其他浮動塊向下移動,直到有足夠多的空間。如果浮動元素的高度不同,那麼當它們向下移動時可能會被其他浮動元素卡住。
行內元素會圍繞著浮動框排列。
請看下圖,當把框 1 向右浮動時,它脫離文件流並且向右移動,直到它的右邊緣碰到包含框的右邊緣:
再請看下圖,當框 1 向左浮動時,它脫離文件流並且向左移動,直到它的左邊緣碰到包含框的左邊緣。因為它不再處於文件流中,所以它不佔據空間,實際上覆蓋住了框 2,使框 2 從檢視中消失。
如果把所有三個框都向左移動,那麼框 1 向左浮動直到碰到包含框,另外兩個框向左浮動直到碰到前乙個浮動框。
如下圖所示,如果包含框太窄,無法容納水平排列的三個浮動元素,那麼其它浮動塊向下移動,直到有足夠的空間。如果浮動元素的高度不同,那麼當它們向下移動時可能被其它浮動元素「卡住」:
清除浮動
簡單介紹下清除浮動的2中方法。
方法一:結合:after選擇器清除浮動。
"box1 clear">
"box2">
box2
lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦
方法二,在容器最後新增乙個空元素並且清理它。
"box1 clear">
"box2">
box2
lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦 lallalalalalal啦啦啦
"empty" />
效果均如下所示:
附錄:所有主流瀏覽器都支援 position 屬性。position屬性規定元素的定位型別,影響元素框生成的方式。
可能的值:
css 定位屬性允許你對元素進行定位。
屬性 及其 描述
position 把元素放置到乙個靜態的、相對的、絕對的、或固定的位置中。
top 定義了乙個定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。
right 定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。
bottom 定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。
left 定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。
overflow 設定當元素的內容溢位其區域時發生的事情。
clip 設定元素的形狀。元素被剪入這個形狀之中,然後顯示出來。
vertical-align 設定元素的垂直對齊方式。
z-index 設定元素的堆疊順序。
css中的三種基本定位機制
css中的三種基本定位機制 a.普通文件流 b.定位 相對定位 絕對定位 固定定位 c.浮動 1.普通流中,元素位置由文件順序和元素性質決定,塊級元素從上到下依次排列,框之間的垂直距離由框的垂直margin值計算得到,行內元素在一行中水平布置 2.相對定位看作普通流的一部分,移動後的元素仍佔據原來的...
CSS有三種基本的定位機制
css有三種基本的定位機制 普通流,浮動和絕對定位.普通流 在普通流中元素框的位置由元素在html中的位置決定,1 元素position屬性為static或繼承來的static時就會按照普通流定位 2 position屬性的relative 相對定位 值時,它將出現在他所在的位置上,然後可以通過設定...
CSS中的三種基本的定位機制(普通流 定位 浮動)
普通流中元素框的位置由元素在xhtml中的位置決定。塊級元素從上到下依次排列,框之間的垂直距離由框的垂直margin計算得到。行內元素在一行中水平布置。普通流就是html文件中的元素如塊級元素 行內元素依據他們的顯示屬性按照在文件中的先後次序依次顯示。是塊級元素就佔一行或多行,是行內元素就和其他元素...