1. 程式人生 > >(負值)-margin在頁面佈局中的應用

(負值)-margin在頁面佈局中的應用

主要有以下幾種情況:

一、左右列固定,中間列自適應佈局 ;

此例適用於左右欄寬度固定,中間欄寬度自適應的佈局。由於網頁的主體部分一般在中間,很多網頁都需要中間列優先載入,而這種佈局剛好滿足此需求。

二、去除列表右邊框 ;

專案中經常會使用浮動列表展示資訊,為了美觀通常為每個列表之間設定一定的間距(margin-right),當父元素的寬度固定式,每一行的最右端的li元素的右邊距就多餘了,去除的方法通常是為最右端的li新增class,設定margin-right:0; 這種方法需要動態判斷為哪些li元素新增class,麻煩!!!利用負margin就可以實現這種效果;

三、負邊距+定位:水平垂直居中 ;

使用絕對定位將div定位到body的中心,然後使用負margin(content寬高的一半),將div的中心拉回到body的中心,已到達水平垂直居中的效果。

四、去除列表最後一個li元素的border-bottom;

列表中我們經常會新增border-bottom值,最後一個li的border-bottom往往會與外邊框重合,視覺上不雅觀,往往要移除。

五、多列等高 ;

此例關鍵是給每個框設定大的底部內邊距,然後用數值相似的負外邊距消除這個高度。這會導致每一列溢位容器元素,如果把外包容器的overflow屬性設為hidden,列就在最高點被裁切。

有關margin的原理可以看看這篇文章:

http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html#2457812

有關margin負值的幾個案例可以參考:http://www.cnblogs.com/jscode/archive/2012/08/28/2660078.html