簡介

從一開始,World Wide Web 的設計就與您選擇的硬體和作業系統無關。只要您可以連上網路,便可存取全球資訊網。

網路發展初期,大多數人都是使用電腦。如今,網頁可在電腦、筆電、平板電腦、摺疊式手機、冰箱和車輛上使用。使用者理當期待網站在任何裝置上都能完美呈現。回應式設計可讓您做到這一點。

回應式設計並非設計網站時的首要考量。在回應式設計出現之前,網頁設計人員和開發人員嘗試過許多不同的技巧。

早期設計選項

開發人員建構的網站採用固定寬度液體版面配置

固定寬度設計

在 1990 年代初期,網路也逐漸普及,多數螢幕的螢幕尺寸寬度都是 640 像素寬 x 480 像素。這些是凸形陰極射線管,與我們現在的平面液晶螢幕不同。

Microsoft 網站,包含兩個簡單的文字欄和一個網格列。
90 年代末的 Microsoft 網站設計寬度為 640 像素。archive.org
的螢幕截圖

在早期網頁設計的發展階段,設計寬度為 640 像素的網頁是安全的選擇。儘管手機和相機等其他技術的飽和度已降低,螢幕卻變得越來越大,最終看起來更美味。不久之後,大多數螢幕的尺寸就變成 800 x 600 像素。網頁設計也會隨之變更。設計師和開發人員開始假設 800 像素是安全的預設值。

Microsoft 網站使用三欄式、以文字為主的設計。
2000 年代初期的 Microsoft 網站設計寬度為 800 像素。archive.org
的螢幕截圖

然後螢幕又變大了。1024 by 768 會成為預設選項。這就像是網頁設計師和硬體製造商之間的軍備競賽。

​​

使用圖片和文字的 Microsoft 網站,設計較為複雜。
2000 年代中期的 Microsoft 網站設計寬度為 1024 像素。archive.org
的螢幕截圖

無論寬度是 640、800 還是 1024 像素,選擇一個特定寬度進行設計稱為固定寬度設計。

如果您為版面配置指定固定寬度,則版面配置只會在該特定寬度下顯示良好。如果網站訪客的螢幕寬度大於您選擇的寬度,畫面上就會浪費空間。您可以將頁面內容置中,以便更均勻地分配空間 (而不是在某一側留空白),但仍無法充分利用可用空間。

狹窄的版面,周圍有大量空白空間。
2000 年代初的 Yahoo! 網站,在瀏覽器中顯示的寬度超過網站的 800 像素寬度設計。archive.org
的螢幕截圖

同樣地,如果訪客到達網站時螢幕寬度比您選定的寬度小,內容就無法水平顯示。瀏覽器會產生檢索列 (與捲軸相等的水平內容),而使用者必須將整個網頁左右移動才能看到所有內容。

網站顯示區域寬度過大,導致網站直接從右側裁剪。
2000 年代初的 Yahoo! 網站,在瀏覽器中顯示的寬度比網站的 800 像素寬度窄。來自 archive.org 的螢幕截圖

液態版面配置

雖然大多數設計師都使用固定寬度的版面配置,但有些人則選擇讓版面配置更具彈性。您可以使用百分比的欄寬,為版面配置建立彈性布局,而非使用固定寬度。相較於固定寬度的版面配置 (僅適用於特定大小),這類設計可在更多情況下使用。

這類版面配置稱為「液態版面配置」。不過,雖然液態版面配置在各種寬度下都看起來不錯,但在極端情況下會變得更糟。在寬螢幕上,版面配置看起來會拉長。在狹窄的螢幕上,版面配置看起來會是壓縮狀態。這兩種情況都不理想。

版面配置被擠壓至狹窄的視窗。
2000 年中期,在狹窄的瀏覽器視窗中體驗 Wikipedia 的液態版面配置。archive.org
的螢幕截圖
版面配置橫向延伸,且線條長度非常長。
Wikipedia 在 2000 年中期推出的液態版面配置,在寬螢幕瀏覽器視窗中顯示。archive.org
的螢幕截圖

您可以使用 min-widthmax-width 版面配置,緩解這些問題。但如果尺寸低於最小寬度或高於最大寬度,就會發生與固定寬度版面配置相同的問題。寬螢幕中,不會有閒置的空間。 在較小的螢幕上,使用者必須左右移動整個頁面才能看到所有內容。

在新瀏覽器視窗中開啟液態版面配置範例,瞭解如何透過變更視窗大小來拉伸設計。

「液態」一詞只是用來描述這類版面的其中一個術語。這類設計也稱為浮動版面配置或彈性版面配置。這項技術的術語也與技術本身一樣靈活。

針對不同的螢幕大小建構

在 21 世紀,網路世界的規模持續不斷成長。螢幕也是如此。但使用者開啟的新畫面比任何電腦裝置都小。隨著手機出現完整的網路瀏覽器,設計人員也面臨難題。 如何確保設計在電腦和手機上都能正常顯示?他們需要一種方式,為螢幕寬度介於 240 像素和數千像素之間的螢幕設定內容樣式。

個別網站

