日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

css清除浮动的原理

發布時間:2023/12/2 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 css清除浮动的原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近學習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:偽對象選擇符

?

本文轉載于:猿2048?https://www.mk2048.com/blog/blog.php?id=i2ikhab&title=css清除浮動的原理

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的css清除浮动的原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。