CSS 中的浮動

浮動的定義:

元素脫離文檔流

舉栗子:

//HTML

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div class="home">
  <div class="left">left</div>
  <div class="center">center</div>
  <div class="right">right</div>
</div>
</body>
</html>

//CSS

.home{
  border:1 px solid;
  margin:50px auto;
  padding:50px;
  background: red;
}
.left{
  height:80px;
  width:80px;
  background:blue;
  float:left;
}
.right{
  height:80px;
  width:80px;
  background:yellow;
  float:left;
}
.center{
  height:80px;
  width:80px;
  background:green;
  float:left;
}

1.png

修改 CSS 代碼,清除浮動:

.home{
  border:1 px solid;
  margin:50px auto;
  padding:50px;
  background: red;
}
.left{
  height:80px;
   width:80px;
  background:blue;
}
.right{
  height:80px;
  width:80px;
  background:yellow;
}
.center{
  height:80px;
 width:80px;
  background:green;
}
1.png

浮動的影響:

父元素高度塌陷

清除浮動:

1.在浮動的子元素后面添加一個空的 div 設置屬性 clear :both(在左右兩側均不允許浮動元素)或者可以試著添加空行 br 效果等同于div 設置 clear:both;

//HTML
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div class="home">
  <div class="left">left</div>
  <div class="center">center</div>
  <div class="right">right</div>
  <div class='test'></div>
//<br clear="both">
</div>
</body>
</html>

//添加CSS

.test{
  clear:both;
}
1.png

2.給父元素設置寬和高,但是如果父元素寬和高不確定這個方法就不適用

//修改 CSS

.home{
  border:1 px solid;
  margin:50px auto;
  padding:50px;
  background: red;
  width:500px;
  height:100px
}
1.png

3.給父元素設置浮動,但是如果可能會引起新的問題,而且需要給每個父元素都設置浮動。

//修改 CSS
.home{
  border:1 px solid;
  margin:50px auto;
  padding:50px;
  background: red;
  float:left
}
1.png

4.給父級添加 overflow:hidden 清浮動方法

//修改 CSS
.home{
  border:1 px solid;
  margin:50px auto;
  padding:50px;
  background: red;
  overflow:hidden
}
1.png

5.偽類清除浮動,在父容器的尾部自動創建一個子元素

//添加 CSS
:after{
  content:".";
  clear:both;
  display:block;
  height:0;
  overflow:hidden;
  visibility:hidden;
}
1.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,814評論 1 92
  • 從業三年,項目無數,現在回過頭來,想要把一些重要的知識用白話整理出來:這個東西是什么?怎樣才是最佳實踐?希望對自己...
    齊修_qixiuss閱讀 40,505評論 19 203
  • 1.浮動元素有什么特征?對父容器、其他浮動元素、普通元素、文字分別有什么影響?(1)浮動元素會脫離正常的文檔流,按...
    饑人谷_DanaeJJ閱讀 450評論 0 0
  • 浮動(float)是CSS中一個重要的定位及布局屬性,float 屬性可以接受以下幾個值: none :元素不浮動...
    文風Yu閱讀 1,567評論 0 2
  • 浮動到底是什么? 浮動元素會脫離文檔流并向左/向右浮動,直到碰到父元素或者另一個浮動元素。 浮動有哪些特征? 浮動...
    丑小小鴨閱讀 381評論 0 0