摘要:最近學習發現了高度塌陷時候要清除浮動為了理解清楚浮動原理網上找了不少資料發現都寫的不是很清楚而且都是一模一樣的內容我在里分享一下我對清楚浮動原理的理解如果你已經很了解什么是浮動和浮動的效果你可以直接跳轉到三如何清除浮動重點閱讀一什么是浮動
最近學習css發現了高度塌陷時候要清除浮動,為了理解清楚浮動原理,網上找了不少資料,發現都寫的不是很清楚,而且都是一模一樣的內容,我在里分享一下我對清楚浮動原理的理解,
如果你已經很了解什么是浮動和浮動的效果你可以直接跳轉到三.如何清除浮動(重點)閱讀
一.什么是浮動
首先我們需要知道定位
元素在頁面中的位置就是定位,解決問題之前我們先來了解下幾種定位方式
1、普通流定位 static(默認方式)
普通流定位,又稱為文檔流定位,是頁面元素的默認定位方式
頁面中的塊級元素:按照從上到下的方式逐個排列
頁面中的行內元素:按照從左到右的方式逐個排列
但是如何讓多個塊級元素在一行內顯示?
這里就引出了浮動定位
2、浮動定位 float
float屬性 取值為 left/right
這個屬性原本不是用來布局的,而是用來做文字環繞的,但是后來人們發現做布局也不錯,就一直這么用了,甚至有些時候都忘了用他做文字環繞
3、相對定位 relative
元素會相對于它原來的位置偏移某個距離,改變元素位置后,元素原本的空間依然會被保留
屬性:position
取值:relative
配合著 偏移屬性(top/right/bottom/left)實現位置的改變
4、絕對定位 absolute
如果元素被設置為絕對定位的話,將具備以下幾個特征
1、脫離文檔流-不占據頁面空間
2、通過偏移屬性固定元素位置
3、相對于 最近的已定位的祖先元素實現位置固定
4、如果沒有已定位祖先元素,那么就相對于最初的包含塊(body,html)去實現位置的固定
屬性:position
取值:absolute
配合著 偏移屬性(top/right/bottom/left)實現位置的固定
5、固定定位 fixed
將元素固定在頁面的某個位置處,不會隨著滾動條而發生位置移動
屬性:position
取值:fixed
配合著 偏移屬性(top/right/bottom/left)實現位置的固定
二.浮動的效果
浮動 之后會怎么樣?
1、浮動定位元素會被排除在文檔流之外-脫離文檔流(不占據頁面空間),其余的元素要上前補位
2、浮動元素會??吭诟冈氐淖筮吇蛴疫?,或??吭谄渌迅釉氐倪吘壣?元素只能在當前所在行浮動)
3、浮動元素依然位于父元素之內
4、浮動元素處理的問題-解決多個塊級元素在一行內顯示的問題
注意
1、一行內,顯示不下所有的已浮動元素時,最后一個將換行
2、元素一旦浮動起來之后,那么寬度將變成自適應(寬度由內容決定)
3、元素一旦浮動起來之后,那么就將變成塊級元素,尤其對行內元素,影響最大
塊級元素:允許修改尺寸
行內元素:不允許修改尺寸
4、文本,行內元素,行內塊元素時采用環繞的方式來排列的,是不會被浮動元素壓在底下的,會巧妙的避開浮動元素
浮動 之后會有什么樣的影響?
由于浮動元素會脫離文檔流,所以導致不占據頁面空間,所以會對父元素高度帶來一定影響。如果一個元素中包含的元素全部是浮動元素,那么該元素高度將變成0(高度塌陷)
三.如何清除浮動(重點)
解決方案 及 原理分析
網上有很多種方法,我這里只介紹一種非常好用的方法,設置class名為clearfix
原理:如果子元素全部浮動,父元素就會塌陷,所以在所有浮動子元素后添加一個沒有浮動元素把父元素撐起來,這個元素找不到、不占據空間,不能讓它里面有內容,有內容也要隱藏
.clearfix:after{content:.;
clear:both;
display:block;
height:0;
overflow:hidden;
visibility:hidden;
} .clearfix:after{zoom:1;}/*解決IE的問題*/
//visibility:hidden;隱藏元素,但是位置留著
//display:none;隱藏元素,不占據空間,徹底隱藏
//after:偽對象選擇符
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/1964.html
摘要:浮動是布局中最常用的屬性,然而浮動是脫離文檔流的,如果不清除浮動的話,會對周圍的元素產生影響。也正是浮動脫離文檔流這一特性,使浮動成為布局的難點之一浮動框可以左右移動,直到它的外邊緣碰到包含框或另一浮動框的邊緣。 浮動是CSS布局中最常用的屬性,然而浮動是脫離文檔流的,如果不清除浮動的話,會對周圍的元素產生影響。也正是浮動脫離文檔流這一特性,使浮動成為CSS布局的難點之一浮動框可以左右...
摘要:浮動是布局中最常用的屬性,然而浮動是脫離文檔流的,如果不清除浮動的話,會對周圍的元素產生影響。也正是浮動脫離文檔流這一特性,使浮動成為布局的難點之一浮動框可以左右移動,直到它的外邊緣碰到包含框或另一浮動框的邊緣。 浮動是CSS布局中最常用的屬性,然而浮動是脫離文檔流的,如果不清除浮動的話,會對周圍的元素產生影響。也正是浮動脫離文檔流這一特性,使浮動成為CSS布局的難點之一浮動框可以左右...
摘要:建議不推薦使用,如果你需要出現滾動條或者確保你的代碼不會出現滾動條就使用吧。評分父級也一起浮動原理所有代碼一起浮動,就變成了一個整體優點沒有優點缺點會產生新的浮動問題。 這篇文章主要介紹了CSS清除浮動方法大全(小結)的相關資料,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧 1、父級div定義偽類:after和zoom ? 1 2 3 4 5 6 7 8 ...
摘要:方法三據說是最高大上的方法方法注意作用于浮動元素的父親先說原理這種方法清除浮動是現在網上最拉風的一種清除浮動,他就是利用和來在元素內部插入兩個元素塊,從面達到清除浮動的效果。的作用是允許瀏覽器渲染它,但是不顯示出來,這樣才能實現清楚浮動。 一、拋一塊問題磚(display: block)先看現象: showImg(https://segmentfault.com/img/bVrWvS)...
摘要:為什么要清除浮動影響其他元素定位父盒子高度為,子盒子全部浮動定位,子盒子不會撐開父盒子,下面的元素會到子盒子的下面。清除浮動方法總結對父級元素設置高度對父級設置適合高度樣式清除浮動,一般設置高度需要能確定內容高度才能設置高度設置為內容高度。 為什么要清除浮動? 1、影響其他元素定位父盒子高度為0,子盒子全部浮動、定位,子盒子不會撐開父盒子,下面的元素會到子盒子的下面。 2.背景圖片或顏...
閱讀 713·2023-04-25 19:43
閱讀 3910·2021-11-30 14:52
閱讀 3784·2021-11-30 14:52
閱讀 3852·2021-11-29 11:00
閱讀 3783·2021-11-29 11:00
閱讀 3869·2021-11-29 11:00
閱讀 3558·2021-11-29 11:00
閱讀 6105·2021-11-29 11:00