My Calendar

2012年4月12日 星期四

清除float效果

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; 處理兼容性問題
}
}

沒有留言:

張貼留言