产品特色
编辑推荐 通俗易懂 案例简洁形象,生动剖析晦涩难懂的知识点。 直击要点 规避思维误区,为初学者打牢基础保驾护航。 全面培养 讲透基础知识,亦注重开发技巧与思维锻炼。 精简浓缩 精炼核心内容,为读者节省学习时间与成本。 在线辅助 结合网站资源,强化书本学习并拓展新知识。
内容简介 本书内容结合笔者在前后端大量开发中的实战经验,系统化知识,浓缩精华,用通俗易懂的语言直击学习者的痛点。通过本书,能让你从“野生网页设计师”水平提升达到“真正前端工程师”水平。 全书分为两大部分:首部分是HTML进阶内容,主要介绍HTML高级技巧和HTML语义化;第二部分是CSS进阶内容,主要介绍CSS开发技巧、代码规范、性能优化、属性本质、重要概念(如包含块、BFC和IFC等)。 除了知识讲解,教程还融入了大量的开发案例,更加注重编程思维的培养,并且提供学习者一个流畅的学习思路。
作者简介 莫振杰,2011~2015就读于暨南大学信科院计算机科学与技术专业,从事前后端开发一年多,开发过绿叶学习网、广州智能工程研究会网站、大量在线应用工具,业余时间阅读大量国内外技术书籍。现为绿叶学习网(http://www。lvyestudy。com)的站长,该网站用于分享自己在前后端开发中的一些经验,并且制作相关前后端开发的在线教程。这些在线教程在互联网引起广泛关注,极大受到网友推崇。本人编写过大量原创在线教程,每一个教程广受网友称赞与推崇。
目录 第一部分 HTML进阶
第01章 HTML基础知识
1.1 HTML和CSS进阶简介 2
1.1.1 你真的精通HTML和CSS吗 2
1.1.2 进阶教程简介 3
1.2 HTML、XHTML和HTML5 3
1.2.1 HTML和XHTML 3
1.2.2 HTML5 4
1.3 div和span 6
1.4 id和class 7
1.4.1 id属性 7
1.4.2 class属性 7
1.5 浏览器标题栏小图标 8
第02章 语义化
2.1 语义化简介 10
2.2 标题语义化 12
2.3 图片语义化 14
2.3.1 alt属性和title属性 14
2.3.2 figure元素和figcaption元素 15
2.4 表格语义化 16
2.5 表单语义化 19
2.5.1 label标签 20
2.5.2 fieldset标签和legend标签 21
2.6 其他语义化 22
2.6.1 换行符
22
2.6.2 无序列表ul 24
2.6.3 strong标签和em标签 25
2.6.4 del标签和ins标签 25
2.6.5 img标签 26
2.7 语义化验证 26
2.8 HTML5舍弃的标签 27
第二部分 CSS进阶
第03章 CSS基础知识
3.1 CSS单位 30
3.1.1 绝对单位 30
3.1.2 相对单位 31
3.2 CSS特性 37
3.2.1 继承性 37
3.2.2 层叠性 39
3.3 CSS优先级 40
3.3.1 引用方式冲突 41
3.3.2 继承方式冲突 41
3.3.3 指定样式冲突 42
3.3.4 继承样式和指定样式冲突 44
3.3.5 !important 45
3.4 CSS引入方式 47
3.4.1 外部样式表 48
3.4.2 内部样式表 48
3.4.3 行内样式表 50
3.5 CSS选择器 51
3.5.1 后代选择器 51
3.5.2 子代选择器 52
3.5.3 兄弟选择器 54
3.5.4 相邻选择器 55
第04章 CSS规范
4.1 CSS规范简介 58
4.2 命名规范 59
4.2.1 CSS文件命名 59
4.2.2 id和class命名 59
4.3 书写规范 62
4.4 注释规范 65
4.4.1 顶部注释 65
4.4.2 模块注释 65
4.4.3 简单注释 65
4.5 CSS reset 66
4.5.1 什么是CSS reset 66
4.5.2 为什么要用CSS reset 66
4.5.3 如何使用CSS reset 67
第05章 盒子模型
5.1 CSS盒子模型 70
5.2 深入border 73
5.2.1 性能差异 74
5.2.2 兼容差异 74
5.3 深入padding 74
5.4 外边距叠加 76
5.4.1 外边距叠加的三种情况 77
5.4.2 外边距叠加的意义 78
5.5 负margin技术 79
5.5.1 负margin简介 79
5.5.2 负margin技巧 82
5.6 overflow 86
第06章 display属性
6.1 块元素和行内元素 90
6.1.1 块元素 90
6.1.2 行内元素 92
6.2 display简介 93
6.2.1 块元素 93
6.2.2 inline元素 93
6.2.3 inline-block元素 94
6.3 display:none 95
6.3.1 display:none简介 95
6.3.2?“display:none”和
“visibility:hidden”的区别 96
6.4 display:table-cell 98
6.4.1 图片垂直居中于元素 98
6.4.2 等高布局 100
6.4.3 自动平均划分元素 102
6.5 去除inline-block元素间距 103
第07章 文本效果
7.1 文本效果简介 107
7.2 深入text-indent 108
7.3 深入text-align 111
7.3.1 text-align起作用的元素 112
7.3.2?“text-align:center;”与
“margin:0 auto;”的区别 113
7.4 深入line-height 113
7.4.1 line-height的定义 113
7.4.2 line-height取值 115
7.5 深入vertical-align 118
7.5.1 vertical-align属性取值 119
7.5.2 vertical-align属性应用 121
第08章 表单效果
8.1 表单效果简介 126
8.2 深入radio和checkbox 127
8.3 深入textarea 128
8.3.1 固定大小,禁用拖动 129
8.3.2 在chrome、Firefox和IE实现
相同的外观 131
8.4 表单对齐 132
第09章 浮动布局
9.1 正常文档流 136
9.1.1 正常文档流 136
9.1.2 脱离文档流 138
9.2 深入浮动 139
9.3 浮动的影响 142
9.3.1 对自身的影响 142
9.3.2 对父元素影响 143
9.3.3 对兄弟元素的影响 144
9.3.4 对子元素的影响 148
9.4 浮动的负作用 150
9.5 清除浮动 152
9.5.1 clear:both 152
9.5.2 overflow:hidden 154
9.5.3 ::after伪元素 155
第10章 定位布局
10.1 深入定位 157
10.1.1 子元素相对父元素定位 157
10.1.2 子元素相对祖先元素定位 160
10.2 z-index属性 162
第11章 CSS图形
11.1 CSS图形简介 165
11.2 三角形 166
11.2.1 CSS实现三角形的原理 166
11.2.2 带边框的三角形 168
11.3 圆 172
11.3.1 CSS实现圆角 172
11.3.2 CSS实现半圆和圆 175
11.3.3 border-radius派生
子属性 177
11.4 椭圆 177
第12章 性能优化
12.1 CSS优化简介 180
12.2 属性缩写 181
12.2.1 盒模型缩写 181
12.2.2 背景缩写 183
12.2.3 字体缩写 184
12.2.4 颜色值缩写 184
12.3 语法压缩 185
12.3.1 空白符 185
12.3.2 结尾分号 186
12.3.3 url的引号 186
12.3.4 属性值为0 187
12.3.5 属性值为以0开头的小数 187
12.3.6 合并相同的定义 187
12.3.7 利用继承进行合并 188
12.4 压缩工具 190
12.5 图片压缩 191
12.5.1 JPEG、PNG和GIF 191
12.5.2 图片压缩 191
12.6 高性能的选择器 191
12.6.1 选择器在浏览器的解析
原理 192
12.6.2 不同选择器的解析速度 192
第13章 CSS技巧
13.1 水平居中 194
13.1.1 文字的水平居中 194
13.1.2 元素的水平居中 195
13.2 垂直居中 198
13.2.1 文字的垂直居中 198
13.2.2 元素的垂直居中 200
13.3 CSS Sprite 203
13.4 Icon Font图标 206
13.4.1 iconfont网站 207
13.4.2 icon font技术 209
第14章 重要概念
14.1 CSS中的重要概念 214
14.2 包含块 214
14.2.1 什么是包含块 214
14.2.2 包含块的判定以及包含块的
范围 215
14.3 层叠上下文 216
14.3.1 什么是层叠上下文? 216
14.3.2 什么是层叠级别? 217
14.3.3 层叠上下文的特点 218
14.4 BFC和IFC 220
14.4.1 基本概念 220
14.4.2 什么是BFC 221
14.4.3 BFC的用途 223
后记
掌控像素的艺术:现代网页视觉构建的深入解析 在数字时代,信息传播与情感表达的载体——网页,其视觉呈现的专业性已成为衡量一个网站成功与否的关键要素。本书并非旨在传授基础的HTML与CSS语法,而是聚焦于那些能让你的网页设计脱颖而出,真正触动用户内心的进阶技艺。我们将深入探索现代前端开发中,HTML与CSS如何协同工作,构建出既美观又兼具用户体验的精妙界面。 超越基础:HTML的语义化构建与现代结构 尽管本书不包含基础HTML标签的讲解,但我们将深入剖析HTML5带来的革命性变化,以及如何利用其语义化标签构建更具可访问性、搜索引擎友好度和可维护性的网页结构。你将学会如何超越 `
` 和 `
` 的滥用,转而运用 ``、``、``、`` 等标签,清晰地表达页面内容的逻辑关系。我们将探讨如何通过 `` 和 `` 精准地描述图像及图注,如何使用 `` 标记时间信息,以及 `` 标签带来的高亮文本新维度。 更重要的是,我们将深入研究HTML的结构化优势如何直接影响CSS的编写效率与灵活性。例如,理解了块级元素与内联元素的排布特性,才能更自如地运用CSS的布局模型。我们将探讨如何利用HTML的层级关系,设计出更易于CSS选择器定位和控制的DOM树,为复杂的样式应用奠定坚实基础。这部分内容将引导你思考,每一次HTML标签的选择,都蕴含着对未来样式应用的深刻考量。 CSS的深度探索:布局、响应式设计与视觉表现力 本书的核心在于对CSS的深度挖掘,超越了基本的样式属性,进入到构建现代、动态、响应式网页的精髓。 精通现代布局模型:Flexbox 与 Grid 的实战运用 我们不会仅仅介绍Flexbox和Grid的属性,而是将重点放在它们在实际项目中的应用场景、组合技巧以及解决复杂布局问题的策略。你将学会如何利用Flexbox轻松实现垂直居中、圣杯布局、导航栏对齐等经典布局;同时,我们将深入Grid的二维布局能力,掌握如何创建复杂的仪表盘、卡片网格、响应式侧边栏等。更进一步,我们将探讨Flexbox与Grid的协同工作,如何在一个容器中使用Grid来定义整体结构,再用Flexbox在子元素内部进行精细调整,实现前所未有的布局灵活性。我们将通过丰富的实例,演示如何根据不同屏幕尺寸动态调整布局,确保网页在桌面、平板和手机上都能呈现最佳视觉效果。 响应式设计的进阶之道:断点策略、媒体查询的精妙之处 响应式设计已是常态,但如何做得更精细、更高效是关键。我们将超越简单的`min-width`和`max-width`,探讨移动优先与桌面优先的设计思维,以及在不同断点下如何进行内容的优先级调整、元素尺寸的弹性变化,甚至是在不同屏幕下隐藏或显示某些元素。我们将深入理解`@media`规则的各种维度,如分辨率、设备方向、色彩特性等,以及如何利用它们实现更具针对性的样式适配。本书还将介绍一些高级的响应式技巧,例如使用`vw`/`vh`单位进行视口单位的精确控制,以及利用`clamp()`函数实现更平滑的字体大小和元素尺寸缩放。 色彩、排版与微交互:提升用户体验的视觉细节 成功的网页设计不仅仅是布局的合理,更在于细节的打磨。我们将深入探讨色彩理论在网页设计中的应用,如何运用色彩心理学来引导用户情绪,如何构建和谐的色彩方案,以及如何利用CSS渐变、滤镜等属性创造丰富的视觉层次。在排版方面,我们不局限于字体大小和行高,将深入研究字体选择的原则、字体的可读性优化、字间距和字母间距的精细调整,以及如何利用CSS的`font-feature-settings`等高级属性,实现更具表现力的文字效果。 微交互是提升用户体验的“点睛之笔”。我们将学习如何利用CSS的`transition`和`animation`属性,为按钮、链接、表单元素等添加平滑的过渡动画,增强用户操作的反馈感。我们将探讨如何设计具有引导性的hover状态,如何实现平滑的页面切换效果,以及如何通过动画让静态信息变得生动。本书还将介绍一些更复杂的动画技术,例如利用CSS的关键帧动画实现更精细的动画序列控制,以及如何结合JavaScript(但侧重于CSS的实现能力)来触发或控制动画,为用户创造沉浸式的互动体验。 CSS进阶特性:伪元素、伪类、自定义属性与CSS变量 本书将带领你充分发掘CSS的强大潜力。我们将深入研究伪元素(`::before`, `::two`)的灵活运用,它们不仅可以用来添加装饰性内容,还可以实现复杂的图形和交互效果,例如创建三角形、箭头,甚至模拟弹出框。伪类(`:hover`, `:focus`, `:active`, `:nth-child()`等)将被深入解析,教会你如何精确地选择和样式化元素的特定状态,从而实现更具交互性的用户界面。 更重要的是,我们将全面介绍CSS自定义属性(CSS Variables)的强大之处。你将学会如何定义全局变量,如颜色、间距、字体大小等,并在整个样式表中重复利用它们。这不仅能极大地提高代码的可维护性和可读性,还能为实现主题切换、动态样式调整等高级功能提供便利。我们将演示如何通过JavaScript动态修改CSS变量,从而实现无需重新加载页面即可改变网页整体风格的神奇效果。 性能优化与可访问性:写出高效、包容的代码 一个优秀的网页不仅要好看,还要快且易于所有人访问。我们将探讨CSS性能优化的关键策略,包括如何减少HTTP请求、优化CSS选择器的效率、利用CSS压缩和代码分割技术。我们将学习如何编写更具性能的动画,避免不必要的重绘和回流。 同时,我们将深入理解CSS在提升网页可访问性(Accessibility)方面的作用。如何通过语义化的HTML结构和恰当的CSS样式,确保屏幕阅读器用户、键盘导航用户以及有视觉障碍的用户都能顺畅地浏览网页。我们将学习如何利用`aria-`属性配合CSS来实现更佳的无障碍体验,以及如何设计对比度足够的色彩方案。 实战案例分析与解决方案 本书将不仅仅停留在理论层面,而是通过一系列精心设计的实战案例,引导你将所学知识应用于实际开发场景。你将看到如何运用Flexbox和Grid构建电商网站的商品列表和详情页布局;如何利用响应式设计实现一个在各种设备上都表现出色的博客模板;如何通过CSS动画为网页添加生动的过渡效果,提升用户交互体验;以及如何利用CSS变量实现一个可切换主题的仪表盘界面。 每个案例都将详细剖析设计思路、技术选型、代码实现,并指出可能遇到的难点与解决方案。我们将一同探讨如何在实际项目中应对浏览器兼容性问题,如何进行CSS的模块化管理,以及如何撰写易于维护和扩展的CSS代码。 面向人群 本书适合已经掌握了HTML基础知识,并希望在CSS方面实现突破的开发者。如果你是前端初学者,已对HTML标签有所了解,但希望快速进阶CSS的布局、响应式设计、动画和高级特性,本书将是你的理想选择。如果你是经验丰富的开发者,希望巩固和深化对现代CSS的理解,探索更高效、更具表现力的网页构建方法,本书也将为你提供宝贵的洞见。 结语 掌握HTML与CSS的进阶技艺,意味着你将拥有塑造数字世界视觉体验的能力。本书的目标是帮助你超越简单的样式堆砌,成为一个能够理解、设计并实现高质量、高性能、高可访问性的现代网页的开发者。让我们一同踏上这段深入探索CSS奇妙世界的旅程,解锁网页视觉构建的无限可能。
老实说,我一直觉得HTML和CSS是前端开发中最基础、最容易被轻视的部分,但《Web前端开发精品课 HTML与CSS进阶教程》这本书,彻底颠覆了我的认知。它让我看到了这两个“基础”背后蕴含的巨大能量和无限可能性。我尤其欣赏书中关于CSS预处理器(如Sass/Less)和PostCSS的讲解。在过去,我可能只是偶尔使用一些简单的变量,但这本书让我系统地了解了预处理器的强大之处,比如嵌套、混入(mixin)、函数等,这些都能极大地提高CSS的可维护性和开发效率。同时,它还介绍了PostCSS及其插件,这让我能够利用现代化的CSS特性,并将其转换为浏览器兼容的版本,甚至实现一些CSS-in-JS的优化思路。此外,书中对CSS怪癖(quirks)和浏览器兼容性问题的处理方法也提供了宝贵的经验。它不仅仅是列举了几个常见的兼容性问题,而是深入分析了问题产生的根源,并提供了经过实践检验的解决方案,这对于避免我们踩坑,提高开发效率非常有帮助。这本书让我意识到,精通HTML和CSS,才能真正筑牢前端开发的地基,才能在更高级的技术领域走得更远。