“雙飛燕”頁面佈局

 雙飛翼佈局是一種比較靈活的佈局,始於淘寶UED,玉伯提出的,當然他着重介紹的是雙飛翼柵格佈局。

  本文着重講解常用三欄佈局。通俗一點講,可以把三欄比作一隻鳥,main部分相當是於鳥的身體,而left與right就是鳥的“翼”了,鳥想要平衡地飛翔就要把主體位置給擺正確,然後在“翼”的作用下開始起飛。佈局也是一樣的,我們也要先把主體給擺好,然後再合理地調整雙翼,這樣整體動作纔會比較和諧。

 

爲了快速加載主體內容,我們在佈局時候可以把最重要的放在最前面。比如:

<div class="wrap">

<div class="main">main</div>

<div class="left">left</div>

<div class="right">right</div>

</div>

 

實現要求:主間部分內容的寬度是要自適應的,左、右兩邊寬度分別爲20%,30%  

 

首先呢,我們需要把這三列都浮動起來,即:

.main,.left,.right { float:left;  height:200px; }

說明:這裏的高度是我自己設置的,在實際佈局中可以根據需要來定,他們可以任意設置自己的高度。

 

主體main的寬度要自適應,那麼可以先設置爲100%,然後隨便上個背景色與”翼“做區分 

.main { width:100%;  background:#ace; }

 

接下來便是”翼“的設置了

左邊: 

.left { width:20%; background:#eee; }

右邊: 

.right { width:30%; background:#ddd; }

 

基本樣式已設置完成,但預覽頁面你會發現並沒有達到預期的效果。。。

那麼接下來,我們應該怎麼做呢? 

大家可以回想一下margin的用法,對於其負值有很奇妙的用法(這裏不多做說明,文章最後我會推薦一些相關文章,感興趣的童鞋可以看看),而在這裏,關鍵也是運用margin負值才得以實現效果。

 

回到題目中,想要left居左,那麼我們可以設置 margin-left:-100%;  即:

.left { width:20%; background:#eee; margin-left:-100%; }     

說明:這裏的100%爲main的寬度,相當於是把left給左移了,剛好實現左邊與main的對齊。

 

對於right居右問題,也是類似可以設置margin-left:30%; 即:

.right { width:30%; background:#ddd; margin-left:-30%; }  

說明:這裏的30%爲right自身的寬度,相當於是自己向左移了自身的一個寬度,剛好實現右邊與main的對齊。

 

這時,整個佈局看起來像是完成了,其實還剩關鍵的一步,即main的位置該如何設置?目前,他的左邊及右邊部分元素是會被left/right擋住的,所以我們還必須在main裏面再添加一個div(class="mainIn"),設置margin:0 30% 0 20%;,把兩邊內容給擠開,這樣纔是完美的效果。


轉自:http://www.cnblogs.com/front-end/archive/2012/08/29/zq_0406.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章