新書推薦:
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:NT$
1367.0
《
欲望与家庭小说
》
售價:NT$
449.0
《
惜华年(全两册)
》
售價:NT$
320.0
《
甲骨文丛书·古代中国的军事文化
》
售價:NT$
454.0
《
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
》
售價:NT$
1112.0
《
半导体纳米器件:物理、技术和应用
》
售價:NT$
806.0
《
创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶
》
售價:NT$
281.0
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:NT$
1010.0
|
編輯推薦: |
Wed设计最强音,打造和维护高流量网站的必杀技。
构建和维护高流量网站有诸多需要注意的事项、大量需要克服的障碍,其中有关于技术的,也有关于团队和成员的,本书正是要把这些内容恰到好处地展现给读者。如何构建快速、高效的高流量网站,并尽可能降低成本,本书会告诉你技巧,也会讲解最佳实践。读完本书,读者便可掌握开发高流量网站的专业技术,最重要的是明白如何充分发挥整个开发团队的力量。
|
內容簡介: |
不论是前端工程师还是后端工程师,编写CSS可不只是码几行代码那么简单的事儿,他们需要面对的情况通常非常复杂。出色的CSS开发人员知道如何应对和避免跨浏览器陷阱,懂得处理语义化、无障碍访问、搜索引擎优化,以及相关文档不完整带来的各种问题。
一套优秀的CSS框架可以显著提升网站性能,但如何创建一套优秀的CSS框架呢?单纯使用一些新特性只会让情况变得更糟糕,要确保CSS不会成为开发过程或网站性能的瓶颈,请遵循《高流量网站CSS开发技术》的指导!
《高流量网站CSS开发技术》针对高流量网站开发人员及项目经理,当然那些在小型团队工作,以及缺乏相关经验的开发人员更应自觉学习《高流量网站CSS开发技术》的真知灼见。
|
關於作者: |
Antony Kennedy
自2010年6月至今先后在苹果公司担任资深前端工程师和前端设计主管,曾在BBC、BSkyB、Tesco、迪士尼和Channel4等多家公司的高流量网站担任前端研发重要职位。在Web开发技术领域打拼近20年,对CSS、HTML5、JavaScript、敏捷开发和持续交付等具有深刻独到的见解。关于他的更多信息。
Inayaili de León
Web设计师,目前受雇于Canonical公司(Ubuntu的创建者)。她热衷研究如何在Web设计过程创建清晰、语义化和高效的HTMLCSS。Inayaili热爱Web,热爱自己的工作,享受每天都能获取新知识的生活。她设计的网页简洁、美观、易用,有她的更多介绍,以及她的一些优秀的设计作品。
译者简介:
大胖
保定人,基督徒,自1997年至今一直从事Web开发、UI设计,见识过技术如何改变世界。兴趣略杂,爱读好书,是《番茄工作法图解》的中文译者,现为图灵社区(ituring.com.cn)前端工程师。
王永强
西北汉子,现居成都,非知名前端开发一枚,入行四年,资质愚钝,尚无大成。好读书,不求甚解,每有会意,便犒赏美食。心之所系:前端技术,用户体验,伟大产品,改变世界。
|
目錄:
|
目 录
第1章 流程的价值 1
1.1 团队 1
1.2 成长的烦恼 3
1.3 人员流失 4
1.4 一致比优秀更重要 6
1.5 工具 9
1.5.1 Wiki 9
1.5.2 错误报告 10
1.5.3 任务管理 11
1.5.4 错误跟踪和任务管理 12
1.5.5 版本控制 13
1.5.6 Diff工具 16
1.5.7 解决冲突 17
1.6 备份 22
1.6.1 在线备份 23
1.6.2 桌面备份 23
1.7 原型设计 23
1.8 开发方法 24
1.8.1 瀑布开发 24
1.8.2 敏捷开发 25
1.9 小结 28
第2章 CSS格式指导标准 30
2.1 CSS格式指导标准 30
2.2 CSS编写格式 32
2.2.1 单行与多行 33
2.2.2 缩进 35
2.2.3 制表符和空格 35
2.2.4 冒号和分号 36
2.3 注释和CSS元数据 37
2.3.1 现成的标准:CSSDOC 38
2.3.2 文件信息 39
2.3.3 内容目录 40
2.3.4 区块 41
2.3.5 配色方案 43
2.3.6 文件夹路径 45
2.3.7 尺寸单位 45
2.3.8 文档补丁和错误修正 46
2.3.9 使用模板 47
2.4 class和id命名 48
2.4.1 语义化 49
2.4.2 可接受的字符 50
2.4.3 惯例 51
2.4.4 大小写 52
2.5 命名空间 53
2.5.1 可重用的class 55
2.5.2 CSS命名空间模块 56
2.6 小结 56
第3章 基本原理 57
3.1 层叠:来源、重要性和继承 58
3.1.1 来源和重要性 58
3.1.2 继承 60
3.1.3 继承和通用选择器 62
3.2 特殊性 63
3.2.1 特殊性计算 64
3.2.2 !important声明 65
3.2.3 命名空间和特殊性 65
3.2.4 使用工具 66
3.3 编码 67
3.4 本地化 67
3.5 浏览器特定CSS 68
3.5.1 补丁和滤镜 69
3.5.2 CSS表达式 71
3.5.3 厂商特定扩展 72
3.5.4 媒体查询 74
3.5.5 条件注释 74
3.6 何时以及如何使用补丁 77
3.6.1 “安全”补丁 77
3.6.2 真实的世界 78
3.7 服务器端用户代理检测 79
3.8 一些浏览器渲染差异的例子 81
3.8.1 怪异模式 81
3.8.2 IE盒模型 83
3.8.3 hasLayout 85
3.8.4 实验性CSS 87
3.9 小结 87
第4章 框架和整合 88
4.1 框架 89
4.1.1 Blueprint CSS 91
4.1.2 960 Grid System 93
4.1.3 YUI 3 Grids 94
4.1.4 其他用途 96
4.1.5 重置样式表 98
4.1.6 为什么要建立自己的框架 105
4.2 面向对象的CSS 106
4.2.1 面向对象编程 106
4.2.2 OOCSS 106
4.3 覆盖CSS 108
4.4 与第三方代码相处 111
4.5 防御式CSS 112
4.6 脆弱的CSS 114
4.7 CSS中的元数据 117
4.8 小结 119
第5章 品牌实施 120
5.1 什么是品牌 121
5.2 品牌指导标准 121
5.2.1 指导标准的进化 123
5.2.2 设计库 123
5.3 字体排版 125
5.3.1 图像替换与灵活性 125
5.3.2 font-face 127
5.3.3 后备字体 131
5.3.4 尺寸单位 132
5.4 颜色 134
5.4.1 多种配色方案 134
5.4.2 颜色参考 135
5.4.3 动态颜色 136
5.4.4 后备颜色 136
5.5 布局 137
5.5.1 栅格 137
5.5.2 模板 141
5.6 主题 142
5.7 灵活的CSS和品牌进化 143
5.8 小结 144
第6章 CSS与无障碍访问 145
6.1 缺陷问题概览 146
6.1.1 弱视 146
6.1.2 盲人 147
6.1.3 色盲 147
6.1.4 运动障碍 147
6.1.5 听力障碍 147
6.1.6 认知障碍 148
6.1.7 年幼 148
6.1.8 年老 149
6.1.9 癫痫 149
6.2 无障碍访问的指导标准 150
6.3 辅助技术 151
6.3.1 屏幕阅读器 151
6.3.2 用CSS隐藏内容 154
6.3.3 只有键盘的用户 155
6.3.4 其他辅助设备 155
6.4 设计和布局 155
6.4.1 颜色 156
6.4.2 字体和单位 158
6.4.3 Web字体和失读症 160
6.4.4 用户自定义 161
6.4.5 样式切换 161
6.5 WAI-ARIA 163
6.6 设备和环境缺陷 163
6.7 渐进增强还是优雅降级 164
6.8 分级浏览器支持 165
6.9 小结 166
第7章 设备 168
7.1 媒体类型 168
7.1.1 all 170
7.1.2 braille 170
7.1.3 embossed 170
7.1.4 handheld 170
7.1.5 print 170
7.1.6 projection 171
7.1.7 screen 171
7.1.8 speech 171
7.1.9 tty 171
7.1.10 tv 171
7.2 媒体查询 172
7.2.1 width 175
7.2.2 height 175
7.2.3 device-width 175
7.2.4 device-height 175
7.2.5 orientation 175
7.2.6 aspect-ratio 176
7.2.7 device-aspect-ratio 176
7.2.8 color 176
7.2.9 color-index 176
7.2.10 monochrome 176
7.2.11 resolution 176
7.2.12 scan 177
7.2.13 grid 177
7.2.14 transform-2d 177
7.2.15 transform-3d 177
7.2.16 transition 177
7.2.17 animation 178
7.3 Modernizr 178
7.4 打印样式表 179
7.5 移动设备 185
7.5.1 另一个网站 186
7.5.2 使用媒体查询指定移动设备 188
7.5.3 做一个应用程序代替 189
7.6 其他设备 189
7.7 搜索引擎优化 189
7.8 小结 191
第8章 性能 192
8.1 净荷:注意文件大小 192
8.1.1 命名规范 193
8.1.2 文件命名 194
8.1.3 文件夹结构 195
8.1.4 语法 196
8.1.5 精简 203
8.1.6 压缩 205
8.1.7 Apache 206
8.1.8 Microsoft IIS 207
8.1.9 内容分发网络和域名 209
8.1.10 减少HTTP请求数远比文件大小重要 211
8.1.11 域名查询 212
8.1.12 连接 213
8.1.13 发送 214
8.1.14 等待 214
8.1.15 接收 214
8.1.16 合并 214
8.1.17 CSS图片合并 215
8.2 data URI 217
8.3 缓存 217
8.4 应该缓存哪些内容 220
8.5 版本 220
8.6 试试离线存储 221
8.7 渲染和解析 222
8.8 使用JavaScript修改属性 223
8.9 动画 224
8.10 硬件加速 224
8.11 小结 225
第9章 动态CSS 226
9.1 CSS扩展和预处理器 226
9.2 LESS 227
9.2.1 变量 228
9.2.2 混合 230
9.2.3 嵌套规则 232
9.2.4 运算 235
9.2.5 颜色函数 237
9.2.6 命名空间 239
9.2.7 注释 239
9.2.8 导入 240
9.2.9 小结 241
9.3 Sass 242
9.3.1 变量 244
9.3.2 嵌套选择器 246
9.3.3 条件逻辑 247
9.3.4 循环 248
9.3.5 注释 249
9.3.6 继承 249
9.3.7 混合 250
9.3.8 颜色 251
9.3.9 导入 254
9.3.10 小结 254
9.4 评估第三方技术 255
9.5 使用服务器端技术生成CSS 256
9.6 持续集成 257
9.7 巧妙地构建脚本 258
9.8 缓存注意事项 259
9.9 小结 260
第10章 测试与调试 261
10.1 快速开发 261
10.1.1 合并CSS文件的构建脚本 262
10.1.2 压缩CSS的构建脚本 262
10.1.3 无刷新重载CSS 263
10.1.4 缓存文件 264
10.1.5 IE的bug 264
10.2 调试 264
10.2.1 FirebugFirefox 264
10.2.2 Web Developer用于Firefox或Chrome 270
10.2.3 Developer ToolsIE8+ 270
10.2.4 Web InspectorSafari 273
10.2.5 Developer ToolsChrome 274
10.2.6 IE Developer Toolbar 275
10.2.7 Opera蜻蜓 276
10.3 代理工具 277
10.3.1 Fiddler 277
10.3.2 Charles 279
10.4 测试 281
10.4.1 分级浏览器支持 281
10.4.2 运行多个版本的IE 282
10.4.3 模拟其他设备 283
10.4.4 自动生成网页截图 283
10.5 小结 285
第11章 创建你自己的CSS框架 286
11.1 为Igloo冰箱配件公司制作网站 286
11.2 分析设计图 288
11.2.1 栅格系统 289
11.2.2 可重用组件 291
11.2.3 配色方案 292
11.2.4 无障碍访问问题 293
11.2.5 沟通很重要 293
11.3 编写CSS 293
11.3.1 注释 294
11.3.2 单位 296
11.3.3 基准样式 296
11.3.4 结构 297
11.3.5 默认字体排版 298
11.3.6 全局元素 300
11.3.7 组件和可重用类 301
11.3.8 一次性样式 303
11.3.9 取舍之道 305
11.3.10 跨浏览器一致性 306
11.3.11 无障碍访问及超链接 308
11.4 文档和设计模式库 309
11.5 小结 311
附录1 CSS指导标准 312
附录2 无障碍访问指导标准 318
附录3 浏览器支持指南 321
附录4 开发流程 324
|
內容試閱:
|
既然你已经拿起这本书,不妨假设你正在一家具有相当规模的公司工作。这意味着你要面对官僚主义和红头文件,而且有各个层面的员工和你同场竞争,你不可能立刻修改软件或网站,因为还要遵循一大堆既有的协议和流程。如果这些描述不符合你的状况,那非常幸运,你的公司属于少数派。
这里提到的事情听上去都是负面的,但多数都不可避免——特别是在快速成长的公司里。公司越大,响应变化的速度通常也就越慢。Antony还记得,曾经花几个月时间帮某上市公司做了一个项目。结果到项目完成参观客户办公室时才发现,这家公司本身就有现成的软件部门,完全有能力承担他刚刚完成的项目,而且还更合适。在大公司这种事很常见,它们太大了,大到员工之间无法有效交流工作。不同部门经常发现他们在做重复的事情,原因只是没有沟通渠道。
不同公司的驱动力量可能不同,有的公司是财务驱动,有的是声誉驱动,有的是品牌驱动,还有的是设计驱动,难以尽数。公司的驱动力定义了公司的商务活动和文化。除非是品牌或设计驱动的公司,否则不太可能从一开始就考虑所开发软件的视觉框架。
在这些公司的网站开发团队中,CSS开发者经常会被忽视。很多人把CSS当成简单易学的东西,把它交给服务器端开发者而不是Web方面的专家来做。此外,他们经常在最后一分钟才考虑CSS相关的框架和静态文件的问题,而不是一开始就把它们当做基础设施的一部分。尽管CSS的语法简单,但实现所带来的影响却不可小觑。一位出色的CSS开发者有经验应对跨浏览器陷阱并知道如何加以避免,懂得处理语义、无障碍访问、搜索引擎优化,以及由于CSS编写糟糕或缺少文档所带来的各种问题。一套完善的CSS框架可以显著提升网站性能。此外,一套完整的CSS框架文档可以方便多位开发者以一致的风格工作。特别是在网站生命周期的开始阶段,在起跑时就正确完成这些事情,最终肯定能受益。
我们不会承诺能让你的公司实现快速响应、良好沟通,提高员工幸福度。但是贯穿本书的目标是通过某些可供遵循的流程,帮你打一个坚固的地基,确保CSS不会成为开发过程或网站性能的瓶颈。在最后一章和附录中,我们会提供本书涉及内容的应用示例,示例代码请参考本书网站。
|
|