您好,登錄后才能下訂單哦!
小編給大家分享一下清除浮動的css寫法是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、float(浮動)是什么
float屬性定義元素在哪個方向浮動。
float:left元素向左浮動。
float:right元素向右浮動。
float:none默認值。元素不浮動,并會顯示在其在文本中出現的位置。
float:inherit規定應該從父元素繼承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屬性指定段落的左側或右側不允許浮動的元素。
clear:left在左側不允許浮動元素。
clear:right在右側不允許浮動元素。
clear:both在左右兩側均不允許浮動元素。
clear:none默認值。允許浮動元素出現在兩側。
clear:inherit規定應該從父元素繼承clear屬性的值。
比如上面的例子,我們為child3加上clear:both;,便可清除浮動。(child3的左右兩側都不允許浮動元素,自然而然不會再跟在倆浮動元素的屁股后面了~)
201904291427232.png
那么,只在一側不允許浮動是怎樣的呢?
本來是醬紫的:
那么,只在一側不允許浮動是怎樣的呢?
本來是醬紫的:
<divclass="child1">child1右浮動</div>
<divclass="child2">child2右浮動</div>
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈...
.child1{
float:right;
background:#aa0;//黃
}
.child2{
float:right;
background:#0aa;//青
}
201904291427233.png
然后,為child2加上clear:right;,在child2的右側不允許浮動元素,所以child2就飄到了下一行。
201904291427234.png
那么,為child1加上clear:left;的時候,為什么不起效果呢?在這留個小彩蛋,歡迎大家留言討論~
三、浮動帶來的影響
浮動帶來的最大影響就是,當父元素只包含浮動的子元素的時候,父元素的高度就會塌陷(height變為0)。
像醬紫:(parent高度為0,無法顯示粉色背景)
<divclass="parent">
<divclass="child1">child1右浮動</div>
<divclass="child2">child2右浮動</div>
</div>
.parent{
background:#FBC;//粉
}
201904291427235.png
四、清除浮動的方式
1.在父元素中的結尾加一個空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,位于父盒子的最下面,使父盒子重新撐起了應有的高度。
為什么要在最后加?倘若你在中間加,效果會是醬紫:
201904291427247.png
由于空div的左右都不允許浮動元素,那么它就會另起一段,導致盒子位置的效果就像child2清除右側浮動一樣,child2跑到了child1下方。
2.在父元素設置overflow屬性
•原理:設置overflow:hidden或overflow:auto,瀏覽器會自動檢查浮動區域高度(才能知道父框的內容有無溢出)
•優點:瀏覽器支持好
•缺點:子元素若超出父元素尺寸會被隱藏,或者父元素出現滾動條
<divclass="parent"style="overflow:hidden;">
<divclass="child1">child1右浮動</div>
<divclass="child2"style="position:relative;top:10px;">child2右浮動</div>
</div>
201904291427248.png
當設置overflow:auto;時,父元素會出現滾動條:
201904291427249.png
3.偽元素
•原理:類似設置clear屬性
•優點:瀏覽器支持好,普遍
<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寫法是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。