本書將當前Web 設(shè)計中熱門的響應(yīng)式設(shè)計技術(shù)與HTML5 和CSS3 結(jié)合起來,為讀者全面深入地講解了針對各種屏幕大小設(shè)計和開發(fā)現(xiàn)代網(wǎng)站的各種技術(shù)。書中不僅討論了媒體查詢、彈性布局、響應(yīng)式圖片,更將新的和有用的HTML5 和CSS3 技術(shù)一并講解,是學習新Web 設(shè)計技術(shù)不可多得的佳作。
隨著移動設(shè)備的普及,用戶上網(wǎng)的方式發(fā)生了巨大變化,無論從樣式還是可用性來講,只適合桌面顯示器的網(wǎng)站已經(jīng)過時了。如今,在設(shè)計網(wǎng)站的時候必須同時考慮多種屏幕尺寸和用戶體驗。如果網(wǎng)站對你或你的客戶品牌非常重要,那么實現(xiàn)響應(yīng)式設(shè)計就是當務(wù)之急。
響應(yīng)式和移動優(yōu)先的設(shè)計理念,可以確保無論使用什么設(shè)備都可以正常訪問你的網(wǎng)站。在這一理念的指導(dǎo)下,本書圍繞實戰(zhàn)案例,全面講解了與響應(yīng)式設(shè)計相關(guān)的現(xiàn)代Web技術(shù),堪稱一部響應(yīng)式設(shè)計大全。
這一版根據(jù)*的Web設(shè)計趨勢進行了更新,展示了實現(xiàn)現(xiàn)代響應(yīng)式設(shè)計*有效的方式,涵蓋了創(chuàng)建優(yōu)秀的響應(yīng)式設(shè)計所必需的全部*技術(shù)和工具。掌握了這些內(nèi)容,你設(shè)計的網(wǎng)站不僅可以適應(yīng)當下,更可以順應(yīng)未來。
- 理解響應(yīng)式設(shè)計,以及為何它對現(xiàn)代Web設(shè)計如此重要
- 清晰、高效地編寫富有語義的HTML5標記
- 使用CSS3媒體查詢基于設(shè)備應(yīng)用不同的樣式,了解媒體查詢的*進展
- 根據(jù)不同的屏幕大小、分辨率和使用環(huán)境加載不同的圖片
- 掌握表單處理,使用HTML5標記添加日期選擇器、范圍滑塊等交互控件
- 在響應(yīng)式設(shè)計里使用SVG提供分辨率無關(guān)的圖片,修改SVG并添加動畫效果
- 使用CSS*的特性,如自定義字體、nth-child選擇符、自定義屬性及CSS
calc
第1章 響應(yīng)式Web設(shè)計基礎(chǔ) 1
1.1 定義需求 1
1.2 什么是響應(yīng)式Web設(shè)計 2
1.3 瀏覽器支持 2
1.4 第一個響應(yīng)式的例子 4
1.4.1 HTML 5
1.4.2 圖片 8
1.4.3 媒體查詢 10
1.5 示例的不足之處 14
1.6 小結(jié) 15
第2章 媒體查詢 16
2.1 為什么響應(yīng)式Web設(shè)計需要媒體查詢 17
2.2 媒體查詢的語法 18
2.3 組合媒體查詢 19
2.3.1 @import與媒體查詢 20
2.3.2 在CSS中使用媒體查詢 20
2.3.3 媒體查詢可以測試哪些特性 20
2.4 通過媒體查詢修改設(shè)計 21
2.4.1 任何CSS都可以放在媒體查詢里 23
2.4.2 針對高分辨率設(shè)備的媒體查詢 23
2.5 組織和編寫媒體查詢的注意事項 24
2.5.1 使用媒體查詢鏈接不同的CSS文件 24
2.5.2 分隔媒體查詢的利弊 25
2.5.3 把媒體查詢寫在常規(guī)樣式表中 25
2.6 組合媒體查詢還是把它們寫在需要的地方 25
2.7 關(guān)于視口的meta標簽 27
2.8 媒體查詢4級 28
2.8.1 可編程的媒體特性 29
2.8.2 交互媒體特性 30
2.8.3 懸停媒體特性 30
2.8.4 環(huán)境媒體特性 31
2.9 小結(jié) 31
第3章 彈性布局與響應(yīng)式圖片 32
3.1 將固定像素大小轉(zhuǎn)換為彈性比例大小 33
3.1.1 為什么需要Flexbox 36
3.1.2 行內(nèi)塊與空白 37
3.1.3 浮動 37
3.1.4 表格與表元 37
3.2 Flexbox概述 38
3.2.1 Flexbox三級跳 38
3.2.2 瀏覽器對Flexbox的支持 38
3.3 使用Flexbox 39
3.3.1 完美垂直居中文本 40
3.3.2 偏移 41
3.3.3 反序 42
3.3.4 不同媒體查詢中的不同F(xiàn)lexbox布局 43
3.3.5 行內(nèi)伸縮 44
3.3.6 Flexbox的對齊 45
3.3.7 flex 50
3.3.8 簡單的粘附頁腳 52
3.3.9 改變原始次序 53
3.3.10 Flexbox小結(jié) 57
3.4 響應(yīng)式圖片 58
3.4.1 響應(yīng)式圖片的固有問題 58
3.4.2 通過srcset切換分辨率 59
3.4.3 srcset及sizes聯(lián)合切換 59
3.4.4 picture元素 60
3.5 小結(jié) 61
第4章 HTML5與響應(yīng)式Web設(shè)計 62
4.1 得到普遍支持的HTML5標記 63
4.2 開始寫HTML5網(wǎng)頁 63
4.2.1 doctype 64
4.2.2 HTML標簽與lang屬性 64
4.2.3 指定替代語言 64
4.2.4 字符編碼 64
4.3 寬容的HTML5 65
4.4 HTML5的新語義元素 67
4.5 HTML5文本級元素 72
4.6 作廢的HTML特性 73
4.7 使用HTML5元素 74
4.8 WCAG和WAI-ARIA 75
4.8.1 WCAG 75
4.8.2 WAI-ARIA 75
4.8.3 如果你只能記住一件事 76
4.8.4 ARIA的更多用途 76
4.9 在HTML5中嵌入媒體 77
4.9.1 使用HTML5視頻和音頻 77
4.9.2 audio與video幾乎一樣 79
4.10 響應(yīng)式HTML5視頻與內(nèi)嵌框架 79
4.11 關(guān)于離線優(yōu)先 80
4.12 小結(jié) 81
第5章 CSS3新特性 82
5.1 沒人無所不知 82
5.2 剖析CSS規(guī)則 83
5.3 便捷的CSS技巧 83
5.4 斷字 86
5.4.1 截短文本 86
5.4.2 創(chuàng)建水平滾動面板 87
5.5 在CSS中創(chuàng)建分支 89
5.5.1 特性查詢 89
5.5.2 組合條件 90
5.5.3 Modernizr 91
5.6 新CSS3選擇符 93
5.6.1 CSS3屬性選擇符 93
5.6.2 CSS3子字符串匹配屬性選擇符 93
5.6.3 屬性選擇符的注意事項 95
5.6.4 屬性選擇符選擇以數(shù)值開頭的ID和類 96
5.7 CSS3結(jié)構(gòu)化偽類 96
5.7.1 :last-child 96
5.7.2 nth-child 97
5.7.3 理解nth 97
5.7.4 基于nth的選擇與響應(yīng)式設(shè)計 100
5.7.5 :not 102
5.7.6 :empty 103
5.7.7 :first-line 104
5.8 CSS自定義屬性和變量 104
5.9 CSS calc 105
5.10 CSS Level 4選擇符 105
5.10.1 :has偽類 105
5.10.2 相對視口的長度 106
5.11 Web排版 106
5.11.1 @font-face 107
5.11.2 通過@font-face實現(xiàn)Web字體 107
5.11.3 注意事項 109
5.12 CSS3的新顏色格式及透明度 109
5.12.1 RGB 109
5.12.2 HSL 110
5.12.3 alpha通道 111
5.12.4 CSS Color
Module Level 4的顏色操作 112
5.13 小結(jié) 112
第6章 CSS3高級技術(shù) 113
6.1 CSS3的文字陰影特效 113
6.1.1 省略blur值 114
6.1.2 多文字陰影 115
6.2 盒陰影 115
6.2.1 內(nèi)陰影 115
6.2.2 多重陰影 116
6.2.3 陰影尺寸 116
6.3 背景漸變 117
6.3.1 線性漸變語法 118
6.3.2 徑向漸變背景 120
6.3.3 為響應(yīng)式而生的關(guān)鍵字 120
6.4 重復(fù)漸變 121
6.5 使用漸變背景創(chuàng)造圖案 122
6.6 多張背景圖片 123
6.6.1 背景大小 124
6.6.2 背景位置 124
6.6.3 背景屬性的縮寫 125
6.7 高分辨率背景圖像 126
6.8 CSS濾鏡 126
6.8.1 可用的CSS濾鏡 127
6.8.2 使用多個CSS濾鏡 132
6.9 CSS性能的警告 132
6.10 小結(jié) 134
第7章 SVG與響應(yīng)式Web設(shè)計 135
7.1 SVG的歷史 137
7.2 用文檔表示的圖像 137
7.2.1 SVG的根元素 138
7.2.2 命名空間 139
7.2.3 標題和描述標簽 139
7.2.4 defs標簽 139
7.2.5 元素g 140
7.2.6 SVG形狀元素 140
7.2.7 SVG路徑 140
7.3 使用流行的圖像編輯工具和服務(wù)創(chuàng)建SVG 140
7.4 在Web頁面中插入SVG 142
7.4.1 使用img標簽 142
7.4.2 使用object標簽 142
7.4.3 把SVG作為背景圖像插入 143
7.4.4 關(guān)于data URI的簡短介紹 144
7.4.5 生成圖像精靈 145
7.5 內(nèi)聯(lián)SVG 145
7.5.1 利用符號復(fù)用圖形對象 146
7.5.2 根據(jù)上下文改變內(nèi)聯(lián)SVG顏色 147
7.5.3 復(fù)用外部圖形對象資源 148
7.6 不同插入方式下可以使用的功能 149
7.7 SVG的怪癖 150
7.7.1 SMIL動畫 150
7.7.2 使用外部樣式表為SVG添加樣式 152
7.7.3 使用內(nèi)聯(lián)樣式為SVG添加樣式 152
7.7.4 用CSS為SVG添加動畫 153
7.8 使用JavaScript添加SVG動畫 154
7.9 優(yōu)化SVG 156
7.10 把SVG作為濾鏡 157
7.11 SVG中媒體查詢的注意事項 159
7.11.1 實現(xiàn)技巧 160
7.11.2 更多資料 160
7.12 小結(jié) 161
第8章 CSS3過渡、變形和動畫 162
8.1 什么是CSS3過渡以及如何使用它 162
8.1.1 過渡相關(guān)的屬性 164
8.1.2 過渡的簡寫語法 165
8.1.3 在不同時間段內(nèi)過渡不同屬性 165
8.1.4 理解過渡調(diào)速函數(shù) 166
8.1.5 響應(yīng)式網(wǎng)站中的有趣過渡 167
8.2 CSS的2D變形 167
8.2.1 scale 168
8.2.2 translate 168
8.2.3 rotate 171
8.2.4 skew 171
8.2.5 matrix 172
8.2.6 transform-origin屬性 173
8.3 CSS3的3D變形 174
8.4 CSS3動畫效果 180
8.5 小結(jié) 183
第9章 表單 184
9.1 HTML5表單 184
9.2 理解HTML5表單中的元素 185
9.2.1 placeholder 186
9.2.2 required 186
9.2.3 autofocus 187
9.2.4 autocomplete 188
9.2.5 list及對應(yīng)的datalist元素 188
9.3 HTML5的新輸入類型 190
9.3.1 email 190
9.3.2 number 191
9.3.3 url 192
9.3.4 tel 193
9.3.5 search 194
9.3.6 pattern 195
9.3.7 color 196
9.3.8 日期和時間輸入類型 196
9.3.9 范圍值 198
9.4 如何給不支持新特性的瀏覽器打補丁 199
9.5 使用CSS美化HTML5表單 200
9.5.1 顯示必填項 202
9.5.2 創(chuàng)造一個背景填充效果 204
9.6 小結(jié) 205
第10章 實現(xiàn)響應(yīng)式Web設(shè)計 206
10.1 盡快讓設(shè)計在瀏覽器和真實設(shè)備上運行起來 207
10.2 在真實設(shè)備上觀察和使用設(shè)計 207
10.3 擁抱漸進增強 208
10.4 確定需要支持的瀏覽器 209
10.4.1 等價的功能,而不是等價的外觀 209
10.4.2 選擇要支持的瀏覽器 209
10.5 分層的用戶體驗 210
10.6 將CSS斷點與JavaScript聯(lián)系起來 211
10.7 避免在生產(chǎn)中使用CSS框架 212
10.8 采用務(wù)實的解決方案 213
10.9 盡可能使用最簡單的代碼 215
10.10 根據(jù)視口隱藏、展示和加載內(nèi)容 215
10.11 驗證器和代碼檢測工具 217
10.12 性能 218
10.13 下一個劃時代的產(chǎn)物 219
10.14 小結(jié) 219