精通CSS 高級Web標(biāo)準(zhǔn)解決方案 第3版
定 價:99 元
- 作者:[英]安迪?巴德(Andy Budd),[瑞典]埃米爾?比約克隆德(Emil Bj?rklund)
- 出版時間:2019/2/1
- ISBN:9787115506900
- 出 版 社:人民郵電出版社
- 中圖法分類:TP393.092.2
- 頁碼:374
- 紙張:
- 版次:01
- 開本:16開
本書是CSS設(shè)計經(jīng)典圖書升級版,結(jié)合CSS近年來的發(fā)展,尤其是CSS3和HTML5的特性,對內(nèi)容進(jìn)行了全面改寫。本書介紹了涉及字體、網(wǎng)頁布局、響應(yīng)式Web設(shè)計、表單、動畫等方面的實用技巧,并討論了如何實現(xiàn)穩(wěn)健、靈活、無障礙訪問的Web設(shè)計,以及在技術(shù)層面如何實現(xiàn)跨瀏覽器方案和后備方案。本書還介紹了一些鮮為人知的高級技巧,讓你的Web設(shè)計脫穎而出。
● 給網(wǎng)頁添加樣式的基礎(chǔ)知識
● 基本的網(wǎng)頁排版技術(shù)
● 通過背景、陰影、邊框等屬性美化元素盒子
● 常見內(nèi)容布局技術(shù)及其應(yīng)用場景
● 頁面布局的系統(tǒng)方法及網(wǎng)格的使用
● 響應(yīng)式Web設(shè)計細(xì)節(jié)剖析
● 表單與表格的樣式化,讓網(wǎng)頁交互和復(fù)雜數(shù)據(jù)展示助力Web應(yīng)用
● 在空間和時間維度上操作元素:變換、過渡與動畫
● 混合模式、濾鏡、蒙版等特效
● CSS開發(fā)實踐中的質(zhì)量控制與流程
安迪 巴德(Andy Budd)
數(shù)字設(shè)計咨詢公司Clearleft聯(lián)合創(chuàng)始人,Web標(biāo)準(zhǔn)倡導(dǎo)者。目前專注于用戶體驗設(shè)計領(lǐng)域。
埃米爾 比約克隆德
數(shù)字設(shè)計咨詢公司inUse技術(shù)總監(jiān),擁有十余年專業(yè)Web開發(fā)經(jīng)驗,從客戶端JavaScript到服務(wù)器端Python都有深入研究。
李松峰
360奇舞團(tuán)高級前端開發(fā)工程師、前端TC委員、W3C AC代表,360 Web字體服務(wù)“奇字庫”作者,翻譯出版過40余部技術(shù)及交互設(shè)計專著,如《JavaScript高級程序設(shè)計》《簡約至上》等。
第 1章 基礎(chǔ)知識 1
1.1 組織代碼 1
1.1.1 可維護(hù)性 2
1.1.2 HTML簡史 2
1.1.3 漸進(jìn)增強(qiáng) 5
1.2 創(chuàng)建結(jié)構(gòu)化、語義化富HTML 7
1.2.1 ID和class屬性 9
1.2.2 結(jié)構(gòu)化元素 10
1.2.3 div和span 12
1.2.4 重新定義的表現(xiàn)性文本元素 12
1.2.5 擴(kuò)展HTML語義 13
1.2.6 驗證 15
1.3 小結(jié) 16
第 2章 添加樣式 17
2.1 CSS選擇符 17
2.1.1 子選擇符與同輩選擇符 18
2.1.2 通用選擇符 20
2.1.3 屬性選擇符 21
2.1.4 偽元素 22
2.1.5 偽類 23
2.1.6 結(jié)構(gòu)化偽類 25
2.1.7 表單偽類 27
2.2 層疊 28
2.3 特殊性 29
2.3.1 利用層疊次序 30
2.3.2 控制特殊性 30
2.3.3 特殊性與調(diào)試 32
2.4 繼承 33
2.5 為文檔應(yīng)用樣式 34
2.5.1 link與style元素 35
2.5.2 性能 36
2.6 小結(jié) 37
第3章 可見格式化模型 38
3.1 盒模型 38
3.1.1 盒子大小 39
3.1.2 最大值和最小值 43
3.2 可見格式化模型 43
3.2.1 匿名盒子 45
3.2.2 外邊距折疊 45
3.2.3 包含塊 47
3.2.4 相對定位 48
3.2.5 絕對定位 48
3.2.6 固定定位 49
3.2.7 浮動 50
3.2.8 格式化上下文 54
3.2.9 內(nèi)在大小與外在大小 56
3.3 其他CSS布局模塊 56
3.3.1 彈性盒布局 57
3.3.2 網(wǎng)格布局 57
3.3.3 多欄布局 57
3.3.4 Region 57
3.4 小結(jié) 58
第4章 網(wǎng)頁排版 59
4.1 CSS的基本排版技術(shù) 59
4.1.1 文本顏色 61
4.1.2 字體族 61
4.1.3 字型大小與行高 63
4.1.4 行間距、對齊及行盒子的構(gòu)造 65
4.1.5 文本粗細(xì) 68
4.1.6 字體樣式 69
4.1.7 大小寫變換和小型大寫變體 69
4.1.8 控制字母和單詞間距 70
4.2 版心寬度、律動和毛邊 71
4.2.1 文本縮進(jìn)與對齊 72
4.2.2 連字符 74
4.2.3 多欄文本 74
4.3 Web字體 79
4.3.1 許可 80
4.3.2 @font-face規(guī)則 81
4.3.3 Web字體、瀏覽器與性能 84
4.3.4 使用JavaScript加載字體 85
4.4 高級排版特性 87
4.4.1 數(shù)字 89
4.4.2 字距選項及文本渲染 90
4.5 文本特效 91
4.5.1 合理使用文本陰影 91
4.5.2 使用JavaScript提升排版品質(zhì) 93
4.6 尋找靈感 95
4.7 小結(jié) 95
第5章 漂亮的盒子 96
5.1 背景顏色 96
5.2 背景圖片 99
5.2.1 背景圖片與內(nèi)容圖片 99
5.2.2 簡單的背景圖片示例 100
5.2.3 加載圖片(以及其他文件) 102
5.2.4 圖片格式 103
5.3 背景圖片語法 104
5.3.1 背景位置 104
5.3.2 背景裁剪與原點 107
5.3.3 背景附著 108
5.3.4 背景大小 108
5.3.5 背景屬性簡寫 110
5.4 多重背景 111
5.5 邊框與圓角 113
5.5.1 邊框半徑:圓角 113
5.5.2 創(chuàng)建正圓和膠囊形狀 115
5.5.3 邊框圖片 117
5.6 盒陰影 118
5.6.1 擴(kuò)展半徑:調(diào)整陰影大小 119
5.6.2 內(nèi)陰影 119
5.6.3 多陰影 120
5.7 漸變 121
5.7.1 瀏覽器支持與瀏覽器前綴 122
5.7.2 線性漸變 122
5.7.3 放射漸變 124
5.7.4 重復(fù)漸變 125
5.7.5 把漸變當(dāng)作圖案 126
5.8 為嵌入圖片和元素添加樣式 129
5.8.1 可伸縮的圖片模式 129
5.8.2 控制對象大小的新方法 130
5.8.3 可保持寬高比的容器 131
5.8.4 減少圖片大小 133
5.9 小結(jié) 134
第6章 內(nèi)容布局 135
6.1 定位 135
6.1.1 絕對定位的應(yīng)用場景 136
6.1.2 定位與z-index:堆疊內(nèi)容的陷阱 140
6.2 水平布局 141
6.2.1 使用浮動 142
6.2.2 行內(nèi)塊布局 144
6.2.3 使用表格顯示屬性實現(xiàn)布局 150
6.2.4 不同技術(shù)優(yōu)缺點比較 151
6.3 Flexbox 152
6.3.1 瀏覽器支持與語法 152
6.3.2 理解Flex方向:主軸與輔軸 152
6.3.3 對齊與空間 154
6.3.4 可伸縮的尺寸 158
6.3.5 Flexbox布局 163
6.3.6 列布局與個別排序 167
6.3.7 嵌套的Flexbox布局 170
6.3.8 Flexbox不可用怎么辦 171
6.3.9 Flexbox的bug與提示 172
6.4 小結(jié) 173
第7章 頁面布局與網(wǎng)格 174
7.1 布局規(guī)劃 174
7.1.1 網(wǎng)格 174
7.1.2 布局輔助類 175
7.1.3 使用現(xiàn)成的框架 176
7.1.4 固定、流動還是彈性 177
7.2 創(chuàng)建靈活的頁面布局 178
7.2.1 包裝元素 179
7.2.2 行容器 181
7.2.3 創(chuàng)建列 181
7.2.4 流式空距 186
7.2.5 增強(qiáng)列:包裝與等高 190
7.2.6 作為網(wǎng)頁布局通用工具的Flexbox 193
7.3 二維布局:CSS Grid Layout 194
7.3.1 網(wǎng)格布局的術(shù)語 195
7.3.2 定義行和列 196
7.3.3 添加網(wǎng)格項 198
7.3.4 自動網(wǎng)格定位 201
7.3.5 網(wǎng)格模板區(qū) 204
7.4 小結(jié) 206
第8章 響應(yīng)式Web設(shè)計與CSS 207
8.1 一個例子 207
8.1.1 簡單上手 207
8.1.2 媒體查詢 208
8.1.3 加入更多斷點 210
8.2 響應(yīng)式Web設(shè)計的起源 212
8.3 瀏覽器視口 214
8.3.1 視口定義的差別 214
8.3.2 配置視口 216
8.4 媒體類型與媒體查詢 218
8.4.1 媒體類型 218
8.4.2 媒體查詢 218
8.5 響應(yīng)式設(shè)計與結(jié)構(gòu)化CSS 221
8.5.1 移動優(yōu)先的CSS 221
8.5.2 媒體查詢放在何處 224
8.6 幾種響應(yīng)式設(shè)計模式 224
8.6.1 響應(yīng)式文本列 224
8.6.2 沒有媒體查詢的響應(yīng)式Flexbox 225
8.6.3 響應(yīng)式網(wǎng)格與網(wǎng)格模板區(qū) 227
8.7 響應(yīng)式布局之外 231
8.7.1 響應(yīng)式背景圖片 231
8.7.2 響應(yīng)式嵌入媒體 233
8.7.3 響應(yīng)式排版 239
8.8 小結(jié) 243
第9章 表單與數(shù)據(jù)表 244
9.1 設(shè)計數(shù)據(jù)表 244
9.1.1 表格專有元素 245
9.1.2 為表格應(yīng)用樣式 247
9.1.3 響應(yīng)式表格 250
9.2 表單 254
9.2.1 簡單的表單 255
9.2.2 表單反饋與幫助 264
9.2.3 高級表單樣式 267
9.3 小結(jié) 276
第 10章 變換、過渡與動畫 277
10.1 概述 277
10.2 二維變換 278
10.2.1 變換原點 281
10.2.2 平移 282
10.2.3 多重變換 283
10.2.4 縮放和變形 286
10.2.5 二維矩陣變換 287
10.2.6 變換與性能 288
10.3 過渡 289
10.3.1 過渡計時函數(shù) 291
10.3.2 使用不同的正向和反向過渡 294
10.3.3 “粘著”過渡 294
10.3.4 延遲過渡 294
10.3.5 過渡的能與不能 295
10.4 CSS關(guān)鍵幀動畫 297
10.4.1 動畫與生命的幻象 297
10.4.2 曲線動畫 301
10.5 三維變換 303
10.5.1 透視簡介 304
10.5.2 創(chuàng)建三維部件 306
10.5.3 高級三維變換 310
10.6 小結(jié) 311
第 11章 高級特效 312
11.1 CSS Shapes 314
11.2 剪切與蒙版 320
11.2.1 剪切 320
11.2.2 蒙版 325
11.2.3 透明JPEG與SVG蒙版 327
11.3 混合模式與合成 330
11.3.1 給背景圖片上色 331
11.3.2 混合元素 332
11.4 CSS中的圖像處理:濾鏡 336
11.4.1 調(diào)色濾鏡 336
11.4.2 高級濾鏡與SVG 341
11.5 應(yīng)用特效的次序 344
11.6 小結(jié) 344
第 12章 品控與流程 345
12.1 外部代碼質(zhì)量:調(diào)試CSS 345
12.1.1 瀏覽器如何解析CSS 346
12.1.2 優(yōu)化渲染性能 349
12.2 內(nèi)部代碼質(zhì)量:以人為本 353
12.2.1 理解CSS 353
12.2.2 代碼質(zhì)量的例子 354
12.2.3 管理層疊 357
12.2.4 結(jié)構(gòu)命名與CSS方法論 357
12.2.5 管理復(fù)雜性 360
12.2.6 代碼是寫給人看的 363
12.3 工具與流程 364
12.4 工作流工具 367
12.4.1 靜態(tài)分析及Linter 367
12.4.2 構(gòu)建工具 367
12.5 未來的CSS語法與結(jié)構(gòu) 370
12.5.1 CSS變量:自定義屬性 370
12.5.2 HTTP/2與服務(wù)器推送 371
12.5.3 Web組件 372
12.5.4 CSS與可擴(kuò)展的Web 373
12.6 小結(jié) 374