溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

清除浮動的css寫法是什么

發(fā)布時間:2022-03-07 10:28:12 來源:億速云 閱讀:317 作者:小新 欄目:web開發(fā)

小編給大家分享一下清除浮動的css寫法是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

  一、float(浮動)是什么

  float屬性定義元素在哪個方向浮動。

  float:left元素向左浮動。

  float:right元素向右浮動。

  float:none默認(rèn)值。元素不浮動,并會顯示在其在文本中出現(xiàn)的位置。

  float:inherit規(guī)定應(yīng)該從父元素繼承float屬性的值。

  看一段簡單的代碼:

  <divclass="child1">左浮動</div>

  <divclass="child2">右浮動</div>

  <divclass="child3">喵</div>

  .child1{

  float:left;

  height:500px;

  width:70%;

  background:#aa0;//黃

  }

  .child2{

  float:right;

  height:300px;

  width:30%;

  background:#0aa;//青

  }

  .child3{

  background:#a0a;//紫

  }

  201904291427231.png

  二、clear是什么

  clear屬性指定段落的左側(cè)或右側(cè)不允許浮動的元素。

  clear:left在左側(cè)不允許浮動元素。

  clear:right在右側(cè)不允許浮動元素。

  clear:both在左右兩側(cè)均不允許浮動元素。

  clear:none默認(rèn)值。允許浮動元素出現(xiàn)在兩側(cè)。

  clear:inherit規(guī)定應(yīng)該從父元素繼承clear屬性的值。

  比如上面的例子,我們?yōu)閏hild3加上clear:both;,便可清除浮動。(child3的左右兩側(cè)都不允許浮動元素,自然而然不會再跟在倆浮動元素的屁股后面了~)

  201904291427232.png

  那么,只在一側(cè)不允許浮動是怎樣的呢?

  本來是醬紫的:

  那么,只在一側(cè)不允許浮動是怎樣的呢?

  本來是醬紫的:

  <divclass="child1">child1右浮動</div>

  <divclass="child2">child2右浮動</div>

  哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈...

  .child1{

  float:right;

  background:#aa0;//黃

  }

  .child2{

  float:right;

  background:#0aa;//青

  }

  201904291427233.png

  然后,為child2加上clear:right;,在child2的右側(cè)不允許浮動元素,所以child2就飄到了下一行。

  201904291427234.png

  那么,為child1加上clear:left;的時候,為什么不起效果呢?在這留個小彩蛋,歡迎大家留言討論~

  三、浮動帶來的影響

  浮動帶來的最大影響就是,當(dāng)父元素只包含浮動的子元素的時候,父元素的高度就會塌陷(height變?yōu)?)。

  像醬紫:(parent高度為0,無法顯示粉色背景)

  <divclass="parent">

  <divclass="child1">child1右浮動</div>

  <divclass="child2">child2右浮動</div>

  </div>

  .parent{

  background:#FBC;//粉

  }

  201904291427235.png

  四、清除浮動的方式

  1.在父元素中的結(jié)尾加一個空div

  div

  <divclass="parent">

  <divclass="child1">child1右浮動</div>

  <divclass="child2">child2右浮動</div>

  <divstyle="clear:both;"></div>

  </div>

  .child1{

  float:right;

  background:#aa0;

  }

  .child2{

  float:right;

  background:#0aa;

  }

  201904291427246.png

  可見,空div高度為0,位于父盒子的最下面,使父盒子重新?lián)纹鹆藨?yīng)有的高度。

  為什么要在最后加?倘若你在中間加,效果會是醬紫:

  201904291427247.png

  由于空div的左右都不允許浮動元素,那么它就會另起一段,導(dǎo)致盒子位置的效果就像child2清除右側(cè)浮動一樣,child2跑到了child1下方。

  2.在父元素設(shè)置overflow屬性

  &bull;原理:設(shè)置overflow:hidden或overflow:auto,瀏覽器會自動檢查浮動區(qū)域高度(才能知道父框的內(nèi)容有無溢出)

  &bull;優(yōu)點:瀏覽器支持好

  &bull;缺點:子元素若超出父元素尺寸會被隱藏,或者父元素出現(xiàn)滾動條

  <divclass="parent"style="overflow:hidden;">

  <divclass="child1">child1右浮動</div>

  <divclass="child2"style="position:relative;top:10px;">child2右浮動</div>

  </div>

  201904291427248.png

  當(dāng)設(shè)置overflow:auto;時,父元素會出現(xiàn)滾動條:

  201904291427249.png

  3.偽元素

  &bull;原理:類似設(shè)置clear屬性

  &bull;優(yōu)點:瀏覽器支持好,普遍

  <divclass="parentclearfix">

  <divclass="child1">child1右浮動</div>

  <divclass="child2">child2右浮動</div>

  </div>

  .clearfix{

  zoom:1;//zoom(IE專有屬性)可解決ie6,ie7浮動問題

  display:block;

  }

  .clearfix:after{

  content:".";//content:"";也可

  visibility:hidden;

  display:block;

  height:0;

  clear:both;

  }

以上是“清除浮動的css寫法是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI