div的浮動(float)


什么是浮動

浮動,故名思議,就是移動位置。

之所以不叫移動,而叫浮動,那是因為給元素設置浮動后,元素會浮到文檔上面來,術語叫脫離文檔流

例子

下面我們看例子

  1. <html>
  2. <head>
  3. <style>
  4. #div0 {
  5. /* 設置背景色為黃色 */
  6. background-color:yellow;
  7. /* 設置邊框為1px的線條 */
  8. border:1px solid;
  9. /* 設置寬度為800px */
  10. width:800px;
  11. }
  12. #div1, #div2 {
  13. /* 設置寬度為300px */
  14. width:300px;
  15. /* 設置高度為300px */
  16. height:300px;
  17. /* 設置邊框為1px的線條 */
  18. border:1px solid;
  19. }
  20. #div1 {
  21. /* 設置背景色為灰色 */
  22. background-color:#888;
  23. }
  24. #div2 {
  25. /* 設置背景色為藍色 */
  26. background-color:#08c;
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <div id="div0">
  32. <div id="div1"></div>
  33. <div id="div2"></div>
  34. </div>
  35. </body>
  36. </html>

有三個div,其中一個大的#div0,里面含有兩個子div#div1#div2

float

可以看到,大的黃色#div0,嵌套了一個灰色的#div1和一個藍色的#div2

由於div塊級元素,所以灰色黃色div不會在同一排顯示。


測試1

這個時候,我們給#div1,設置右浮動

  1. #div1 {
  2. /* 設置背景色為灰色 */
  3. background-color:#888;
  4. /* 右浮動 */
  5. float:right;
  6. }

float1
這個時候,可以看到,灰色的#div1到右邊去了。

而黃色#div0的高度,只有一半了。

這是因為,當#div1浮動到右邊后,它就脫離文檔流了,來到文檔的上方,也就是和原來的#div0#div2不在同一個層面上了。

這時候,#div0的高度,就等於是現在還在同一層面上#div2的高度。


測試2

我們再給#div2做個左浮動

  1. #div2 {
  2. /* 設置背景色為藍色 */
  3. background-color:#08c;
  4. /* 左浮動 */
  5. float:left;
  6. }

float2

發現#div0居然不見了,但是可以圖片頂部,出現#div0的邊框。

這是由於,#div1#div2都設置了浮動,它們都脫離了文檔流,和#div0不在同一個層面上了。

也就是#div0里面沒有了內容,就坍塌的只剩下邊框了。


測試三

如果你需要#div0也有一個高度 ,剛好能包裹着浮動的子元素,那么你可以給#div0也設置一個浮動,這樣他們就又在同一個層面上了。

  1. #div0 {
  2. /* 設置背景色為黃色 */
  3. background-color:yellow;
  4. /* 設置邊框為1px的線條 */
  5. border:1px solid;
  6. /* 左浮動 */
  7. float:left;
  8. }

float3


免責聲明!

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



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