其中一個做法是為行動版網站訪客建立獨立的子網域。但您必須維護兩個不同的程式碼集和設計。為了將行動裝置上的訪客重新導向,您需要進行使用者代理程式嗅探,但這項操作可能不可靠且容易遭到冒用。Chrome 已減少使用者代理程式字串,避免這類被動式指紋採集行為。 此外,行動裝置和非行動裝置之間沒有明確的界線。你會將平板電腦裝置傳送到哪個網站?

自動調整式版面配置

您可以使用單一網站,並在其中加入兩或三個固定寬度的版面配置,而非在不同子網域中建立個別網站。

媒體查詢初次抵達 CSS 時,為您開拓了更靈活的版面配置。不過,許多開發人員仍最習慣製作固定寬度的版面配置。其中一種技巧是切換指定寬度的幾個固定寬度版面配置。有些人稱之為「自動調整式設計」。

自動調整式設計可讓設計人員提供適用於幾種不同大小的版面配置,但這些設計在查看這些尺寸時看起來會很美觀。雖然不像固定寬度版面配置那麼嚴重,但多餘空間的問題仍持續存在。

您可以使用 CSS 媒體查詢,為使用者提供最接近瀏覽器寬度的版面配置。但考量到裝置尺寸多樣化,這類版面配置對多數使用者來說,可能不夠完美。

請在新的瀏覽器視窗中開啟自動調整式版面配置範例,查看變更視窗大小如何影響設計在版面配置之間跳動。

回應式網頁設計

如果自動調整式版面配置是媒體查詢和固定寬度版面配置的混合,那麼回應式網頁設計就是媒體查詢和流動版面配置的混合。

在新瀏覽器視窗中開啟回應式設計範例,瞭解變更視窗大小後,設計如何流暢地變更版面配置。

這個詞彙是由 Ethan Marcotte 在 2010 年《A List Apart》的文章中創造出來的。

他針對回應式設計定義了三項標準:

  1. 浮動格線
  2. 流體介質
  3. 媒體查詢

回應式網站的版面配置和圖片在任何裝置上都會顯示良好。但有一個問題。

viewportmeta 元素

行動裝置上的瀏覽器必須處理以固定寬度版面配置為寬螢幕設計的網站。根據預設,行動瀏覽器會假設 980 像素是設計人員設計的寬度 (這並非錯誤)。因此,即使您使用了液態版面配置,瀏覽器也會套用 980 像素的寬度,然後將算繪的網頁縮放至螢幕的實際寬度。

如果您採用回應式設計,則需要告知瀏覽器不要進行這種縮放。您可以在網頁的 head 中使用 meta 元素來執行這項操作:

<meta name="viewport" content="width=device-width, initial-scale=1">

有兩個值,以半形逗號分隔。第一個是 width=device-width。這會指示瀏覽器假設網站寬度與裝置的寬度相同 (而非假設網站的寬度為 980 像素)。第二個值為 initial-scale=1。這會告訴瀏覽器要縮放多少。如果採用回應式設計,您不希望瀏覽器進行任何縮放。

兩張含有文字的手機圖片,其中一個手機因未放置中繼標記而顯示縮小畫面。
左側手機顯示中繼標記加入前後的版面配置外觀,請與右側的版面配置進行比較。

有了 meta 元素,網頁就能變成回應式網頁。

現代回應式設計

我們現在可以建立可回應式網站,讓網站在可視區域大小範圍以外的情況下也能正常運作。媒體功能可讓開發人員存取使用者偏好設定,並享有自訂體驗。容器查詢可讓元件擁有自己的回應式資訊。設計人員可以使用 picture 元素,根據螢幕比例做出藝術方向決策。

進行隨堂測驗

測驗您對回應式網頁設計的瞭解

在 2021 年,以固定寬度設計網頁是相當安全的做法嗎?

true
在 2021 年,使用固定寬度的設計是不安全的。
false
🎉 答對了!由於可能的螢幕大小太多,因此無法假設訪客來自某個大小。

在哪種螢幕大小下,液體版面配置通常較為困難?

窄螢幕
🎉? 答對了!如果螢幕較窄,則可能讓液體版面配置看起來很滑順。
平均畫面
請再試一次。液體版面配置在一般大小的螢幕上都能展現良好成效。
寬螢幕
🎉? 螢幕的寬廣或甚至是超廣角螢幕可能會在畫面拉長後,讓液體版面配置看起來較不舒服的讀數。
短螢幕
請再試一次。一般來說,短螢幕無法支援液體版面配置。
高螢幕
請再試一次。大螢幕通常不會難以支援液體版面配置。
所有畫面
請再試一次。液體版面配置適用於多種螢幕大小。

回應式設計的原始三個條件為何?

流動式字體排版
請再試一次!流暢的字體排版並非初始條件之一。
浮動格線
🎉? 答對了!
自動調整格線
請再試一次!自動調整式格線會根據設定的可視區域大小而變更。
流體介質
🎉? 答對了!
固定寬度設計
請再試一次!固定寬度設計是指設有固定且不回應寬度的設計。
媒體查詢
🎉 答對了!

回應式設計是充滿可能性的令人興奮的領域,在本課程的其餘部分,您會瞭解這些技術,以及如何使用這些技術為所有人建立美觀的回應式網站。