div css float布局用法


float的應用與用法

想要知道float的用法,首先你要知道float在網頁中的用處。

  浮動的目的就是為了使得設置的對象脫離標准文檔流。

  什么是標准文檔流?

  網頁在解析的時候,遵循於從上向下,從左向右的一個順序,而這個順序就是來源於標准文檔流。

  也就是說,為了使元素能夠脫離元素特性的控制--即塊級元素可以並排顯示,且不設定寬度就不會占滿父元素寬度的百分之百;而行內元素可以設置寬高,並且可以並排顯示。

  這就是所謂的脫離了標准文檔流。

float浮動用於設置對象靠左或靠右浮動樣式,可實現我們所需要的DIV,span等標簽向左、向右浮動。


簡單的使用語法

1 div {
2     float:left;  /* css注釋:設置div對象浮動靠左(left) */     
3     }
4 div {
5   float: right;/* css注釋:設置div對象浮動靠右(right) */ 
6    }

css float浮動案例


我們設置在一個盒子里,放置一個靠左、一個靠右兩個盒子。為了更直觀的看到css浮動布局效果,我們為兩個盒子設置寬、高、邊框和背景顏色。

1.html代碼片段

<div class="divcss5">
    <div class="divcss5_left">float left盒子</div>
    <div class="divcss5_right">float right盒子</div>
</div>

2.css代碼片段

 1             .divcss5 {
 2                 width: 500px;
 3                 background: pink;
 4                 border: 1px solid #F00;
 5                 padding: 10px
 6             }
 7 
 8             .divcss5_left,.divcss5_right {
 9                 border: 1px solid black;
10                 background: white;
11                 width: 200px;
12                 height: 150px
13             }
14 
15             .divcss5_left {
16                 float: left
17             }
18 
19             /* css注釋: 設置浮動靠左 */
20             .divcss5_right {
21                 float: right
22             }            

3.效果截圖

  

 div css浮動float用法應用案例截圖

  從效果圖可以看出來,由於沒有對兩個盒子的父元素盒子設置高度,所以導致了父元素的高度塌陷--引起高度塌陷的原因是在浮動之前,兩個子元素盒子在標准文檔流中受到特性限制,所以撐起了整個父元素盒子的高度,但是由於浮動導致了兩個子元素盒子脫離了標准文檔流,因而引起了父元素盒子的高度發生塌陷

  父元素的高度塌陷就是浮動產生的影響導致的,要想使父元素可以正常顯示,就需要清除浮動所帶來的影響,下面介紹幾種方法。

清除浮動


1.隔牆法:

  在兩個子元素盒子后面加入一個div,並設置樣式為 clear:both,可以清除浮動所帶來的影響,具體用法請見這里

<div class="divcss5">
    <div class="divcss5_left">float left盒子</div>
    <div class="divcss5_right">float right盒子</div>
    <div style="clear: both;"></div>
</div>

2.一種較為成熟的方法

  這種方法直接使用即可,在html代碼中的父元素盒子中加入clearfix

<div class="divcss5 clearfix">
    <div class="divcss5_left">float left盒子</div>
    <div class="divcss5_right">float right盒子</div>
</div>

  css代碼--直接粘貼復制到css代碼中即可

 1 .clearfix {
 2     /* 兼容ie */
 3     *zoom: 1
 4 }
 5 /* 當前元素的前后,添加一個空白,且將當前元素轉換成table類型 */
 6 .clearfix:before,.clearfix:after {
 7     content: " ";
 8     display: table
 9 }    
10 .clearfix:after {
11     clear: both
12 }

3.為父元素設置一個高度

1 .divcss5 {
2     width: 500px;
3     background: pink;
4     border: 1px solid #F00;
5     padding: 10px;
6     height: 150px;
7 }

  父元素盒子樣式的其他設置不變,只需要新增height:150px;保證父元素的高度不會塌陷即可。

4.overflow:hidden

1 .divcss5 {
2     width: 500px;
3     background: pink;
4     border: 1px solid #F00;
5     padding: 10px;
6     overflow:hidden;
7 }

  overflow:hidden之所以可以清除浮動,主要是觸發了BFC效果,BFC效果詳見這里

  而在IE比較低版本的瀏覽器中,如果使用overflow:hidden;是不能達到這樣的效果的,需要加上zoom:1;

  所以如果需要使用overflow:hidden來清除浮動的話,為了讓兼容性更好,最好加上zoom:1;

效果截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM