不想错过更多好文?请点击上面的 “CSS魔法” 订阅公众号。 |
前言
在 “快问快答” 这个栏目中,魔法哥会回答具有普遍性的网友提问,希望这些问答对你也有启发;如果你也想提问,直接在 “CSS魔法” 微信公众号内留言就可以了。
Q 微信网友 Nicholas 提问:
魔法哥,作为刚入门的前端,我特别纠结元素 class 的命名,短了语意不明确,长了又太浪费,求指导。
A 建议先起个表意清楚的名字吧。如果代码的 “可读性” 和 “简洁性” 不可兼得(是的,你没看错,简洁不一定易读),那显然是前者更加重要。而且 HTML 代码中的这些长名基本都会被 Gzip 消化掉,性能因素不需要过多担忧。
Q 微信网友 metthew 提问:
<input type="checkbox" id="awesome"/>
<label for="awesome">Awesome</label>在《CSS揭秘》第 150 页的 “自定义复选框” 这个例子中,我参照书中的讲解写了一个复选框,但点击没有反应。是不是应该包在 label 标签内才有效果?
A 你可以尝试一下书中提供的 “试一试” 在线演示,它是正常工作的。
当我们把 label 与复选框(或其它表单控件)建立关联之后,点击 label 的效果与直接点击控件的效果是相同的。而建立这种关联有两种方法:一是你提到的 “把控件包在 label 标签内”,二是把 label 的 for
属性设置为控件的 id
值。书中用到的是第二种方法。
如果还有进一步疑问,欢迎到这里提问:https://github.com/cssmagic/CSS-Secrets/issues
Q GitHub 网友 MiYogurt 提问:
看了你翻译的 Gulp 4、jQuery 3、Webpack 2 等一系列文章,感觉都挺不错。我有个疑问想要问一下魔法哥:对于张云龙他们所讨论的 “基于 FIS 的前端基础工程” 你怎么看?
为什么你们团队选择的是国外的 Webpack 和 Gulp,而不是更符合国情的 FIS?我一直在这两者之间彷徨。
A 关于 FIS,其实我觉得挺好的。尤其在组件化开发方面,如果适用,我们团队未来很可能会尝试。
目前我们采用 Gulp 和 Webpack 有几方面的原因:首先,它们目前对我们来说是够用的;其次,有先入为主的因素,我们不会频繁更新工具链;第三,Gulp 和 Webpack 的用户还是更多一些,选用它们的风险更小。
Q 微博网友 丶孑然丨 提问:
魔法哥,我 HTML 和 CSS 懂点,JavaScript 零基础。想请你推荐几本 JavaScript 不错的入门书籍,谢谢啦。
A 我在第一期 “快问快答” 中曾为 JS 初学者提过学习建议。关于书籍,如果想系统地学习 JS 基础知识,推荐《JavaScript 高级程序设计》和《JavaScript DOM 编程艺术》这两本书;如果想学习 jQuery,可以试试《锋利的 jQuery》这本书。
Q 微信网友 果 提问:
您好,请问下国内外有没有什么比较好的移动页面开发的书籍?我搜了一下,目前只找到 《移动 Web 开发》这一本。
A 你说的是 PPK 写的《移动 Web 手册》吧?我所知道的专门写 Mobile Web 前端开发的书籍也就是这一本了。这方面的知识和技巧确实很少有书籍形式的沉淀。可能是因为这一块发展太快了吧,很多经验性的知识散落在网络各处的博客文章中。
Q 微信网友 中原 提问:
我最近有一个困惑:CSS 框架让我没有学习 CSS 的动力。比如说,像 Bootstrap 这样的 CSS 框架已经提供了完备的功能,我用它就可以写出相当精致的页面,那我学习 CSS 的目的是什么呢……
A 首先要肯定,CSS 框架的出现是一种进步,它把开发者从 UI 样式和布局的琐事之中解脱出来。这个的价值是非常巨大的,这也是 Bootstrap 成为 GitHub 上最受欢迎的开源项目的原因。
但 CSS 框架的局限也是显而易见的。比如说,你基于 Bootstrap 只能写出 Bootstrap 风格的页面。一旦你的需求超出了框架所提供的范畴,你还是需要自己动手写 CSS 来扩展它。这个时候你的 CSS 功力就发挥作用了。
Q 微信网友 江煜章 提问:
最近开始作为初学者了解 Web 前端方面,说实话,想转行。想转 IT 又不知道具体转到哪个方向,不知道自己适合哪个方向。身边的朋友里只有一个做测试的,只能给出一些比较片面的建议。自己在网上搜索着、漫游着,后来就开始进行前端方面的了解,在知乎里知道了 CSS 魔法。求学的热情是有的,却苦于没有指导,有些许迷茫。
A 如果是没有任何技术基础的同学想转到互联网行业,建议从 PHP 后端开发作为切入点。现在前端的入行门槛太高了。八年前我确实以前端为切入点,从传统行业转行到互联网行业;但今天的前端已经形成一个庞杂的体系了,对零基础的同学来说,直接硬上有难度。不如以 PHP 为切入点先进来,再作打算。
您建议初学者外行转入互联网以 PHP 后端开发作为切入点,那想继续问一下怎么入行就业呢?需要去参加什么北大青鸟的培训吗?
需要自学或参加培训。学习了基本知识之后多实践,然后自己投简历或找人帮你推荐职位。小公司的职位相对好找一些,边工作边学,再向大公司跳。
如果自学可以完成的话,也可以投一些小公司是吧?就是担心难找公司,要是公司给个机会边工作边学习自然是最好的。
找到工作之后需要利用业余时间继续学习。除了实习生以外,很少有公司愿意给机会一边工作一边学习。
嗯嗯,谢谢!我的理解也是利用业余时间来学习。现在平时业余时间就比较多,所以想利用这些时间来学习 PHP,有没有什么入门书籍推荐一下呢?然后在慕课网上学应该也不错的吧?谢谢您给我的解答。
各种来源的知识都吸收一些吧。书籍可以考虑豆瓣上评分比较高的,我看的 PHP 书比较少,就不乱推荐了。
Q 微博网友 用户53241291** 提问:
魔法哥,在北京没学历不好混呐。您当初没学历是怎么发展到现在这么有名气的呢?
A 相对来说,互联网行业对学历的要求是相当宽松的,几乎可以说人人都有发展机会。我当初转行进来时,一没背景、二没学历,找工作靠的还是技术能力。所以先提高自己的专业素质才是硬道理。
每个人在技术社区内的名气基本上跟他为社区所作的贡献有关。比如写博客、翻译文章就是很好的贡献方式,加油吧!
(题图作者:Paul Hudson @ Flickr)