距离《CSS选择器世界》第1版出版才3年多,CSS领域又新增了非常多的新特性,自然也包括很多全新的CSS选择器,其中最具代表性的就是
:has()
伪类,它可以实现真正意义上的父选择器效果,这可是我翘首以盼十几年的CSS特性。
当然,除了全新的CSS选择器,《CSS选择器世界》第1版介绍过的CSS Level 4选择器也变得更加成熟,开始在生产环境中大放光彩。我积累了不少有价值的经验,值得分享给大家。因此,有必要对《CSS选择器世界》进行再版升级,与时俱进,从实用性出发,让大家能更好地学习与成长。
我相信不少前端开发人员会有这样的疑惑:CSS选择器不就是那点东西,还能写一本书?
这是很正常的想法,因为理论上只要掌握几个基础的CSS选择器(如类选择器),就能实现Web网页开发。由于
class
属性值可以设置在任意HTML元素上,因此,哪怕你只会类选择器,也能把Web页面重构出来。
这就类似于做菜,就算只有一把菜刀,也能处理各种食材,能切肉、能杀鱼、能削皮。但很显然,对于特定的食材,使用菜刀进行处理并不是最好的选择,例如瓜果削皮,菜刀绝对不如削皮刀好用。
CSS选择器也是如此,存在必有道理。随着Web的不断发展,开发人员所面对的开发场景更加多变,所开发的Web应用也日趋复杂,如果还是借助传统的CSS选择器进行处理,那我们的代码就会很啰唆,并且开发效率较为低下。因此,很多全新的CSS选择器应运而生,可以支持现代Web应用开发,通过语言自身的强大功能帮助开发人员使用更少的时间完成更高质量的代码。
作为一名技术从业人员,本质上,你的职业发展高度与你的专业能力密切相关,而专业能力最直观的体现就是完成的工作又快又好。如果你精通所有的CSS选择器,那么,遇到合适的使用场景时就能“四两拨千斤”,别人可能使用JavaScript写了上百行代码,你用一行CSS代码就搞定了。如果你希望在前端领域有所作为,打破当下止步不前的状态,一定要敬畏技术,保持谦逊,系统学习,至少我自己就是这样不断成就自己的人生的。
本书是“CSS三部曲”中第二部的升级版,和《CSS世界》《CSS新世界》这两本书一起构建了完整的CSS世界,一起阅读收获会更多。
本书非文档,虽体系,但有侧重,基于实用性和真实开发场景构建,去粗取精,有的放矢,让大家阅读更轻松,学习更高效。
本书非入门图书,适合有一定CSS基础的前端人员学习和参考。新手也能通过本书学到很多知识,但往往需要多次反复阅读,因为为了做到内容精练,书中会直接略去过于基础的知识,重在讲“干货”。
本书除了开发经验的分享,还大量阐述对技术的理解,这些理解虽然稀缺,但是比较主观,因此并不能保证百分之百正确,对于我可能理解有误的内容,欢迎读者质疑和挑战。
最后,由于CSS选择器依然在快速发展中,因此本书部分比较前沿的知识点在未来会发生某些小的变动,我会实时跟进,并在官方论坛同步更新。
我专门为“CSS世界三部曲”制作了一个网站(https://www.cssworld.cn),在那里,读者可以了解更多“CSS世界三部曲”的相关信息。如果读者有质疑,想挑战,或者要纠错,都欢迎在官方论坛(https://bbs.cssworld.cn/)对应版块进行提问或反馈,也欢迎读者添加微信zhangxinxu-job和我直接沟通交流。