现在 css 不是前端必备技能了吗?

2017-07-08 12:05:23 +08:00
 tlday
跟朋友交流,突然发现现在很多前端是不懂 css 的,就是 ant.design,bootstrap 一类的 css/半 css 框架解决布局和样式问题,碰到要自定义样式的情况基本靠抄和试。想问下大家周围的情况,以及诸位的看法。
11390 次点击
所在节点    程序员
109 条回复
tlday
2017-07-08 14:50:07 +08:00
@abcbuzhiming
@autoxbc
@chunqiuyiyu
@sobigfish
其实 css 为什么会是现在这个样子是要考虑 css 自身的历史发展的,为什么会有行内元素 /块级元素的区分,为什么会有 bfc,为什么浮动不能撑起父容器等等。
css 的问题在于早前有那么一段时间本身的发展速度和前端的发展不匹配,导致出现了大量的 hack 做法,像 table 布局,float 布局,还有著名的,经典的,每个人都遇到过的垂直居中问题。各种元素,属性的不同组合出现不同的效果,产生不同的问题,导致它更多依赖于开发者踩过的坑,而不是开发者自身的理论体系。
又因为 css 总是作为 html/js 的附带技术讲解,没有专门的课程去讲解这门技术,所以知识点散乱。
不过坦白讲,做了这么多泛前端,包括 Android/iOS/Cocos/以前的 MFC/Unity 什么的,总结下来,css 真的是一个非常灵活神奇的技术。这门技术思路很神奇,因为它写的不是"程序",而是"字典"。UI 这种东西,是适合拿"顺序执行的程序"来描述,还是"布局加样式字典"来描述呢?
Wangxf
2017-07-08 14:52:55 +08:00
css 包含很多奇技淫巧的东西,js 学精了也是图灵完备语言,再学其他的一通百通,而且 css 多很多记忆方面的东西
oh
2017-07-08 15:16:12 +08:00
@tlday 当然不能这么说,难道前端都只做后台开发吗?随便扔几个个性化比较强的活动页面、首页、H5 之类的,不会 CSS 想靠 Bootstrap 实现?那要问问设计师同不同意
tlday
2017-07-08 15:18:25 +08:00
@Wangxf 我认为 css 作为一门编程技术,被低估了。它的复杂度是很高的,不该作为其他技术的附带技术去学。
奇技淫巧确实很多,我也思考过为什么会这样。除了说,css 技术最初是为了展示样式化文字而生,而非为展示界面控制元素而生的这个原因以外,多终端,多浏览器,多分辨率的兼容问题也是一个重要的因素。
实际上,我觉得这个兼容问题的复杂度是很难降低的,css 能做到目前这样,已经非常不容易了。相比其他的布局方式,不谈左边几个像素,移动百分之几这种写死的方式,我是觉得定义约束(虽然这门技术在 css 之后,应该包含了对 css 经验的总结和改进)这种方式真的非常别扭。
tlday
2017-07-08 15:20:27 +08:00
@oh 我个人也倾向于认为 csa 是前端工程师必备技能,但是从目前的大部分回复来看,现实中确实偏向加分技能,而且直觉上,现在很多公司面试前端开发,对 css 技能的考察也属于不足甚至没有的状态。
tlday
2017-07-08 15:21:47 +08:00
@oh csa -> css
notreami
2017-07-08 15:28:08 +08:00
@oh 效果达到了,设计师还能说什么? js 直接撸效果,完全没问题。
oh
2017-07-08 15:36:01 +08:00
@notreami 特效用 css 比 js 效率更高非要用 js 那就算了,问题是你所有的样式都用 js 写么?
notreami
2017-07-08 15:42:46 +08:00
@oh 肯定不是啊,简单的直接 CSS 就可以了。复杂的只愿意用 JS。
duan602728596
2017-07-08 15:46:00 +08:00
说真的,写的烂的一笔的 css,真是看的太多了,布局一堆 bug 的,没法扩展的,搞得出了问题都没法改。下回真的切个十几二十个网站再来转 web 前端吧。
suikator
2017-07-08 15:46:00 +08:00
现在 python 不是后端必备技能了吗?
现在 javascript 不是程序员必备技能了吗?
现在 王者荣耀 不是追妹子必备游戏了吗?
...
Caringor
2017-07-08 15:49:28 +08:00
没办法,JS 框架的出现让很多连 HTML 语义都不懂的人也敢自称自己做前端了。

其实想一下,还蛮可怕的,比那些只会 jQuery 库的前端恶劣多了。

至少会 jQuery 的前端堆 CSS 的技能一般不怎么差,但是那些只会框架的前端,特别是连一个页面的视觉效果都还原不好的,我真想不通是靠什么勇气称自己是大前端的。
tlday
2017-07-08 15:49:41 +08:00
@suikator 我这也标题党了吗?😄你的三个问题,我的答案都是“不是”。😄
autoxbc
2017-07-08 16:11:01 +08:00
CSS 强调奇技淫巧的时代已经过了,自动生成代码也有各种问题,现在需要的是朴素恰当正确简练的 CSS 编程。
tlday
2017-07-08 16:14:43 +08:00
@autoxbc 赞同,我也觉得过去 css 的内容过于零碎了,css 的发展也有跟上前端整体发展的趋势了。除了兼容问题,假如现在 css 标准里的东西都能实现,那么 css 的知识就成体系多了,学习曲线也会平滑的多。
weer0026
2017-07-08 16:17:58 +08:00
三线小城,我们前段分切图和交互,切图的就是写 CSS 的,交互就是写 JS 的。
learnshare
2017-07-08 16:30:19 +08:00
HTML/CSS/JavaScript 缺一不可,AntD/Bootstrap 不能解决所有问题
tyrealgray
2017-07-08 16:39:00 +08:00
前端是前端,js 是 js。只是多数公司钱不够,找一个人包完了而已
tlday
2017-07-08 16:41:24 +08:00
@tyrealgray 我跟你的想法相同也相反,我觉得工程师不能把自己限制在前端工程师 /js 工程师这样的名头上,艺多不压身,了解了解别的方向是怎么干活的,有助于开阔眼界,降低合作时的交流成本。
tyrealgray
2017-07-08 16:49:56 +08:00
@tlday 然而事实就是这样,我们公司 3 个前端工程师,4 个 js 工程师。切图,ps 到设计能力,ux 体验,国内大多数公司是找不到的。然而他们中两个都不能写复杂一点的 js。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/373911

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX