dom元素脫離文件流,有如下幾種方式:
1. float
脫離文件流,其他dom元素無視他,在其下方佈局,但是其未脫離文字流,其他元素的文字會認為他存在,環繞他佈局。
父元素會無視他,因此無法獲取其高度,這也就是浮動元素父元素高度塌陷的原因。
下面是一個例子:
特別注意的是,浮動元素後面元素的文字雖然對浮動元素形成環繞,但其位置依然受後面元素的寬高的影響。如果
後面元素的寬度過小,文字將不能在右側環繞,而是顯示在浮動元素下方。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> body { color:#FFF; } #container { width:500px; height:250px; background:#039; } #A { float:left; width:200px; height:200px; background:#C00; } #B { width:480px; height:230px; background:#000; } </style> </head> <body> <div id="container"> <div id="A">你好</div> <div id="B"> 第一,絕對定位與浮動的區別。絕對定位是將元素徹底從文件流刪除,並相對於其包含塊定位(包含塊可能是文件中的另一個元素或者是初始包含塊),元素原先在正常文件流中所佔的空間會關閉,就好像該元素原來不存在一樣,該元素再也不會影響其他元素的佈局了。如果對元素A使用絕對定位的話,元素B佔據元素A之前的位置,與元素A重合在一起,並被元素A覆蓋。如圖所示。 </div> </div> </body> </html>
2. absolute
完全脫離文件流,其他元素無視他,在其下方佈局
3. fixed
完全脫離文件流
4. relative
半脫離文件流,相對自身位置偏移,其自身位置還在,依然佔據文件流
參考:https://blog.csdn.net/cxl444905143/article/details/17361045
https://blog.csdn.net/thelostlamb/article/details/79581984