現實中,設計師通常混合使用固定寬度、流式布局或者彈性布局元素,為用戶提供每種方式的優點,并且將缺點降低到最小。
例如,內容區域通常會使用em 單位(以此來確保每行的適當長度以及在IE6 下的字體縮放)。側邊欄通常使用固定單位(因為側邊欄通常會包含固定寬度的Ba
nner,這樣固定寬度才比較可行)。另外一個相關的技術是為流式內容指定“最小寬度”和“最大寬度”屬性。使用CSS 屬性而不是彈性元素,讓用戶可以根據個人喜好調整每行的長度。
Jello-liquid 布局雖然不是很流行,但卻比較有趣(“Jello :A Different LiquidLayout”,uwmike.com)。為了保持內容區的可讀性,他努力降低布局增長時比例增長的速度。所以,一個自適應布局在1024×768(960÷1024=0.9375)視口中具有960 像素寬度,在窗口增長到1440×900(1440÷1350=0.9375)時會得到一個比1350 像素小的寬度。為了實現這種效果,布局中很大一部分元素都使用了固定的像素值,剩下的元素使用了與窗口寬度相關的相對值。
固定部分占布局的比例越小,布局隨著窗口拉伸時所獲得效果就越好。很簡單、也很智能。
另外一個有趣的方法是結合了流式和彈性元素的流式彈性布局(fluid elasticlayout)。這種布局基于em 單位,但是使用相對值設置了“最小寬度”和“最大寬度”(考慮了窗口的寬度,賦予用戶將布局限制在一定縮放范圍內的能力)。通過設置最大和最小寬度,文本縮放到一定程度的時候會停止變化。布局隨著窗口的變化而自動調整保留了適應性,同時也是彈性的。在窗口尺寸或者字體尺寸發生變化時,各列的寬度在自動變化。
在下面的例子中,為容器和每一列設置了“max-width”屬性。這樣布局就會限制在整個視口的寬度。同樣,在較老版本的IE 中并不支持“max-width”,所
以我們需要為IE 做一些特殊的處理,代碼如下所示(在下一個例子中將不再列出)。2.7 哪種布局最適合您的網站?
固定寬度的方法通常在帶有大量圖片的高級視覺布局中表現良好(例如娛樂、促銷或者基于Flash 的網站,還有一些作品集頁面),這樣圖片能夠通過精確的定位實現更加準確、較少錯誤的設計。實現這種布局,設計師需要考慮用戶的平均情況,確保設計的布局對大部分用戶不會顯得太窄或者太寬,在不同瀏覽器間保持良好的可用性。編寫固定布局同樣比較規則和直接,開發人員不需要為各種元素之間的關系和平衡耗費太多心思。
對于哪種布局最合適不會得到標準答案。限于使用環境、時間限制以及設計師的技能,每種布局都有特定的應用情況。
如果這正是你的想法,也許你會考慮在設計中使用流式布局。這種布局制作非常耗時,也不是很容易開發,并且在一些不可預知的環境中存在一定風險,但是提供了用戶根據喜好調整布局的特性。流式布局具有較高的生產成本,但是顯著降低了維護成本,同時為靈活性和跨分辨率的網站提供堅實的基礎。設計師只需要確認內容區具有合適的行寬,并且在必要的情況下使用“minwidth”和“Max-width”。
是否仍然猶豫不決?彈性或者部分彈性的設計是另外一個選擇。在正確使用的前提下,彈性布局在帶來了更多可預測性的同時保持了布局的靈活性。因為彈性布
局依賴于字體大小(而不是瀏覽器的窗口尺寸),彈性布局允許設計師“凍結”布局中區塊間的比例,確保元素之間的平衡和良好的可讀性。特別是在文本較多的網站中,保持良好的可讀性的要求非常嚴格(固定布局中也一樣重要)。彈性布局更多的是用在雜志、在線商店、博客或者類似的網站上。聰明的流式網格使用者可以創建既忠實于原始設計比例和經典圖片設計原則,又保持適應性的布局。
一些設計師希望在不同瀏覽器之間獲得完美的一致,流式設計的支持者們卻認為布局并不需要在不同平臺和分辨率下保持一致。
實際工作中,設計師經常為字體和容器使用em 單位,而其他元素則靈活地使用像素和相對值來建立一個彈性的布局。這些或者相似的混合布局在實際情況中最常見,反映了設計師希望為每種情況找到最佳解決方案的努力。
在總結之前,有必要提一下智能手機、上網本和游戲終端,這些設備現在都可以進行網頁瀏覽,所以更低(或者更高)的分辨率變得越來越重要,而且應當進行認真考慮。對于這類平臺,動態的分辨率切換技術將會非常有用,而且在將來擴展你的布局類型時會是不二的選擇。雖然構建自適應性的布局需要耗費很多時間,但是由于能夠處理或小或大的各種類型的分辨率,會幫助設計師為用戶呈現最合適的效果。隨著屏幕寬度的不斷增加,使用所有這些技巧只是個時間問題。