Float 在設計多欄佈局時,是CSS常用的手段。但常常就會遇到的一種情況,就是用來包覆float子元素的父元素無法跟隨float子元素的高度一併延伸:
HTML
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container">
<div class="left"></div>
<div class="right"></div>
</div>
</html>
CSS
.container{
margin : 0 auto;
width: 500px;
background: red;
padding: 30px;
}
.left{
background: black;
width : 50px;
height : 300px;
float :left;
}
.right{
background: green;
width : 50px;
height : 300px;
float: right;
}
如果我們希望將父元素將全部子元素都包覆在裡面,可以有幾種方法清除float的效果:
使用Clear屬性的空元素
在浮动元素后使用一个空元素如<div class="clearfix"></div>,并在CSS中赋予 .clearfix{clear:both;}属性即可清除浮动。
在浮動元素後面增加<br/>標籤
<br/>吧有自帶的清楚浮動屬性
父級元素定義overflow:auto屬性
.container{
.over-flow{
overflow: auto; zoom: 1; //zoom: 1; 處理兼容性問題
}
}


沒有留言:
張貼留言