寒假來了, 打算從新學習總結前端的知識要點以及前端領域出現的新東西,所以有了這個系列。更多內容能夠去個人github: https://github.com/SGAMERyu
Float是一個CSS定位屬性, 要了解他的目的和起源, 咱們能夠看看印刷設計, 在打印佈局中, 能夠將圖像設置到頁面中, 使得文本根據須要環繞他們。css
;前端
而在頁面中浮動是這樣工做的: 浮動元素會脫離正常的文檔佈局流,並吸附在其父容器的左邊/右邊(float: left/right
)。在正常佈局下中位於該浮動元素之下的內容,此時會圍繞着浮動元素。填滿左側或右側的空間。git
浮動元素仍然是網頁流的一部分,這與使用絕對定位的頁面不一樣, 絕對定位的頁面元素將從網頁的佈局流中移除。github
除了圖像環繞文字以外,浮動可用於建立整個網頁佈局ide
在較小的佈局中,浮動對佈局也頗有幫助, 若是咱們使用float
應用到咱們的圖像上,那麼當圖像改變大小時, 框中的文本將回流適應佈局
一樣的佈局也能夠經過容器上的相對定位和絕對定位來完成,這樣作的話, 文本將不會受到化身的影響,而且不能在大小改變時從新排版學習
Float
的相對屬性是Clear
, 一個擁有clear
屬性的元素, 並不向像浮動元素的方向移動,而是會在浮動元素的下方spa
在上面的例子中, slidebar
像右浮動,比Main Content
內容區域短,而後footer
被移動到浮動所需的可用空間。要解決這個問題,咱們能夠給footer
元素設置清除浮動時設計
#footer { clear: both; }
clear
也有四個有效值, both
是最經常使用的,清楚來自任意方向的浮動, left
和right
能夠用來分別從一個方向清除浮動。 code
若是父元素只包含浮動的元素,那麼他的高度就會塌陷。若是父元素不包含任何視覺明顯的背景,並不會有什麼問題。可是更難的是這種狀況
<p> float before <span style="float:left"> <p> <p>float after<p>
這樣輸寫代碼會形成這樣的狀況
這樣使用浮動會在文本流中出現不天然的間隔中斷。並且沒有實際的方法來修復他
div
,也能夠是<br>
元素獲取其餘元素。<div style="clear:both">
overflow
屬性,若是此屬性設置爲auto
或者hidden
則能夠達到清除浮動的效果。但要注意overflow
並非專門用於清除浮動。.clearfix{ zoom: 1; display: block; } .clearfix:after{ content: ""; visibility: hidden; display: block; height: 0; clear: both; }
閱讀原文: https://css-tricks.com/all-ab...