深入PostCSS Web設計

深入PostCSS Web設計

《深入PostCSS Web設計》 一書原作者Alex Libby(亞歷克斯·利比),中文版由大漠、孫崇升、姬忠靜、肖少彥 譯,電子工業出版社2017年7月出版

內容提要

PostCSS 是目前CSS 處理器中最流行的一個處理器。PostCSS 依託其強大的外掛程式生態系統,為CSS 處理器增加了無窮的可能性。

《深入PostCSS Web設計》共十四章內容,包括介紹PostCSS,創建變數和混合宏,嵌套規則,創建媒體查詢,管理顏色、圖片和字型,創建格線,動畫元素,PostCSS 外掛程式開發,簡寫型外掛程式、降級外掛程式和包型外掛程式,定製處理器,管理自定義語法,混合處理器,排除、解決PostCSS 的相關問題,為未來做準備。

以上內容將帶你深入了解PostCSS 以及如何使用PostCSS。如果你還沒有準備好去了解PostCSS 能做什麼,那么,請跟著《深入PostCSS Web設計》的步驟進行系統而深入的學習,你將進入到CSS 的全新世界。

目錄

1 PostCSS簡介 1

編譯之美 2

PostCSS介紹 2

-- PostCSS的優勢 3

-- PostCSS的陷阱 4

-- 消除誤解 5

-- 準備工作 5

搭建開發環境 6

-- 安裝 PostCSS 8

-- 使用PostCSS創建一個簡單的示例 10

-- 添加 Source Map 功能 11

-- 壓縮樣式 13

-- 自動化編譯 15

代碼審查 16

-- PostCSS工作機制 20

-- 從 Sass 遷移到 PostCSS 21

小結 22

2 創建變數和混合宏 23

變數和混合宏簡介 23

-- 設定Sass 24

創建懸停效果示例 27

-- 使用 LESS編輯CSS 29

過渡到PostCSS 29

添加PostCSS變數支持 29

更新懸停效果示例 30

-- 進一步思考 33

設定外掛程式順序 35

使用PostCSS創建混合宏 36

更新我們的懸浮效果示例 37

-- PostCSS與標準處理器的比較 39

使用PostCSS循環內容 41

-- 使用@each語句進行遍歷 43

-- 切換到使用PostCSS 46

小結 47

3 嵌套規則 49

嵌套簡介 49

頁面導航 51

-- 示例的準備工作 52

-- 從現有處理器進行轉換 52

使用PostCSS外掛程式進行過渡 53

-- 將示例轉換成PostCSS生產模式 54

-- 代碼編譯 56

探索嵌套陷阱 57

-- 採取更好的方式 60

-- 重新審視我們的代碼 63

-- 更新代碼 64

切換到BEM 65

-- 創建一個簡單的訊息盒 67

-- 編譯並修正代碼 70

-- 安裝 BEM支持 70

探索更多變化的細節 74

-- 修復錯誤 75

小結 77

4 創建媒體查詢 78

重溫媒體查詢 78

探索PostCSS自定義媒體查詢 79

-- 從普通CSS開始 81

-- 使用PostCSS修改案例 82

創建回響式圖片 84

-- 使用PostCSS創建回響式圖片 85

-- 回響式圖片的實現 85

-- 添加高清圖片 88

-- 後續步驟 89

-- 探索媒體查詢的其他可能性 92

添加回響式文本支持 93

最佳化媒體查詢 96

改造對老版本瀏覽器的支持 97

遠離回響式設計 98

探索CSS4的媒體查詢功能 99

小結 100

5 管理顏色、圖片和字型 101

為網站添加顏色、字型及媒體元素 101

-- 維護資源連結 102

-- 自動連結到對應資源 102

使用PostCSS管理字型 104

創建雪碧圖 106

-- 案例:創建一個信用卡圖示 107

在PostCSS中使用SVG 110

-- 使用PostCSS修改圖示 110

-- 更詳細地探究 111

-- 考慮替代方案 113

添加對WebP格式圖像的支持 113

-- 切換WebP圖像 114

-- 看下檔案大小方面的差異 114

操作顏色和調色板 117

-- 使用調色盤展示和混色顏色 118

-- 案例的詳細解析 119

使用PostCSS創建顏色函式 120

-- 使用函式調整顏色 121

-- 解析案例 122

-- 使用PostCSS濾鏡創建顏色 123

-- 研究案例的細節 125

-- 和CSS3濾鏡對比 126

-- 給照片添加Instagram效果 127

小結 128

6 創建格線 130

格線設計的介紹 130

-- 自動化編譯過程 132

-- 為Bourbon Neat添加支持 134

使用Bourbon Neat創建一個實例 136

-- 深入了解我們的Demo 137

探索PostCSS中的格線外掛程式 138

過渡到使用PostCSS-Neat 139

-- 完善我們的任務列表 141

-- 測試我們的配置 142

使用Neat和PostCSS來創建一個站點 144

-- 轉換成PostCSS 146

添加回響式能力 147

-- 糾正設計稿 148

小結 151

7 動畫元素 152

回顧基本動畫 152

擺脫jQuery 153

-- 使用Transit.js庫製作動畫 155

