在前面的三篇系列文章中,我對九宮格佈局作了詳細的介紹。先從一個基本佈局入手,將在製作過程中遇到的問題逐一進行了講解。這三篇文章都是基本原理的講解,沒有一個有力的應用案例來證明這種原理是否正確,可能有些朋友已經有點急不可煩,也有網友要求我能提供案例。因此,在這篇文章中,我將介紹一個九宮格案例—極酷的播放器。
在我的第三篇文章《三層分離的完美九宮格》中,我介紹了用JS封裝html標籤,以便於減少冗餘的結構體,但這種方式也是有缺陷的,如果用戶禁用了JS,將造成結構完全顯示不出來,當然對於當今的上網條件來說,這應該不是一個大問題,但縱觀國外的一些網頁設計,都是有這種考慮的必要的。這就需要優雅降級和功能弱化,但這樣帶來的結果和不應用JS封裝是一樣的。所以,魚和熊掌不可兼得也。哎,這些都是題外話,還是來看看我們一個極酷的播放器是如何設計出來的吧!
先入為主,大家都想先看看結果,好,先秀出截圖:
圖一
一般對於這樣一個有豐富色彩的播放器來說,都是要求其寬高值是可以動態調整,因此這樣的圖形用九宮格來做是非常適合的選擇。
當然原理我也不再重述了,請參考我的系列文章中的《牢不可破的九宮格佈局》,這個應用案例就是針對它來實現的。當然在製作中還是有些技巧可以幫助我們更好的完成任務。例如css sprites技術(可以查看我的另一篇文章《 css sprites圖片背景優化技術》),它能有利地減少圖片的請求數,一般對於九宮格佈局的應用來講,其圖片是比較多的,因為它至少需要八張圖片分別來裝飾四個角落和四條邊。所以怎樣減少圖片數量,對於設計人員來說是一件必須考慮的事情。
在這個例子中我將四角的圖片合併成了一張圖片,它們看起應該就是下面這個樣子:
圖二
在上圖中我為了讓大家看得仔細一點,幾張圖片的交界處用輔助線畫了出來,我們應用圖片定位原理將它們分別固定在四個角落上。它們在樣式表中是如下方式來定義的:
.t_l{ background:url(../image/round.gif) no-repeat left top;}
/*左上角*/
.t_r{background:url(../image/round.gif) no-repeat right top;}
/*右上角*/
.b_l{background:url(../image/round.gif) no-repeat left bottom;}
/*左下角*/
.b_r{ background:url(../image/round.gif) no-repeat right bottom;}
/*右下角*/