你会学到什么?
- 整体了解 Web 布局的发展和演变;
- Flexbox 和 Grid 布局中的具体应用和注意事项;
- 构建可适配多终端、兼具创造和艺术性的 Web 布局方案;
- 大量图文和实战,轻松掌握最新 CSS 特性。
课程简介
想象一下,你是一名 Web 开发人员,设计师递给你一份全新的 Web 设计方案。该设计由各种有趣的布局组成,比如需要考虑视窗的宽度和高度,以及需要考虑布局的适配性和灵活性。你如何决定使用哪种布局技术,来构建这个新的设计方案呢?
随着 CSS 技术不断向前发展,尤其是这几年,可用于 Web 布局的特性明显增多:
其中多列布局(Multi-column)和 Flexbox 已经是很成熟的技术,只不过多列布局(Multi-column)使用的较少。对于像 CSS 自定义属性、CSS 网格(它也很早就有了)、宽高比(aspect-ratio
)、CSS 比较函数(min()
、max()
和 clamp()
)、CSS 逻辑属性、CSS 书写模式 和 CSS 视窗单位,是近两年才得到主流浏览器支持的,其他很多特性对于 Web 开发者来说,是“只闻其名,未见其身”,比如说容器查询。
换句话说,虽然 CSS 为我们提供了各种解决布局问题的方法,可以在水平轴上,也可以在垂直轴上,甚至两者都有。但是,为上下文选择正确的布局方法可能是困难的,通常你可能需要多个布局方法来解决你的问题。
这就需要你对每个布局的细节有更深层次的理解,比如 Flexbox 和 Grid 布局是如何计算的?Flex 或 Grid 项目遇到最小尺寸会发生什么?内在尺寸是由谁来决定的? CSS 的比较函数给 Web布局带来什么变化?容器查询会替代媒体查询吗?
为了帮助你做到这一点,在这个课程中,我将会向你介绍可用于现代 Web 布局的几个技术,你将了解每种 CSS 布局机制的独特特性,帮助你做出这些决定。
小册内容包括:
- Web 布局发展和术语: Web 布局技术,从最早的自然流布局(无布局),又经历了表格布局 、浮动布局 、定义位布局 、多列布局 、Flexbox布局(弹性布局)、网格布局(二维布局)、内在 Web 布局、不规则布局、响应式布局等。可用于现代 Web 布局技术越来越多,构建出来的 Web 布局灵活性,适配性更强。在这个模块中,我将带你了解布局的发展,从宏观的视角带你建立起现代 Web 布局核心知识体系;同时,我们也将对这些技术的术语进行梳理,这也是我们动手去构建 Web 布局之前的核心基本功。
- Flexbox 布局 :Flexbox 布局具有较强的灵活性和适配性,也被称为是 弹性 Web 布局。不过,其学习成本也较高,尤其是 Flexbox 布局中的一些计算,往往会令人头疼困惑。在这个模块中,我将向大家深度剖析 Flexbox 布局中, Flex 项目的计算细节和相关理论。有了这些理论,你可以更快速构建出符合需求的 Web 布局,也能更精准定位出问题所在,从而快速解决问题。
- Grid 布局 :Grid 布局是 CSS 原生的网格布局,是目前为止唯一的二维布局,该布局技术可以让你同时在内联轴(行轴)和块轴(列轴)两个方向控制 Web 中元素的位置。CSS Grid 布局模块特性较多,学习成本更高。这个模块,我们从最基本特性着手,一步一步带大家深入复杂特性的学习中。学会 Grid, 不仅可以构建 Web 经典布局,还可以构建更具创意的 Web 布局。
- Flexbox vs. Grid :Flexbox 和 Grid 布局技术都具备极强的布局能力,使用这两者中任何一种,都可以构建出所需的 Web 布局。虽然这两种技术的出现和发展有先后顺序,但绝没有谁替代谁一说。我们应该在更适合的场景使用最适合的布局技术。这个模块中,我们使用一些经典的案例,告诉大家在构建 Web 布局时,如何更好地选择合适的技术,从而达到更佳的布局效果。
- 内在 Web 设计 :现在大多数的 Web 设计和布局都是以设计为导向,在构建 Web 布局时,基于设计师提供的设计稿(模板)来完成。而内在 Web 设计(Intrinsic Web Design)是让设计受内容驱动(Design Content-Driven)。在个模块中,将学习如何使用 CSS 中内在尺寸来构建 Web 布局,比如
min-content
、max-content
、fit-content
和auto
等长度属性值,帮你更好地构建以内容驱动的 Web 布局。 - 不规则布局 :一直以来,Web 的布局都是规规矩矩的,由于矩形区域的限制,我们很难构建出一些具有个性,独特性和创造性的 Web 布局。在不久的未来,你将可以使用 CSS 的 Shapes 模块中的特性来打破这个限制,构建出不规则的布局,比如让文字围绕一个不规则的图形排版,文字围绕一个圆形排版,让整个 Web 布局看起来像杂志报刊的排版。
- Web 向左向右 :如果你要构建一个多语言的 Web 站点,你应该如何选择相应的布局技术,才能以最少的成本来构建出最好的效果?在这个模块,你将掌握 CSS 的逻辑属性、书写模式等特性,用这些新的特性来构建一个具有多语言的 Web 站点。
- 响应式 UI :在开发移动端的 Web 页面时,你可能使用了业内主流的适配方案,比如 REM 和 VW 等。或许你已经感受到了这些主流适配方案带来的局限性。其实,自从 CSS 的自定义属性、CSS 的比较函数出现之后,你将可以使用这些特性构建更具响应式的 UI 适配方案。
- 下一代响应式 Web 设计 :我们知道, CSS 的媒体查询只是页面级的一种响应,始终无法做到组件级的响应。而 CSS 容器查询的特性,以及一些新的媒体查询特性,可以让你构建出一个 组件响应的 Web 设计 ,即可以让你开发的 Web 组件达到 响应用户、容器和设备外形等需求。
上面所列的是用于 Web 布局的 CSS 特性,给 Web 布局带来质的飞跃。Web 开发者可以采用这些新特性构建出一个具有创造性的 Web 布局。
这本小册,用了约 1000 张示意图和 800+个真实的 Demo,带大家深入了解和掌握构建现代 Web 布局的技术细节和技巧。学习完该小册,Web 开发者除了可以快速构建出具有创造性的 Web 布局之外,还可以掌握可用于现代 Web 布局的技术理论与细节。
课程目录
Web 布局技术演进:了解 Web 布局发展史
现代 Web 布局技术术语
Flexbox 布局基础使用
Flexbox 布局中的对齐方式
Flexbox 布局中的 flex 属性的基础运用
Flexbox 中的计算:通过扩展因子比例来扩展 Flex 项目
Flexbox 中的计算:通过收缩因子比例收缩 Flex 项目
Flexbox 布局中的 flex-basis:谁能决定 Flex 项目的大小?
使用 Flexbox 构建经典布局:10 种经典 Web 布局
Grid 布局的基础知识
定义一个网格布局
Grid 布局中的计算
可用于 Grid 布局中的函数
网格项目的放置和层叠
Grid 布局中的对齐方式
网格布局中的子网格和嵌套网格
使用子网格构建 Web 布局
使用 Grid 构建经典布局:10 种经典布局
使用 Grid 构建创意性 Web 布局
Flexbox or Grid:如何选择合适的布局?
display:contents 改变 Flexbox 和 Grid 布局模式
Web 中的向左向右:Flexbox 和 Grid 布局中的 LTR 与 RTL
Web 中的向左向右:Web 布局中 LTR 切换到 RTL 常见错误
内在 Web 设计
创建不规则 Web 布局
如何构建响应式 UI?
下一代响应式 Web 设计:组件式驱动式 Web 设计
下一代响应式 Web 设计:容器查询
讲师介绍
大漠,W3CPlus 创始人,曾就职于淘宝。对 HTML、CSS 和 A11Y 等领域有一定的认识和丰富的实践经验。CSS 中国布道者,2014 年出版《图解 CSS3:核心技术与案例实战》。