響應式網頁
解決跨裝置不同寬度顯示問題
RWD 與 AWD
RWD | AWD | |
---|---|---|
網址數量 | 1 | 2 |
維護數量 | 1 | 2 |
SEO | 優 | 重複內容與流量分散 |
載入速度 | 快 | 更快 |
開發成本 | 較低 | 高 |
維護成本 | 高 | 較低 |
相容性 | 高 | 較低 |
Fluid image
img
這個不太受控的元素,常常會導致實作 RWD
時破版
.fluid-image {
width: 100%;
height: auto;
}
由於在意的是寬度會不會破版,所以將 width
限制在 100%
高度設定 auto
是因為圖片有比例問題,如果高度也設定固定高度,會造成圖片比例失真
寬高其中一邊為固定,另外一邊必定為 auto
設定 width:100%
有個問題,如果圖片寬度不夠時,會被硬拉到滿版,此時也可能會造成圖片顯示失真,改為 max-width
解決此問題
.fluid-image {
max-width: 100%;
// width: 100%;
height: auto;
}
Media Query
依據不同條件套用對應 CSS
樣式
@media <not | only> <media type> and (<media feature> <and | or | not> <media feature>){
// CSS
}
media type
type | description |
---|---|
all | 全部 (預設) |
印表機 | |
braille | 點字機 |
screen | 視窗螢幕大小 |
handheld | 行動裝置 |
tv | 電視 |
projection | 投影機 |
常用的有 screen
跟 print
media feature
feature | description |
---|---|
device-width | 裝置寬度 |
device-height | 裝置高度 |
width | 視窗寬度 |
height | 視窗高度 |
max-device-width | 最大裝置寬度 |
max-device-height | 最大裝置高度 |
max-width | 最大寬度 |
max-height | 最大高度 |
min-device-width | 最小裝置寬度 |
min-device-height | 最小裝置高度 |
min-width | 最小寬度 |
min-height | 最小高度 |
orientation | 裝置方向,portrait(直向) landscape(橫向) |
常用的有 min-width
跟 max-width
min-width
大於等於時套用
max-width
小於等於時套用
一個網站
min-width
與max-width
不要同時使用,避免規則衝突
- 設定一個區塊,背景顏色黃色
- 小於等於
800px
時變藍色 - 小於等於
600px
時變紅色
Grid System
使用 class 讓頁面適應各種裝置寬度
格數 Column
每一列切割的數量,可自定義,常見為 12 格系統 (12 column grid system)
溝槽 Gutter
格與格之間的距離,可使用 margin
或 padding
實作
主流 CSS 框架都有實作 grid system,不用自己實作,知道原理即可