我们都知道,前端技术最核心的三大技术是HTML、CSS和JavaScript。HTML定义网页的结构,CSS定义网页的外观,而JavaScript定义页面的行为。其中HTML和CSS是前端技术中最基础的东西。
HTML和CSS入门容易,精通却很难,特别是CSS。“什么?精通很难?我很确定我已经精通CSS了啊!”这种话往往是出自学习三两个月、技术刚入门的人之口。我就曾经碰到不少这样的人。对于HTML来说,确实没有多少东西可以深入的,但是CSS却不一样。
如果你认为自己精通HTML和CSS了,那你可以思考一下下面这些问题。
(1)什么是HTML语义化?对于标题、图片、表格、表单,如何更好地实现这些方面的语义化?
(2)什么是外边距叠加?出现外边距叠加的根本原因是什么?
(3)在CSS中,关于命名、书写以及注释都有哪些好的规范(便于团队开发和后期维护)?
(4)说一下display这几个属性值的区别:block、inline、inline-block、table-cell。
(5)你深入了解过text-indent、text-align、line-height以及vertical-align这几个属性么?它们都有哪些高级技巧。
(6)为什么overflow:hidden可以清除浮动?
(7)CSS都有哪些性能优化技巧?如何使用更高性能的选择器?
(8)如何使用CSS实现各种图形效果,例如三角形、圆、椭圆等?
(9)解释一下这几个概念:包含块、BFC和IFC、层叠上下文。
……
如果你有一半答不上来,说明你连“熟悉CSS”都算不上,更别说“精通CSS”了。因此大家不要学了几个标签就认为自己精通HTML,也不要学了几个属性就觉得自己精通CSS了。不管是哪门技术,自己都应该深入地去学习,自我满足只会让自己滞留不前。
HTML进阶的内容只针对HTML 4.01,而CSS进阶的内容只针对CSS 2.1。对于HTML 5和CSS 3的内容,可以关注绿叶学习网。
本书是《Web前端开发精品课HTML和CSS基础教程》的姊妹篇,两者具有很强的连贯性。本书并不适合没有基础的人学习,对于HTML和CSS入门的相关知识,可以参考本书的姊妹篇,不然在学习本书的过程中可能对有些东西无法理解。
本书虽然涉及的东西很多,但浓缩的都是精华。有一句话说得好:“干扰因素越少,越容易专注一件事”,因此对于书中的技巧我们也会以最简单的例子来讲解。笔者在编写本书的时候也是字斟句酌,该展开的会详细展开,没用的东西一定会一笔带过。希望大家在学习中不要跳跃性地学习。
此外,本书里很多东西比较复杂,一时半会儿可能消化不了,应该多回来翻几遍,并且结合自己的实践来理解。“书读百遍,其义自见。”古人有些话还是说得蛮好的。HTML和CSS这些进阶知识在本书中已经梳理得比较完善了,学习中可以来回翻一番,想当年我们连“翻”的份都没有,因为压根儿就没有这样的一个系统化的学习教程。
对于本书的学习,一定要下载这本书的源代码,一边查看源代码,一边测试效果。本书中的代码请从异步社区www.epubit.com.cn本书页面下载。