前端自学路线之切图篇

最近有很多同学问我们前端该如何学,学习的路线是什么?所以本着为新手同学梳理一条比较清晰的学习路线,同时结合我这几年的学习经历,来写这么一个“前端自学路线”系列,本篇先说说切图那些事。

 

前端始于切图,这应该是不容辩驳的。有些同学不爱写html和css,特别是从后端转过来的同学,我觉得这样是不行的,因为前端这个职位本来就是这么发展而来的。

 

和切图相关的当然就是HTML和CSS了。HTML就很浅了,你只需知道HTML4和HTML5的文档规范有哪些区别就行了。CSS的话,首先你得知道都有哪些属性,他们都用于哪些场景,能熟练地还原PC端的页面,并兼容各浏览器,就算是切图入门了。这时候你写出来的页面应该是充满了div,CSS中充满了px单位以及冗余属性。 

有些人觉得能把图切出来就可以了,其实不然,路还远着呢。接下来是切图中级之旅。你需要对HTML各个标签都了如指掌,知道他们的语义和使用场景。关于CSS,你应该大致读一遍W3C规范,了解不同的盒模型(行内、块级)的布局规范,了解文档流、IFC、BFC等概念,简言之就是要知其所以然,通过原理来做事,而不是像以前那样靠猜和试来解决问题。

 

CSS的使用也是一个积累的过程,在此过程中你需要积累各种技巧,比如左右两栏自适应布局、传说中的双飞翼布局、margin负值布局、各种情况下的居中技巧等等。

 

到了中级的时候,你还应该掌握HTML5和CSS3中的新特性。你也要开始能做移动端的页面了。新的标签和CSS属性都要门儿清。圆角、阴影自然不在话下,你还得掌握渐变(transition)以及变形(transform),以及动画(animation)。你做的页面不再是只用px来定死宽高,而要学着进行响应式布局,学习flexbox的布局模式。

 

当你做了几百张页面,能熟练写出移动端的页面,掌握各种场景下的最优布局,并且能从原理上解释一些现象。那么恭喜你,中级切图仔可以出师了。你应该感受到此时已经是一次质变了。

 

是的,切图之旅还没结束,来看高级的吧。高级有两个关键字:架构、性能。

 

先说架构。在中级出师之后你已经是切图师中的战斗机了,这时候你就应该考虑如何来架构一个整站的CSS了。为什么要架构呢?因为你在此前肯定会经历不断升级维护CSS代码的痛苦,那就是代码只增不减,旧的样式从来不敢删,每次升级都是用更高的优先级来覆盖掉旧样式。代码在修改的时候及其不灵活,有时牵一发而动全身,有时需要把相同代码复制粘贴到n个地方。

 

你可能会尝试把CSS代码按照模块为单位来划分,或者是自己定义的其他规则和编码规范,作为约定所有人遵守。现在的话,最佳实践就是CSS预编译(sass/less/stylus),你应该掌握如何使用,以及如何用这些工具来架构出灵活的CSS。

 

关于性能,也是高级切图师要关注的。你需要了解浏览器渲染DOM树的过程,知道重绘(repaint)、回流(reflow)这两个概念,以及怎样的布局能够尽量减少回流。你应该知道硬件加速是个什么鬼,知道translate3D能开启硬件加速的原因是什么。你要学着用chrome的timeline来分析整个页面的渲染过程,哪里耗时长,该用怎样的方案来解决。

 

啰嗦了这么多,以上就是前端工程师的第一步——切图仔的学习路线——的主干部分。至于如何来进行这些知识的学习,我在前半部分也做了分析,用我们的“元能力”思维去自学就好。网上的资料很多,针对这条线路进行搜索就行,我在这里也可以推荐几个:张鑫旭的博客中有很多CSS基本原理的文章,玉伯、张克军的博客早年也有很多经典的关于页面渲染相关的文章,大漠的w3cplus上面css的知识也很多,以及sass/less相关的知识。

 

切图是要多练的,这个没的捷径,练多了自然有感觉。

本文转自吕大豹博客园博客,原文链接:http://www.cnblogs.com/lvdabao/p/5817627.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/370284

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。