国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

輕松搞懂CSS浮動與清除浮動圖文詳解

2024-07-11 08:42:26
字體:
來源:轉載
供稿:網友

 一、float(浮動)是什么

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

float:left 元素向左浮動。

float:right 元素向右浮動。

float:none 默認值。元素不浮動,并會顯示在其在文本中出現的位置。

float:inherit 規定應該從父元素繼承 float 屬性的值。

看一段簡單的代碼:
 

<div class="child1">左浮動</div><div class="child2">右浮動</div><div class="child3">喵</div>  .child1 {    float: left;    height: 500px;    width: 70%;    background: #aa0;//黃  }  .child2 {    float: right;    height: 300px;    width: 30%;    background: #0aa;//青  }  .child3 {    background: #a0a;//紫  }

二、clear是什么

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

clear:left 在左側不允許浮動元素。

clear:right 在右側不允許浮動元素。

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

clear:none 默認值。允許浮動元素出現在兩側。

clear:inherit 規定應該從父元素繼承 clear 屬性的值。

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

 

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

本來是醬紫的:
 

<div class="child1">child1右浮動</div><div class="child2">child2右浮動</div>哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈...  .child1 {    float: right;    background: #aa0;//黃  }  .child2 {    float: right;    background: #0aa;//青  }

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

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

三、浮動帶來的影響

浮動帶來的最大影響就是,當父元素只包含浮動的子元素的時候,父元素的高度就會塌陷( height 變為 0 )。

像醬紫:(parent高度為0,無法顯示粉色背景)<div class="parent">    <div class="child1">child1右浮動</div>    <div class="child2">child2右浮動</div></div>  .parent {    background: #FBC;//粉  }

四、清除浮動的方式
 

1. 在父元素中的結尾加一個空 div
 

div

<div class="parent">  <div class="child1">child1右浮動</div>  <div class="child2">child2右浮動</div>  <div style="clear: both;"></div></div>  .child1 {    float: right;    background: #aa0;  }  .child2 {    float: right;    background: #0aa;  }

可見,空 div 高度為0,位于父盒子的最下面,使父盒子重新撐起了應有的高度。

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

 

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

2. 在父元素設置 overflow 屬性
 

• 原理:設置 overflow:hidden 或 overflow:auto ,瀏覽器會自動檢查浮動區域高度(才能知道父框的內容有無溢出)
•優點:瀏覽器支持好
•缺點:子元素若超出父元素尺寸會被隱藏,或者父元素出現滾動條
 

<div class="parent" style="overflow:hidden;">  <div class="child1">child1右浮動</div>  <div class="child2" style="position:relative;top:10px;">child2右浮動</div></div>

 當設置 overflow:auto; 時,父元素會出現滾動條:  
 

3.偽元素
 

•原理:類似設置clear屬性
•優點:瀏覽器支持好,普遍
 

<div class="parent clearfix">  <div class="child1">child1右浮動</div>  <div class="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浮動與清除浮動,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汶川县| 廊坊市| 大厂| 定日县| 达州市| 富川| 西乌珠穆沁旗| 定南县| 遵化市| 东丽区| 奉贤区| 梁平县| 湛江市| 洛川县| 楚雄市| 田阳县| 阳信县| 进贤县| 天祝| 东港市| 绥江县| 伽师县| 桑植县| 宝坻区| 正镶白旗| 乌苏市| 北宁市| 长春市| 锡林郭勒盟| 特克斯县| 从江县| 石屏县| 石门县| 招远市| 岐山县| 五华县| 公主岭市| 榕江县| 当雄县| 平遥县| 孝义市|