最佳網頁寬度及其實現

作者: 阮一峯

日期: 2008年7月27日

1.

設計網頁的時候,確定寬度是一件很苦惱的事。

minifun.cn爲例,根據Google Analytics的統計,半年多以來,訪問者的屏幕分辨率一共有81種。最小的分辨率是122x160,這應該是手機;最大的分辨率是3360x1050,天知道是什麼設備。

一張網頁要在大小如此懸殊的各種屏幕上,都呈現令人滿意的效果,難度可想而知。舉例來說,一張400px寬的圖片,在800px的屏幕上會佔據50%的寬度,而在1920px的屏幕上(Windows Vista的流行設置),只佔據20%。

2.

目前,常見的屏幕分辨率寬度大概有6種:800px,1024px,1280px,1440px,1680px和1920px。其中,1024px最常見,但是隨着大屏幕顯示器的流行,更高的分辨率正變得越來越多。

常見的解決方法有兩種:

第一種:用javascript根據不同的客戶端分辨率,選擇css樣式表文件,具體的做法可以看這裏

第二種:採用彈性佈局(Fluid Width Layout),實現網頁寬度的自適應。

第一種方法的優點是,可以根據不同屏幕分辨率,採用完全不同的佈局,缺點是要設計和維護多張樣式表,比較麻煩。第二種方法只採用一張樣式表,比較省事。

下文就根據css-tricks上的解決方案,討論如何實現第二種方法,實際上是很簡單的。

3.

首先,網頁的缺省寬度,確定爲滿足1024px寬度的顯示器。這不僅因爲1024x768是現在最常見的分辨率,還因爲這個寬度對網頁最合適:1)它放得下足夠的內容,足夠三欄的佈局;2)單行文字不宜太長,1024px已是極限,否則容易產生閱讀疲勞;3)在當前的互聯網帶寬條件下,網頁難以採用大分辨率所要求的大尺寸圖片。

其次,網頁寬度會在780px-1260px的範圍內,自動變化,即最小不小於780px,最大不超過1280px。

最後,對於更大的分辨率,網頁內容會自動居中。

4.

下面就是CSS文件的寫法,只要4行。需要注意的是,這幾行的語句都針對整個頁面,即body標籤或者最外層的那個div區域。

margin: 10px auto;

這一行保證了網頁在任何分辨率下,都會居中。

min-width: 780px;
max-width: 1260px;

這二行規定了網頁的最小和最大寬度。注意,IE6不支持這二行,即它們在IE6中是無效的。

width:expression(document.body.clientWidth < 782? "780px" : document.body.clientWidth > 1262? "1260px" : "auto");

這一行是針對IE6的解決方法。它採用了CSS表達式,也可以通過javascript實現。

另外,如果想讓內層的各個區塊也自動伸縮,它們的寬度可以採用百分比的形式,比如:

#div-left{
width:50%;
}

#div-right{
width:50%;
}

最後的效果和源碼下載請查看這裏。通過變動瀏覽器窗口的大小,可以發現網頁在780px-1260px的範圍內會自動伸縮。

5.

最後,建議大家平時使用計算機的時候,不要盲目採用高分辨率,意義不大。

(完)

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