定位問題中的display
display 為 block 時,默認(rèn)寬度是100%,一旦我們將它設(shè)置為 inline-block 那么它的寬度將由內(nèi)部的內(nèi)容來決定或者我們也可以手動來為其設(shè)置寬度。
同樣,當(dāng)我們讓一個元素 浮動起來 的時候,其寬度也會由內(nèi)部的內(nèi)容來決定(也可以進(jìn)行手動設(shè)置),由于元素浮動,必然會導(dǎo)致父元素高度寬度為 0,我們這時候就需要給父元素加上 overflow:hidden 了,但是加上去之后,浮出來的部分如果超出父元素,就會被隱藏,我們經(jīng)常會看到網(wǎng)頁當(dāng)中的一些 hover 效果就是鼠標(biāo)放上去之后里面的內(nèi)容是溢出父元素的,如果想實現(xiàn)這種效果,那么我們肯定就不能再使用 overflow:hidden 了,也就是不能使用浮動布局了,只能由 position 定位來進(jìn)行實現(xiàn)。
組件化問題
當(dāng)有兩個或兩個以上的元素構(gòu)成一個組件時,我們最好給這個組件外部套上一個 包裹層,方便以后對組件進(jìn)行定位。
關(guān)于定位中的absolute
將一個元素的 position 屬性設(shè)置為 absolute 后,僅僅是是該元素脫離了標(biāo)準(zhǔn)文檔流,但是對該元素的進(jìn)一步定位我們還需要使用 top left 等坐標(biāo),并且對于該元素來說雖然脫離標(biāo)準(zhǔn)文檔流,但是它仍然在其父元素內(nèi)部,如果父元素有 overflow:hidden 那么該元素相對于父元素的 溢出部分 還是會隱藏的。