css的浮動與定位
-
顯示與隱藏
標簽 |
屬性 |
值 |
效果 |
區別 |
css的style |
display |
none |
元素不可見 |
不占頁面空間 |
css的style |
visibility |
hidden |
元素不可見 |
占頁面空間 |
-
display的三個屬性值顯示效果
屬性 |
值 |
效果 |
display |
inline |
顯示為內聯元素 |
display |
block |
顯示為塊級元素 |
display |
inline-block |
顯示為行內塊級元素 |
-
overflow內容溢出
屬性 |
值 |
效果 |
overflow |
visible |
可見 |
overflow |
hidden |
隱藏 |
overflow |
scroll |
滾動 |
overflow |
auto |
自動(最優) |
-
float浮動
屬性 |
值 |
效果 |
float |
none |
不浮動 |
float |
left |
向左浮動 |
float |
right |
向右浮動 |
-
子元素浮動不能超出父元素的範圍
-
兄弟元素設置相同浮動效果時,會自動進行排列,排列超出頁面最大寬度會自動換行
-
兄弟元素前一個未設置浮動,而後一個設置,後面元素浮動不能超過前面兄弟元素
-
高度塌陷
-
* 塊級元素高度 = 所有子元素高度 + padding + border
-
* 由於沒有給父級元素設置高度 ,當子級元素設置浮動時 , 脫離了文檔流 , 導致父級元素高度丟失效果稱為高度塌陷
-
* 高度塌陷問題解決 —— 開啟BFC (block formatting context)塊級格式化上下文環境
-
* BFC特性:
-
- 文檔流中的元素不會被浮動的元素所覆蓋
-
- 子元素設置外邊距時,不會傳遞給父元素
-
- 元素可以包含浮動的子元素
-
* 怎樣開啟BFC:
-
- 設置浮動(float)
-
- 設置元素顯示為行內塊級元素(inline-block)
-
- 將元素內容溢出設置為非visible值(hidden)
-
- 設置元素為絕對定位(position)
-
- 在所有子元素後設置一個子元素,並設置clear屬性為both
-
position
屬性 |
值 |
定位位置 (相對偏移量) |
效果說明 |
position |
static |
默認 |
靜態定位 |
position |
absolute |
top/right/bottom/left |
絕對定位 |
position |
relative |
top/right/bottom/left |
相對定位 |
position |
fixed |
top/right/bottom/left |
固定定位 |
-
區別
類型 |
是否脫離文檔流 |
情況描述 |
絕對定位 |
√ |
1.父級為body,相對於頁面 2.父級不為body,父級未開啟定位,子級相對於頁面 3.父級不為body,父級開啟定位,子級相對於父級 |
相對定位 |
X |
相對於元素本身位置,與父級無關 |
固定定位 |
√ |
相對於頁面,一種特殊的絕對定位 |
css的浮動與定位