-- 使用純JavaScript添加動畫 157

-- 使用jQuery來切換class 158

使用預構建庫 160

-- 解析Demo中的代碼 161

切換到使用Sass 163

-- 創建一個動畫畫廊 164

-- 添加收尾工作 167

切換到使用PostCSS 170

探索PostCSS可用的外掛程式選項 170

更新代碼以使用PostCSS 171

-- 測試我們修改的代碼 173

使用PostCSS創建一個Demo 174

-- 更新外掛程式 174

-- 創建Demo 175

-- 詳細解析一下我們的Demo 176

最佳化動畫 177

使用我們自己的動畫外掛程式 178

更詳細地探索外掛程式 180

小結 181

8 PostCSS 外掛程式開發 182

使用外掛程式擴展 PostCSS 182

解析外掛程式的基本結構 183

-- index.js 184

-- package.json 184

-- test.js 186

-- Vendor 模組 187

-- List 模組 187

-- API 中的類 187

-- API 中的節點 188

-- API 中的方法 188

創建過渡外掛程式 189

-- 創建測試 192

-- 修復錯誤 193

-- 清除最後的錯誤 195

-- 執行測試 196

-- 分析代碼 197

創建字型外掛程式 198

-- 外掛程式功能分析 200

-- 發布的風險 203

簡化開發流程 204

外掛程式開發規範 205

發布外掛程式 207

小結 208

9 簡寫型外掛程式、降級外掛程式和包型外掛程式 209

簡寫型外掛程式 209

包型外掛程式 210

-- 使用簡寫屬性 211

Rucksack 和簡寫型外掛程式 212

-- 示例講解 213

-- 安裝 Rucksack 214

-- 緩動動畫 214

-- 內容動畫 216

-- 剖析代碼 217

-- 使用 Rucksack 修改輪播圖 218

-- 代碼分析 222

審查和最佳化代碼 223

-- 使用 cssnano 224

-- 配置 Stylelint 226

降級處理 227

-- 檢測兼容性 228

-- Oldie 228

-- 刪除兼容性代碼 230

小結 232

10 定製處理器 233

創建處理器 233

探索處理器 234

-- 分析package.json檔案 234

-- Gulp 任務檔案 235

問題剖析 238

-- 修改 Gulp 任務檔案 239

-- 更新背後的原因 242

最佳化輸出結果 243

-- 最佳化 Source Map 243

-- 瀏覽器前綴 245

-- 偽類選擇器 246

-- 更新代碼 247

-- 處理圖片 249

-- 解析圖片處理流程 250

添加自動重載功能 251

擴展處理器的功能 252

測試最終的處理器 255

-- 示例分析 257

訣竅 258

-- CSStyle 259

-- CSStyle 的優勢 260

-- 示例分析 261

小結 262

11 管理自定義語法 263

介紹自定義語法 263

準備開發環境 264

實現自定義語法的外掛程式 265

-- 解析內容並修復錯誤 267

-- 解析SCSS內容 268

-- 探索發生了什麼 270

解析CSS 271

-- 替換RGBA顏色 273

-- 研究它是如何運作的 274

使用API格式化輸出 275

-- 分析示例代碼 278

-- 添加Source Map 279

代碼高亮語法 279

-- 安裝主題 280

-- 創建一個HTML主題 281

小結 282

12 混合處理器 284

邁出第一步 284

探索轉換過程 285

-- 選擇外掛程式 286

Pleeease簡介 287

-- 安裝和配置Pleeease 288

-- 手動編譯代碼 289

-- 使用任務編譯代碼 290

-- 使用Pleeease創建Demo 291

和其他處理器一起編譯代碼 292

使用PreCSS 292

在WordPress中安裝轉換器 293

配置生產環境 293

考慮轉換過程 294

修改代碼 295

-- 拆分樣式 296

-- 添加瀏覽器前綴 297

-- 檢查代碼的一致性 299

-- 壓縮代碼 299

-- 創建變數 300

-- 添加rem單位支持 302

-- 樣式表中的嵌套規則 303

-- 樣式表中的循環規則 304

-- 考慮未來的特性 305

編譯和測試修改代碼 305

小結 308

13 排除、解決PostCSS的相關問題 309

解決一些常見的問題 309

探索一些常見的問題 310

-- 與作業系統不兼容 310

-- “任務名稱”在gulp檔案中找不到 311

-- 找不到<name of plugin>模組 312

-- <name of task>未定義引用的錯誤 313

-- 請提供PostCSS處理器數組對象 313

-- 條目未出現在package.json檔案中 314

-- 編譯的結果不如預期 315

尋求別人的幫助 317

-- 在Stack Overflow記錄問題 317

-- 找到關於PostCSS的Bug 318

小結 319

14 為未來做準備 320

支持CSS4 320

轉換CSS4樣式 321

-- 驗證電子郵件地址 322

-- 支持 range輸入框 324

使用cssnext支持未來特性 326

-- 使用cssnext創建一個簡單網站 327

-- 創建Demo 327

創建CSS4擴展功能外掛程式 331

-- 添加支持CSS顏色特性 331

-- 回到過去 335

-- 創建自己的外掛程式 337

小結

相關詞條

熱門詞條

聯絡我們