position和BFC

Rachid發表於2018-05-26

一、關於position
流定位:不能通過left/top屬性來進行定位(那用什麼定位),上下排列的元素縱向邊距會被合併,左右元素橫向邊距不會合並。
浮動定位:脫離文字流,就好像不在父元素中,像是浮在父元素的上方。
相對定位:相對自身位置定位,不會脫離文字流,相當於是個參照物,給子代元素作為參照。
絕對定位:脫離文字流,不佔據空間,相對於最近的有定位屬性的祖籍元素定位。
固定定位:相對於視窗進行定位。

二、BFC 塊級格式化上下文
BFC會阻止垂直外邊距的摺疊,對於的巢狀元素來說,只要將父元素設定BFC就不會和父元素的margin重疊了

(這麼牛X怎麼實現BFC)

形成條件:
float:left/right
overflow:hidden/auto/scroll
display:inline-block
position:absolute/fixed

常見的清除浮動的方法
1、

zoom:1;
after{
    content:" ";
    display:block;
    height:0;
    visibility:hidden;
    clear:left;
}

2、

zoom:1;
after{
    content:"";
    display:table;
    clear:borth;
}

 

清除浮動只有兩種方式,一種是用clear清除浮動,二是使用父級元素形BFC。