內容目錄
1. 什麼是RWD響應式網頁設計?
RWD (Responsive Web Design) 響應式網頁設計,又稱為「自適應網頁設計」或「回應式網頁設計」,是一種讓網頁可以在不同的裝置上皆有合適的呈現模式,過最新的 HTML5、CSS3 等網頁技術,讓您的網站能自動偵測使用者上網的螢幕裝置尺寸,讓網站內不同的圖文內容,可自動依照不同的螢幕尺寸重新排列組合,以達到最佳排版效果及最舒適瀏覽狀態。一個好的RWD網頁設計除了給顧客一個好印象之外,還有助SEO搜索引擎優化。
接下來介紹如何運用RWD響應式網頁設計的各項基本原則,來建立一個流暢的網頁。
響應式網頁設計(Responsive) Vs 自適應網頁設計(Adaptive)
這兩種設計方式彼此相輔相成沒有對錯之分,具體情況要依內容而定。
內容流
網頁隨著屏幕尺寸越來越小,內容所佔的垂直空間也越來越多,也就是說網頁內容會向下方延伸,這就叫做內容流。如果已習慣了使用像素和點進行設計,可能會覺得這個有點難掌握。不過沒關係,習慣了就很好理解了。
相對位置 Relative units
使用者的網頁顯示器可能是電腦屏幕,也可能是行動裝置或者介於兩者之間任何的顯示器。像素的須跟隨屏幕尺寸改變,因而需要靈活能夠適應各種情況的單位。百分比相對單位就很好運用,寬度50%就是表示寬度佔瀏覽器視窗大小的一半。
斷點 Breakpoints
斷點可以讓網頁版面佈局在預設的點進行變形,也就是說,在電腦網頁上顯示3欄,在移動裝置網頁上僅顯示1欄。大多數CSS屬性都可以實現斷點之間的變形。斷點放置的位置通常取決於網頁內容。比如一句話要換行,可能就需要加上斷點。但斷點使用時需要謹慎,如果搞不清內容之間的邏輯關係,很容易弄的一團亂。
最大和最小值 Max width
在行動裝置有時網頁內容佔滿整個屏幕寬度,但如果相同的網頁內容在電腦屏幕上也撐得滿滿的,版面就不太適當。因而有寬度最大/最小值的設定。例如行動裝置寬度為100%,最大寬度1000px,大屏幕的內容就會以不超過1000px。
巢狀物件 Nested objects
如果網頁很多元素彼此都要互相關連將難以控制。因此將元素放置到容器中就會讓它們變得更好管理,並且簡潔明快。靜態單位像是像素,對於是否要縮放的內容很有用,如 Logo 跟按鈕。
移動裝置優先還是電腦優先 Mobile or Desktop First
網頁從小屏幕轉到大屏幕(移動優先),還是從大屏幕轉到小屏幕(電腦優先)區別不大。如果以行動端優先,在網頁設計上會多一些需考量的限制。通常兩方面同時著手,所以還是必須考慮網頁使用者習慣與市場。
點陣圖 vs 向量圖 Bitmap images vs Vectors
你的圖片是否有很多細節,並且應用了很多華麗的效果?如果是,那就用點陣圖。如果不是,考慮使用向量圖。如果是點陣圖,使用jpg、png 或 gif。向量圖則使用 SVG 或 Font Icon。但必須注意檔案的大小,未經過優化的圖片不能傳到網上。向量圖通常檔案比較小,不過部分較舊的瀏覽器可能不支援向量圖。如果圖片有很多曲線,檔案有可能會點陣圖還大,所以要明智取捨。
2. RWD響應式網頁要怎麼做?
RWD響應式網頁的開發通常是在Framework上進行,網上亦有不少Framework提供給大家使用,這樣大家就可以節省很多設計的時間,以下介紹較熱門的3種RWD Framework,供大家參考使用。
1. Bootstrap – https://getbootstrap.com
Bootstrap是由Twitter開發,包含Javascript、CSS等等相關檔案。自由度高、最多人使用的RWD Framework。
2. Foundation – https://get.foundation
由ZURB出品,推廣Mobile First的概念,適合以Mobile為優先考量的網站。
3. Pure – https://purecss.io
由Yahoo出品,單純只使用CSS,適合大量客制化的網站。如果需要Javascript Framework需要額外載入。
3. Media Query 條件語法:
/* CSS Media Queries 應用例子 */
body {background: blue;}
@media(min-width:376px){
body {background: yellow;}
}
@media(min-width:769px){
body {background: green;}
}
這邊min-width的意思就是,此網頁的一般設定是將body的背景設為綠色,但是當解析度大於376px時,背景變為黃色,當解析度大於769px時,背景變為綠色。如想了解更詳細CSS規則,請瀏覽 CSS@media Rule。
總結:
其實 RWD 響應式網頁設計實作非常簡單,只要把 Media Queries 搞懂就可以了,難處在於要如何設計在不同的寬度中要如何顯示才能方便使用者操作,希望能讓你對響應式網頁設計有充份的了解。