Master HTML5+CSS3 in 21 Days (2nd Edition)
Tags
Summary
Editor's review
From an editor's professional perspective, the book's strengths lie in its clear step-by-step learning path and abundant code examples, making it very suitable for beginners who wish to build a systematic knowledge structure. The author, Song Lingxiang, has some experience in the field of technical education, and her narrative style is relatively plain, striving to simplify complex concepts. However, the book's depth may be somewhat insufficient for readers who wish to understand underlying mechanisms in depth or pursue cutting-edge frameworks; it focuses more on 'learning to use' than on 'understanding the principles.' Overall, this is a solid 'from zero to one' practical guide that can help readers quickly build the knowledge skeleton of static web page development and lay the necessary foundation for subsequently learning JavaScript or front-end frameworks.
Who it's for
A good fit for
- Complete beginners with no programming or web production background who wish to gain a systematic introduction
- Career changers with some computer background who want to quickly master the core skills of HTML5 and CSS3
- Students in related majors who need a clearly structured textbook to support classroom learning
- Traditional front-end developers who want to quickly update their understanding of new HTML5 and CSS3 features
Not a good fit for
- Senior developers seeking in-depth analysis of advanced topics such as browser rendering principles and performance optimization
- Readers who want to learn modern front-end frameworks such as React and Vue directly and skip foundational groundwork
Reading tips
- It is recommended to study strictly in chapter order and personally type out every example code; understanding is more important than memorization
- When learning CSS layout (such as Flexbox and Grid), practice with online interactive tools to deepen intuitive understanding
- After completing the book's exercises, try imitating a simple real-world website (such as a personal profile page) for comprehensive practice; this is a great way to test your learning results
About the publisher
The Publishing House of Electronics Industry is a comprehensive publisher distinguished by its focus on electronic information and related fields. Judging from the more than 3,000 titles in its catalogue, its publishing covers programming and design, artificial intelligence, computer science, finance and economics, photography, and social sciences, attending both to cutting-edge technology and to general readers. Representative titles include Factor Investing: Methods and Practice, x86 Assembly Language: From Real Mode to Protected Mode, The RISC-V Reader, Artificial Intelligence: Speech Recognition, Understanding and Practice, Phased Array Radar Technology, Radar Target Characteristics, and 100 Go Mistakes and How to Avoid Them, most of which centre on technical methods and engineering practice. Its authors include Shi Chuan, Li Zhong, Wang Xiaobo, David Patterson, Andrew Waterman, and Yu Zihao, among others from China and abroad. Owing to limited public information, no further publishing features are elaborated here.
Contents
- 版权信息
- 内容简介
- 前言
- 第1章 了解网页
- 1.1 什么是网页
- 1.1.1 网页概述
- 1.1.2 静态网页
- 1.1.3 动态网页
- 1.1.4 动态页面和静态页面的联系
- 1.1.5 网页浏览器的工作原理
- 1.2 HTML和HTML5
- 1.2.1 超文本标记语言HTML
- 1.2.2 可扩展超文本标记语言XHTML
- 1.2.3 HTML5的设计理念
- 1.2.4 HTML页面的开发工具
- 1.3 实战:编写一个简单的页面(HTML和HTML5)
- 1.4 小结
- 1.5 本章习题
- 第2章 了解HTML网页的结构
- 2.1 用记事本打开一个页面
- 2.2 HTML基础
- 2.2.1 HTML的基础语法
- 2.2.2 HTML文档的结构
- 2.3 HTML文档中的标签
- 2.3.1 样本代码DOCTYPE
- 2.3.2 开始标签<html>
- 2.3.3 头标签和头标签的对象
- 2.3.4 标题标签<title>
- 2.3.5 体标签<body>
- 2.3.6 美化HTML文档
- 2.4 实战:从无到有地设计一个页面
- 2.5 小结
- 2.6 本章习题
- 第3章 网页的文本设计
- 3.1 新旧方法对比
- 3.2 文本的排版格式
- 3.2.1 写一行换一行
- 3.2.2 在页面文本中空格
- 3.2.3 文本的段落要对齐
- 3.3 文本的属性样式
- 3.3.1 不一样的文本字体样式
- 3.3.2 奇妙的特殊符号
- 3.3.3 给文本加标注
- 3.4 整齐的文本列表
- 3.4.1 无序列表
- 3.4.2 有序列表
- 3.4.3 定义列表
- 3.4.4 列表嵌套
- 3.5 实战:制作一则HTML网页版的通知
- 3.6 小结
- 3.7 本章习题
- 第4章 网页中的图像设计
- 4.1 图像的基础知识
- 4.1.1 最常用的位图图像
- 4.1.2 在页面中常用的位图格式
- 4.1.3 矢量图
- 4.1.4 图像的分辨率
- 4.1.5 了解一些网页中常用的Banner尺寸
- 4.2 页面中的图像
- 4.2.1 理解图像路径
- 4.2.2 像设置文本对齐一样在页面中对齐图片
- 4.2.3 图像与文本的对齐方式
- 4.2.4 控制图像与文本的距离
- 4.3 让图像更美观
- 4.3.1 使用画图工具修改图像
- 4.3.2 给图像添加边框
- 4.3.3 独树一帜的水平线
- 4.4 改变页面的背景
- 4.5 实战:把照片放到网页上
- 4.6 小结
- 4.7 本章习题
- 第5章 网页中的链接
- 5.1 网页链接
- 5.1.1 初识页面链接
- 5.1.2 理解链接地址
- 5.2 链接的种种不同
- 5.2.1 基本的文本链接
- 5.2.2 基本的图像链接
- 5.2.3 把邮箱留给需要联系你的人
- 5.2.4 在同一页面中快速查找信息
- 5.3 提高页面链接的友好度
- 5.3.1 美化链接的状态
- 5.3.2 特殊的链接方式
- 5.3.3 热点图像区域的链接
- 5.4 在新窗口中显示链接窗口
- 5.5 实战:一个带链接的电影排行榜页面
- 5.6 小结
- 5.7 本章习题
- 第6章 网页中的表单
- 6.1 表单的工作原理
- 6.1.1 <script>标记
- 6.1.2 创建表单
- 6.1.3 表单域
- 6.2 通过表单展示不一样的页面
- 6.2.1 input对象下的多种表单的表现形式
- 6.2.2 text:文本框的样式表单
- 6.2.3 password:输入密码的样式表单
- 6.2.4 checkbox:复选框的样式表单
- 6.2.5 radio:单选框的样式表单
- 6.2.6 submit:提交数据的样式表单
- 6.2.7 hidden:隐藏域的样式表单
- 6.2.8 image样式的表单
- 6.2.9 file:上传文件的样式表单
- 6.2.10 textarea对象的表单
- 6.2.11 select对象的表单
- 6.2.12 表单域集合
- 6.3 HTML5表单的进化
- 6.3.1 早期的表单发展
- 6.3.2 HTML5表单的出世
- 6.3.3 当前的支持情况
- 6.3.4 增加的表单输入类型
- 6.4 增加表单的特性及元素
- 6.4.1 form特性
- 6.4.2 formaction特性
- 6.4.3 formmethod、formenctype、formnovalidate、formtarget特性
- 6.4.4 placeholder特性
- 6.4.5 autofocus特性
- 6.4.6 autocomplete特性
- 6.4.7 list特性和datalist元素
- 6.4.8 keygen元素
- 6.4.9 output元素
- 6.5 表单验证API
- 6.5.1 与验证有关的表单元素特性
- 6.5.2 表单验证的属性
- 6.5.3 ValidityState对象
- 6.5.4 表单验证的方法
- 6.5.5 表单验证的事件
- 6.6 实战:表单构成的HTML页面
- 6.7 实战:表单构成的用户注册页面(HTML5)
- 6.7.1 案例简介
- 6.7.2 页面基本元素
- 6.7.3 实现表单验证
- 6.7.4 其他处理函数
- 6.8 小结
- 6.9 习题
- 第7章 音频和视频
- 7.1 audio和video的基础知识
- 7.1.1 在线多媒体的发展
- 7.1.2 多媒体术语
- 7.1.3 HTML5多媒体文件格式
- 7.1.4 功能缺陷及未来趋势
- 7.2 使用HTML5的audio和video元素
- 7.2.1 在页面中加入音频和视频
- 7.2.2 使用source元素
- 7.2.3 使用脚本检测浏览器的标签支持情况
- 7.2.4 audio和video的特性和属性
- 7.2.5 audio和video的接口方法
- 7.2.6 audio和video的事件
- 7.3 实战:自定义播放工具条
- 7.3.1 案例简介
- 7.3.2 网页基本元素
- 7.3.3 定义全局的视频对象
- 7.3.4 添加播放/暂停、前进/后退功能
- 7.3.5 添加慢进和快进功能
- 7.3.6 添加静音和调节音量的功能
- 7.3.7 添加进度显示功能
- 7.4 小结
- 7.5 本章习题
- 第8章 拖放功能
- 8.1 拖放API
- 8.1.1 draggable特性
- 8.1.2 光标拖放事件
- 8.1.3 DataTransfer对象
- 8.1.4 实战:拖放元素的内容
- 8.2 文件API
- 8.2.1 增加的标签特性
- 8.2.2 FileList对象与File对象
- 8.2.3 Blob对象
- 8.2.4 FileReader接口
- 8.3 实战:把图片拖入浏览器
- 8.3.1 案例简介
- 8.3.2 设计网页基本元素
- 8.3.3 基本函数的实现
- 8.3.4 页面加载处理
- 8.4 小结
- 8.5 本章习题
- 第9章 本地存储
- 9.1 本地存储对象——Web Storage
- 9.1.1 Web Storage简介
- 9.1.2 localStorage和sessionStorage
- 9.1.3 设置和获取Storage数据
- 9.1.4 Storage API的属性和方法
- 9.1.5 存储JSON对象的数据
- 9.1.6 Storage API的事件
- 9.1.7 实战:在两个窗口中实现通信
- 9.2 本地数据库——Web SQL Database
- 9.2.1 Web SQL Database简介
- 9.2.2 操作Web SQL数据库
- 9.2.3 实战:基本的数据库操作实例
- 9.3 小结
- 9.4 本章习题
- 第10章 利用Canvas绘制图形
- 10.1 认识Canvas
- 10.1.1 Canvas的历史
- 10.1.2 Canvas与SVG、VML之间的差异
- 10.2 Canvas的基本知识
- 10.2.1 构建Canvas元素
- 10.2.2 使用JavaScript实现绘图的流程
- 10.3 使用Canvas绘图
- 10.3.1 绘制矩形
- 10.3.2 使用路径
- 10.3.3 图形组合
- 10.3.4 绘制曲线
- 10.3.5 使用图像
- 10.3.6 剪裁区域
- 10.3.7 绘制渐变
- 10.3.8 描边属性
- 10.3.9 模式
- 10.3.10 变换
- 10.3.11 使用文本
- 10.3.12 阴影效果
- 10.3.13 状态的保存与恢复
- 10.3.14 操作像素
- 10.4 实战:在Canvas中实现动画
- 10.5 小结
- 10.6 本章习题
- 第11章 创建框架结构的页面
- 11.1 创建窗口框架页面
- 11.1.1 创建窗口框架的<frameset>和<frame>标签
- 11.1.2 横向分割窗口
- 11.1.3 纵向分割窗口
- 11.1.4 框架的嵌套
- 11.1.5 将页面放入窗口框架中
- 11.2 修饰框架的细节
- 11.2.1 给无法处理框架的浏览器注释说明
- 11.2.2 固定框架的位置
- 11.2.3 在框架中设置滚动条
- 11.3 修改框架边框的样式
- 11.3.1 判定边框是否显示
- 11.3.2 改变边框的表现效果
- 11.3.3 边框的边距
- 11.4 框架集中页面之间的链接
- 11.4.1 在指定的框架中打开链接
- 11.4.2 框架内的锚点链接
- 11.5 灵活的<iframe>框架
- 11.6 实战:制作自己的链接主页
- 11.7 小结
- 11.8 本章习题
- 第12章 CSS规则
- 12.1 如何学习CSS
- 12.2 CSS基本的规则写法
- 12.2.1 基本的样式表的写法
- 12.2.2 使用类和标志链接样式表
- 12.2.3 创建选择器
- 12.2.4 应用CSS样式表
- 12.3 用CSS修饰页面文本
- 12.3.1 修饰页面文本字体
- 12.3.2 文本的字号
- 12.3.3 文本段落的行高
- 12.3.4 禁止文本自动换行
- 12.4 给页面对象添加颜色
- 12.5 CSS3的发展
- 12.5.1 模块化的发展
- 12.5.2 浏览器支持情况
- 12.5.3 CSS3新特性预览
- 12.6 CSS3增强的选择器功能
- 12.6.1 属性选择符
- 12.6.2 结构伪类选择符
- 12.6.3 UI元素状态伪类选择符
- 12.6.4 伪元素选择符
- 12.7 实战:使用CSS制作个人页面
- 12.8 小结
- 12.9 本章习题
- 第13章 文本、背景、边框不再单调
- 13.1 文本与字体
- 13.1.1 多样化的文本阴影——text-shadow属性
- 13.1.2 溢出文本处理——text-overflow属性
- 13.1.3 对齐的文字才好看——word-wrap和word-break属性
- 13.1.4 使用服务器端的字体——@font-face规则
- 13.1.5 实战:丰富的文字样式
- 13.2 色彩模式和不透明度
- 13.2.1 还在为配色发愁吗——HSL色彩模式
- 13.2.2 HSLA色彩模式
- 13.2.3 RGBA色彩模式
- 13.2.4 opacity属性
- 13.2.5 实战:半透明的遮蔽层
- 13.3 背景
- 13.3.1 在元素中定义多张背景图片
- 13.3.2 指定背景的原点位置
- 13.3.3 指定背景的显示区域
- 13.3.4 指定背景图像的大小
- 13.3.5 实战:设计信纸的效果
- 13.4 边框
- 13.4.1 设计圆角边框——border-radius属性
- 13.4.2 设计图像边框——border-image属性
- 13.4.3 设计多色边框——border-color属性
- 13.4.4 实战:使用新技术设计网页
- 13.5 小结
- 13.6 本章习题
- 第14章 传统的DIV+CSS设计
- 14.1 理解块级的意义
- 14.2 页面中的层
- 14.2.1 行<span>和层<div>
- 14.2.2 层的基本定位
- 14.2.3 层的叠加
- 14.3 框模型
- 14.3.1 理解框模型
- 14.3.2 padding属性
- 14.3.3 border的扩展属性
- 14.3.4 margin属性
- 14.3.5 框模型的溢出
- 14.4 定制层的display属性
- 14.5 CSS Hack
- 14.6 实战:简单的CSS+DIV
- 14.7 小结
- 14.8 本章习题
- 第15章 灵活的盒布局和界面设计
- 15.1 灵活的盒布局
- 15.1.1 开启盒布局
- 15.1.2 元素的布局方向——box-orient属性
- 15.1.3 元素的布局顺序——box-direction属性
- 15.1.4 调整元素的位置——box-ordinal-group属性
- 15.1.5 弹性空间分配——box-flex属性
- 15.1.6 元素的对齐方式——box-pack属性和box-align属性
- 15.1.7 实战:使用新型盒布局设计网页
- 15.2 增强的盒模型
- 15.2.1 盒子阴影——box-shadow属性
- 15.2.2 盒子尺寸的计算方法——box-sizing属性
- 15.2.3 盒子溢出内容处理——overflow-x和overflow-y属性
- 15.2.4 实战:设计网站服务条款页面
- 15.3 增强的用户界面设计
- 15.3.1 允许用户改变尺寸——resize属性
- 15.3.2 定义外轮廓线——outline属性
- 15.3.3 伪装的元素——appearance属性
- 15.3.4 为元素添加内容——content属性
- 15.3.5 实战:设计一个水果选择盘
- 15.4 小结
- 15.5 本章习题
- 第16章 多列布局
- 16.1 多列布局基础
- 16.1.1 多列属性columns
- 16.1.2 列宽属性column-width
- 16.1.3 列数属性column-count
- 16.1.4 列间距属性column-gap
- 16.1.5 定义列分隔线——column-rule属性
- 16.1.6 定义横跨所有列——column-span属性
- 16.2 实战:模仿杂志的多列版式
- 16.3 小结
- 16.4 本章习题
- 第17章 动画和渐变
- 17.1 CSS3变形基础
- 17.1.1 元素的变形——transform属性
- 17.1.2 旋转
- 17.1.3 缩放和翻转
- 17.1.4 移动
- 17.1.5 倾斜
- 17.1.6 矩阵变形
- 17.1.7 同时使用多个变形函数
- 17.1.8 定义变形原点——transform-origin属性
- 17.1.9 实战:设计图片画廊
- 17.2 CSS3过渡效果
- 17.2.1 实现过渡效果——transition属性
- 17.2.2 指定过渡的属性——transition-property属性
- 17.2.3 指定过渡的时间——transition-duration属性
- 17.2.4 指定过渡延迟时间——transition-delay属性
- 17.2.5 指定过渡方式——transition-timing-function属性
- 17.2.6 实战:制作滑动的菜单
- 17.3 CSS3动画设计
- 17.3.1 关键帧动画——@keyframes规则
- 17.3.2 动画的实现——animation属性
- 17.3.3 实战:永不停止的风车
- 17.4 CSS3渐变设计
- 17.4.1 CSS线性渐变
- 17.4.2 CSS径向渐变
- 17.4.3 实战:设计具有渐变效果的按钮
- 17.5 小结
- 17.6 本章习题
- 第18章 CSS3的跨设备支持
- 18.1 媒体查询
- 18.1.1@media规则的语法
- 18.1.2 使用Media Query链接的外部样式表文件
- 18.2 实战:自适应屏幕的样式表方案
- 18.3 小结
- 18.4 本章习题
- 第19章 案例1:制作主流网站界面
- 19.1 构思基础的布局
- 19.2 设计基础模块的样式表
- 19.3 完善网站的子模块
- 19.3.1 网站的导航栏
- 19.3.2 页面的侧栏
- 19.4 最终页面
- 19.5 小结
- 第20章 案例2:设计复杂页面
- 20.1 页面的框架布局
- 20.1.1 定位页面的内容
- 20.1.2 页面初级布局的代码
- 20.2 细化页面的局部
- 20.2.1 intro部分
- 20.2.2 页面的左侧部分
- 20.2.3 页面的右侧栏主体部分
- 20.3 小结
- 第21章 案例3:制作个人网站(HTML5+CSS3)
- 21.1 网站的整体规划
- 21.1.1 网站结构规划
- 21.1.2 页面的功能划分
- 21.1.3 页面的结构布局
- 21.2 页面设计效果图
- 21.3 站点目录规划
- 21.3.1 规划各种资源目录
- 21.3.2 配置IIS虚拟目录
- 21.4 构建HTML结构并用CSS布局
- 21.5 参照最终的效果图美化页面样式
- 21.5.1 输入所有的标题和内容
- 21.5.2 用CSS设置背景图片
- 21.5.3 用CSS设置渐变背景
- 21.5.4 用CSS设置页面垂直滚动条样式
- 21.6 在首页中添加动态行为
- 21.7 制作日志页面
- 21.7.1 设计日志浏览功能的思路分析
- 21.7.2 日志页面的代码编写
- 21.8 制作相册页面
- 21.8.1 设计相册浏览功能的思路分析
- 21.8.2 相册页面的代码编写
- 21.9 注册域名并发布网站
- 21.10 小结
FAQ
Does this book require readers to have a programming background?
What level can I reach after finishing this book?
Are the code examples and projects in the book outdated?
Related on WeRead
Comments
Find this book
This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.
About the author
Song Lingxiang is an author of programming books about whom relatively limited public information is available. The library holds one work by this author, namely _21 Days to Learn HTML5+CSS3 (2nd Edition)_. Judging from this representative work, the author's writing focuses on the fundamentals of front-end web development, centering on the two core technologies HTML5 and CSS3. The book is organized in a staged, day-by-day format that helps beginners build a basic understanding of web page structure and styling within a relatively short period. It is an introductory title in the programming and design category, aimed at readers with little or no prior experience, and its content emphasizes step-by-step progression and practical operation. Because the author's nationality, dates of birth and death, educational background, and professional experience are not clearly recorded, this introduction makes no speculation and, based solely on the work held in the library, outlines the author's writing focus, namely serving the popularization and introductory teaching of front-end technology.