標(biāo)準(zhǔn)流 normal flow
標(biāo)準(zhǔn)流實(shí)際上就是一個網(wǎng)頁內(nèi)標(biāo)簽元素正常排列的順序的意思迫悠;
比如塊級元素會獨(dú)占一行匆浙,行內(nèi)元素會按順序依次從左向右,從上向下排列寇甸;
按照這種大前提的布局排列之下絕對不會出現(xiàn)列外的情況叫做標(biāo)準(zhǔn)流布局缤沦,也稱做流式布局虎韵。
浮動的本質(zhì)
就是word中圖片和文字混排
float: left;
總結(jié):浮動的元素會不占據(jù)標(biāo)準(zhǔn)流的空間。但是會影響標(biāo)準(zhǔn)流文字的排版
浮動特性
1.浮動脫離標(biāo)準(zhǔn)流缸废,不占位置包蓝,但會影響標(biāo)準(zhǔn)流驶社。浮動只有左右浮動。
2.浮動的元素A排列位置测萎,跟一個元素(塊級)有關(guān)系亡电,如果上一個元素有浮動,則A元素頂部會和上一個元素的頂部對齊硅瞧;如果上一個元素是標(biāo)準(zhǔn)流份乒,則A元素的頂部會和上一個元素的底部對齊
3.一個父盒子里面的子盒子,如果其中一個子級有浮動的腕唧,則其他子級都需要浮動或辖。這樣才能一行對齊顯示
4.浮動根據(jù)元素書寫的位置來顯示相應(yīng)的浮動
5.元素添加浮動后,如果沒有設(shè)置寬高枣接,元素會具有行內(nèi)塊元素的特性颂暇。元素的大小完全取決于定義的大小或者默認(rèn)的內(nèi)容多少。也就是具有了包裹性但惶。
6.浮動具有破壞性耳鸯,元素浮動后,破壞原來的正常流布局膀曾,造成內(nèi)容塌陷县爬。
父容器高度塌陷
如果一個標(biāo)準(zhǔn)中的盒子所有的子元素都進(jìn)了浮動,而且盒子沒有設(shè)置高度妓肢,那么父容器整個高度會塌陷
overflow: hidden; ? 超出的部分進(jìn)行隱藏
當(dāng)盒子內(nèi)的元素超出盒子自身的大小時捌省,內(nèi)容就會溢出(IE6除外),這時如果想要規(guī)范溢出內(nèi)容的顯示方式,就需要使用css的overflow屬性
visible:內(nèi)容不會被修剪苫纤,會呈現(xiàn)在元素框之外(默認(rèn)值)
hidden:溢出內(nèi)容會被修剪碉钠,并且被修剪的內(nèi)容是不可見的
auto:在需要時產(chǎn)生滾動條,即自適應(yīng)所要顯示的內(nèi)容
scroll:溢出內(nèi)容會被修剪卷拘,且瀏覽器會始終顯示滾動條
補(bǔ)充BFC
overflow 可以觸發(fā)元素的BFC喊废,可以讓元素具有獨(dú)立的排版的空間和權(quán)限,在bfc內(nèi)部所有的元素都依據(jù)父元素進(jìn)行排版和布局栗弟,所有父元素具有了包裹性污筷,這就是解決高度塌陷問題的原理
? 比如:浮動也可以觸發(fā)bfc,再有 定位、overflow乍赫、display:table瓣蛀、table-cell...