跟朋友交流,突然发现现在很多前端是不懂 css 的,就是 ant.design,bootstrap 一类的 css/半 css 框架解决布局和样式问题,碰到要自定义样式的情况基本靠抄和试。想问下大家周围的情况,以及诸位的看法。
|
ohJul 8, 2017 via iPhone
1
确实有这样的,但我觉得这不是一个合格的前端,作为一个前端开发人员,CSS 属于基本技能还是要会的
|
|
2
我们公司的情况是会写 CSS 的都不怎么会写 JS,不会写 CSS 的 Java 程序员写 JS。
|
|
TankptJul 8, 2017
3
css 应该是必备的。。但是周围的好多同事有时候,只能实现一个大概。代码还是很乱的。。可能现在少了很多切图的打磨
|
|
chaleaochJul 8, 2017
4
如果这是真的,那么对于我来说是一个好消息。
|
|
gelilaohuangJul 8, 2017 via Android
5
单扛公司前端…
|
|
6
不懂 CSS 的前端一定是后端向前兼的全栈....
|
|
changweiJul 8, 2017 via Android
7
那些只懂用 bootstrap 等 css 框架的人可能是套模板公司的受害者?
|
|
shijiJul 8, 2017 via Android
8
Css 去了 bootstrap 这类框架还会写。
不过不让我用 jquery 直接写纯 js,感觉大部分都记不住了 |
|
TunarJul 8, 2017 via Android
9
不会 CSS 还敢自称前端😒搞笑呢
|
|
10
作为一个已经干了有点年头程序员的人,接触过很多语言,基本上你让我去学一门新技术,我根本不怕,几天就能上手,但是我就认为 CSS 非常的难。我也总结过为啥像我这样的人惧怕 CSS 的根本原因在于,CSS 和程序语言压根就不是一个体系的东西,他的思维和解决问题的办法都“不是程序员化”的,而且现实是,调试 CSS 没有很好的工具,你们不要说 chrome 的 debug 工具,那玩意在遇到 CSS 问题的时候跟渣一样,一般的程序 bug,最怕的是无法重新,只要能找到重新条件,接下来找到问题所在就很容易了,然而 CSS 问题在调试时经常能遇到问题就摆在那,但是你死活没法定位的现象。总之我觉得 CSS 的问题时思维问题,擅长 CSS 的人不一定擅长程序代码,反过来也一样
|
|
zjsxwcJul 8, 2017
11
javascript 开发工程师确实和只会写 css 与 ps 的“前端”工程师要求不一样
|
|
bear2017Jul 8, 2017 via Android
12
肯定要会啊,CSS 都不会还能能叫前端,JS 也必备技能啊。
|
|
lijunboJul 8, 2017
13
难道将要有“ CSS 工程师”一职了么?
|
|
autoxbcJul 8, 2017
14
CSS 编程被低估了。那些用机器生成的 CSS 代码,又臭又长,各种 bug,违反设计准则。
|
|
chunqiuyiyuJul 8, 2017 via iPhone
15
写好 CSS 真心困难,需要考虑很多东西,每次我看到写得漂亮的 CSS 代码,就很佩服。
|
|
ech0xJul 8, 2017 via iPad
16
@chunqiuyiyu 同意,感觉自己裸写 css 特别容易写乱。
|
|
17
讲真。。。工作中同事的 CSS 水平都不高。。。。但是后端同时吐槽难学的也是 CSS
|
|
run2Jul 8, 2017
18
css 不好入门主要是在不同浏览器出现的结果都有可能不一样-。- 怎么调试
|
|
19
作为后端,CSS 是我最讨厌的技术了
|
|
21
@abcbuzhiming
@autoxbc @chunqiuyiyu @sobigfish 其实 css 为什么会是现在这个样子是要考虑 css 自身的历史发展的,为什么会有行内元素 /块级元素的区分,为什么会有 bfc,为什么浮动不能撑起父容器等等。 css 的问题在于早前有那么一段时间本身的发展速度和前端的发展不匹配,导致出现了大量的 hack 做法,像 table 布局,float 布局,还有著名的,经典的,每个人都遇到过的垂直居中问题。各种元素,属性的不同组合出现不同的效果,产生不同的问题,导致它更多依赖于开发者踩过的坑,而不是开发者自身的理论体系。 又因为 css 总是作为 html/js 的附带技术讲解,没有专门的课程去讲解这门技术,所以知识点散乱。 不过坦白讲,做了这么多泛前端,包括 Android/iOS/Cocos/以前的 MFC/Unity 什么的,总结下来,css 真的是一个非常灵活神奇的技术。这门技术思路很神奇,因为它写的不是"程序",而是"字典"。UI 这种东西,是适合拿"顺序执行的程序"来描述,还是"布局加样式字典"来描述呢? |
|
22
css 包含很多奇技淫巧的东西,js 学精了也是图灵完备语言,再学其他的一通百通,而且 css 多很多记忆方面的东西
|
|
ohJul 8, 2017 via iPhone
23
@tlday 当然不能这么说,难道前端都只做后台开发吗?随便扔几个个性化比较强的活动页面、首页、H5 之类的,不会 CSS 想靠 Bootstrap 实现?那要问问设计师同不同意
|
|
24
@Wangxf 我认为 css 作为一门编程技术,被低估了。它的复杂度是很高的,不该作为其他技术的附带技术去学。
奇技淫巧确实很多,我也思考过为什么会这样。除了说,css 技术最初是为了展示样式化文字而生,而非为展示界面控制元素而生的这个原因以外,多终端,多浏览器,多分辨率的兼容问题也是一个重要的因素。 实际上,我觉得这个兼容问题的复杂度是很难降低的,css 能做到目前这样,已经非常不容易了。相比其他的布局方式,不谈左边几个像素,移动百分之几这种写死的方式,我是觉得定义约束(虽然这门技术在 css 之后,应该包含了对 css 经验的总结和改进)这种方式真的非常别扭。 |
|
25
@oh 我个人也倾向于认为 csa 是前端工程师必备技能,但是从目前的大部分回复来看,现实中确实偏向加分技能,而且直觉上,现在很多公司面试前端开发,对 css 技能的考察也属于不足甚至没有的状态。
|
|
30
说真的,写的烂的一笔的 css,真是看的太多了,布局一堆 bug 的,没法扩展的,搞得出了问题都没法改。下回真的切个十几二十个网站再来转 web 前端吧。
|
|
suikatorJul 8, 2017 via Android
31
现在 python 不是后端必备技能了吗?
现在 javascript 不是程序员必备技能了吗? 现在 王者荣耀 不是追妹子必备游戏了吗? ... |
|
CaringorJul 8, 2017 via Android
32
没办法,JS 框架的出现让很多连 HTML 语义都不懂的人也敢自称自己做前端了。
其实想一下,还蛮可怕的,比那些只会 jQuery 库的前端恶劣多了。 至少会 jQuery 的前端堆 CSS 的技能一般不怎么差,但是那些只会框架的前端,特别是连一个页面的视觉效果都还原不好的,我真想不通是靠什么勇气称自己是大前端的。 |
|
autoxbcJul 8, 2017
34
CSS 强调奇技淫巧的时代已经过了,自动生成代码也有各种问题,现在需要的是朴素恰当正确简练的 CSS 编程。
|
|
35
@autoxbc 赞同,我也觉得过去 css 的内容过于零碎了,css 的发展也有跟上前端整体发展的趋势了。除了兼容问题,假如现在 css 标准里的东西都能实现,那么 css 的知识就成体系多了,学习曲线也会平滑的多。
|
|
weer0026Jul 8, 2017 via iPhone
36
三线小城,我们前段分切图和交互,切图的就是写 CSS 的,交互就是写 JS 的。
|
|
learnshareJul 8, 2017
37
HTML/CSS/JavaScript 缺一不可,AntD/Bootstrap 不能解决所有问题
|
|
tyrealgrayJul 8, 2017 via iPhone
38
前端是前端,js 是 js。只是多数公司钱不够,找一个人包完了而已
|
|
39
@tyrealgray 我跟你的想法相同也相反,我觉得工程师不能把自己限制在前端工程师 /js 工程师这样的名头上,艺多不压身,了解了解别的方向是怎么干活的,有助于开阔眼界,降低合作时的交流成本。
|
|
tyrealgrayJul 8, 2017 via iPhone
40
@tlday 然而事实就是这样,我们公司 3 个前端工程师,4 个 js 工程师。切图,ps 到设计能力,ux 体验,国内大多数公司是找不到的。然而他们中两个都不能写复杂一点的 js。
|
|
FrankFang128Jul 8, 2017
41
|
|
cctrvJul 8, 2017
42
前端不是 HTML CSS JS 三個加起來麼。接著還要懂 一堆框架,例如 VUE / REACT
|
|
test4zhouJul 8, 2017
43
HTML/CSS、JS 分开来开发简直不敢想象
|
|
ErskineJul 8, 2017 via Android
44
CSS 控制的动画不会,是否属于不会 CSS 的那种
|
|
45
@FrankFang128 很不错的文章,不过主要是讨论远程工作的。他说的软件架构是组织架构的映射这一点深表赞同,近几年前端界几乎都是被大公司推着走,出的工具框架,基本都是大公司为解决自己的问题做的,开源的,是大公司组织架构的体现,当然,这个问题小公司是否真的有还存疑。这么看的话,vue 还真的是很不容易。
|
|
46
@test4zhou 前端现在的趋势是 html/css/js 打包起来成一个组件,前端组件化。react 是这种思想和趋势的一种体现。
|
|
47
@cctrv 很多老板眼中前端还要懂一些设计,还要懂一些 node😂如果可以,最好什么代码你都能写,还能顺手出个设计图,兼职一下运维。
|
|
PastsongJul 8, 2017
48
作为一个前端接触了一些其他平台的布局方案(包括 React Native ),感觉 CSS 是其中最强大的了
|
|
lcsoftJul 8, 2017
49
是必备的,然而有些前端更像是个只会 JavaScript 的程序员,动不动就想用 JavaScript 控制页面样式,比如:按钮 hover 效果(改背景色、内容)、设置元素位置(浮动垂直居中)等效果,明明可以靠改样式和布局就能搞定的,非要用 JavaScript。等到页面出现怪异效果时,还得调试 JavaScript 代码看是哪一段代码加的效果。
|
|
50
@iRiven css 动画很简单的吧,因为内容在 css 里还算成体系。现在 chrome 可以手动微调贝塞尔曲线,已经很方便很易学了。
|
|
0915240Jul 8, 2017 via iPhone
52
dom 啊
怎么能不会 css |
|
RiceJul 8, 2017 via iPhone
53
用过 android 那种 xml 布局才明白,用 html+css 写布局真是又快又爽,更何况现在不用兼容 ie 了。
当然,移动端兼容还是挺麻烦的。 |
|
abcbuzhimingJul 8, 2017
54
@tlday 很早就看到有人说过,UI 开发以描述性语言来“描述元素应该出现在什么位置”的理论是先进的,所以 CSS 的路线倒是没错,业界的 wpf,directUI 都是这条路线,甚至连编程型 UI 的老大 QT 也开始走这条路,安卓更是一开始就走这条路,但是 CSS 最大的困惑还是在于标准不统一,工具太低能,调试不方面
|
|
maomaomao001Jul 8, 2017 via Android
55
css
html html 的 canvas 标签 html 的 svg 标签 html css 动画, css 布局 这些技术要学精的话,每一个都可以学 2 年吧 |
|
56
@abcbuzhiming 赞同,css 的思想很卓越,成为当前这种状态是历史因素决定的。
@maomaomao001 canvas 严格来说是前端未来可能性的一个方向,特别是 WebAssembly 发展起来的话,不过现在已经有很多框架了,有 flash 和游戏开发经验的话,应该很快就能用起来。svg 的话,本身只是矢量图,svg 动画部分的支持 chrome 考虑移除已经很久了。虽然我个人挺喜欢这个功能。 |
|
ran5Jul 8, 2017 via iPhone
57
不懂 UI 的产品不是好的前端😝
|
|
quietinJul 8, 2017
58
以前组里 css 基本全是自己写, 后来长期不写, 基本忘光(后端一枚
|
|
mingyunJul 8, 2017
59
写好 css 还真不容易
|
|
tcskyJul 9, 2017
60
上面的后端们你们需要 less 或 scss, 原生的 css 只会看的晕乎乎的.
|
|
watzdsJul 9, 2017 via Android
61
css 一个属性就有很多背景知识
|
|
lxmlJul 9, 2017
62
后端一枚,偶尔兼职前端,尝试看过 CSS,结论就是这玩意到底和编程有啥关系,以后这活儿就该扔给 UI 干。
|
|
Miy4moriJul 9, 2017 via iPhone
63
你这个标题很没水平,前端范畴很大,大厂可能分 css 工程师和 js 工程师,你说他们那一个不是前端工程师,同样的内科医生也有很多,有全科的也有专科的,莫非某一专科医生因为不会其他专科就不是内科医生了?诚然在前端诞生的时候 html 和 css 是必备的基础技能,但是现在时代变了,职业细化是常态了。其他职业都多次细化了,为什么就不能接受程序员的职业细化呢?我甚至可以在第一次分化出前端和后端的时候发帖,难道现在后台技术 /前台技术不是程序员必备了?历史只会向前,而你只能接受。
|
|
FooleapJul 9, 2017
64
终于明白,有些公司招前端,只是因为缺少写 CSS 的人。
|
|
ajanJul 9, 2017
65
面过一堆前端,很多都是简历上写着会 vue, angularjs, react 啥的,一问,结果连基本的布局问题( css ) 都不过关。
我一直认为,一个前端 连这些基础的不过关,会 vue, ng, react 又有何用呢? |
|
wly19960911Jul 9, 2017
66
@iRiven css 动画查一下就好,难点还是布局那块,布局掌握了 css 就掌握了大半了,其他都能查的东西不要紧了。
|
|
67
@Miy4mori 很有趣的观点,虽然我自己不喜欢用前端 /后端 /移动端这样的职位约束自己,但是思维确实还是传统的职业思维。我个人确实没见过多少 css 和 js 还要分开人去写的公司,所以发个帖子,看看大家周围的情况。标题可能确实考虑不周吧,不过我觉得一个考虑周全的标题可能就丧失了交流理解的基础了,毕竟前端是一个大家都了解的词汇,也是业界最多在用的一个职位划分。😅
|
|
eooJul 9, 2017 via Android
68
我感觉 CSS 比后端还难......
|
|
woshixiaohao1982Jul 9, 2017
69
@tlday #67 主要是 css 确实不是程序员思维
|
|
pzzrudlfJul 9, 2017 via Android
70
专注 CSS 领域不是一件轻松的事情
|
|
wujunchuan2008Jul 9, 2017
71
我就很怕 CSS...
|
|
AnshiJul 9, 2017
72
因为公司很多时候都不管细节...只要做出来就成啊...而且如不 CSS 不行还坚持不用框架自己写...改起来的时候真想打人
|
|
maplerecallJul 9, 2017 via Android
73
@woshixiaohao1982 只是思维方式不同,怎么就能说不是程序员思维了…都是逻辑上的事情,难道只有流程化的思维才是程序员思维?你们这些程序员也真是各种理由都想得出来😂
|
|
hantsyJul 9, 2017
74
写了 N 年程序,也懂些前端 ,用了 N 年 Bootstrap ( 1.x 就在项目用了),表示不会 CSS。
一些项目中,基本上是找专业的 web designer 去解决项目页面设计,包括全局的 CSS 设计(字体,用色等),基本上都是会用到 SCSS 之类的处理工具,基于现有 Foundation,Material Design Lite,或者 Bootstrap 之类去扩展。 |
|
hantsyJul 9, 2017
75
@tlday 分开才是正确的方法。
PS 等设计工具都有一些扩展去支持 CSS,包含 Bootstrap 布局等。我经历的有一些项目都是找一些专业的 Designer 做这些事情 。 奇怪的是国内的公司做 PS 的,切出来的图,完全自定义一套 CSS,对前端简直是灾难啊,嵌入代码( JS )又要调整 CSS。 另外可行一种方法,程序员直接先完成程序,基础页面 Layout (基于 Bootstrap 等), 再一些专业人员对 CSS 处理,美化最终效果。 |
|
hantsyJul 9, 2017
76
@ajan 帮朋友招过人,我觉得分开比较好。
见过很多太多自称什么都会写的前端程序,自称 CSS 熟悉,连 BEM 都不知道,展示的作品写出来的 class 名完全没规律。 项目中,CSS 的设计是与前端页面结构是一体的,没有好的全局规划,对项目简直是灾难。 至于会 JS, 大多公司都是从实用出发,如果谈些技术方面, JS 太多东西可以混淆人的思维了,比如 this, apply, call, 等。 大多数用现代的 ES6/7,Typescript (还有一些人偏好 CoffeeScript,Pug ),取代纯 JS ( ES5 )。 由于我现在项目几乎从去年不再用 JS 了, 本人也对 ES5 越来越模糊了。 |
|
77
@hantsy 我倒是觉得 BEM 那套规则太啰嗦了,不过原生 CSS 的维护性确实很差。BEM 可能是目前对这个缺陷进行改进相对靠谱的尝试之一了吧。
|
|
tnaxismdcJul 9, 2017 via Android
78
你可以这么说,因为大多数页面只要掌握布局方法即可。但是前端的范畴很宽泛,做动画也有很多玩法。分享一个桌面端 css 版头动画 live.bilibili.com/hd/election
|
|
r00ttJul 9, 2017
79
@abcbuzhiming 十分赞同
|
|
o0Jul 9, 2017
80
一直以来都是用 css 手写,不要问我为什么,bootstrap 什么的学不会啊
|
|
ssssatanJul 10, 2017
81
html,css,js 不会敢叫前端?
|
|
wuyouzhuguliJul 10, 2017
82
作为后端程序员,在我们这面试 Java 后端开发,Java,MVC 框架,数据库框架,SQL,HTML,CSS,JavaScript,前端框架 bootstrap,easyUI 什么的都要会,
|
|
83
@wuyouzhuguli 只是 css 框架的话其实还好,我认识的不少后端都会用,帖子主要说自定义 UI 时的手写 css。
|
|
iyangyuanJul 10, 2017 via iPhone
85
css 困难的地方在于培养布局观。
一个好的布局观,可以用最清晰最自然的代码表达布局,同时又兼备扩展性、灵活性。 |
|
hantsyJul 10, 2017
86
@tlday
在国内,JS 和 CSS 开发的人常常是一体的, 在一些前端程序员中,我是常听到过说 Bootstrap 之类的框架只适合做后台管理界面,或者是为后台 Java、PHP 程序员准备的 等等, 之类的笑话。 CSS 框架使用其实是必须的,省去了考虑很多常见的页面模式的时间。一般最有效的方法 框架+自定义扩展,这就需要对其 CSS 设计体系有深刻理解,针对自己项目整体风格,具体页面特性,和页面中某些块内容定制自己的 CSS,生成最终的 SCSS (或者 Stylus,Less 等)。 而且我一直认为 CSS 与 写 JS 之类的工作完全不是一个范畴,思维方式完全不一样。而且 CSS 里面的东西不再是 Web 独有,有些是通用概念了,如 Flex Layout(现在几乎所有的 UI 设计都用到,Andrdoi, IOS 也支持这种 Layout),Web Animations。 ---------- 国内都切图出来的 CSS 命名,随手写的人大把,几乎没哪个项目为 CSS 命名定制规范,而且 CSS 设计都是以点为基础考虑(切出来的 CSS 代码乱到无法忍受),很少一开始出来考虑到整个项目全局设计,页面,和块的 CSS 共性。BEM (类似的新型命名规则也有很多)显得有点冗长,但命名有规律,可读性很强,对页面结构了从命名上一目了然。 目前 Google 的 Material Design Lite 是完全遵循 BEM。 |
|
mengzhuoJul 10, 2017
87
CSS 这么简单的东西都不会,就不要叫自己前端了,我一个后端开发都会按着 chrome 提示一步步调优
|
|
VindroidJul 10, 2017
88
一直觉得 css 好难写,很多写完一点都不确信好不好用,还是要不停地试试试
|
|
sucaihuoJul 10, 2017
89
CSS 不太难学吧
|
|
91
@hantsy 我们的想法可能不同,你立足于公司,希望通过合理的分工合作,把专业的事情交给专业的人去做,来最大化团队产出。我则是希望通过降低分工的粒度,解决团队内部交流成本太高的问题,来最大化团队产出。这中间有一个度的问题吧,而且有的时候也取决于你手上有什么样的人可用,不是一个有定式的答案。碰撞出新知吧。
|
|
JarvisTangJul 10, 2017
92
我一个产品经理都会 CSS,前端工程师好意思说不会?
|
|
crashXJul 10, 2017
93
不会 css 叫什么前端,就 js 那点东西随便一个技术栈都能迅速学会。
|
|
haocityJul 10, 2017
94
哭 作为一个既要出设计图 又要写前端的哭瞎.....
|
|
GoBeyondJul 10, 2017 via Android
95
听说现在搞大型 php 项目的不会 composer 都可以了
|
|
bzw875Jul 10, 2017
96
不会 css,就别自称前端开发者
|
|
bibizhangJul 10, 2017
97
易学难精,再说以前设计不都是自己切页面吗?
|
|
xiaojunjorJul 10, 2017
98
是什么给了很多人 CSS 很简单这种想法的。。?
|
|
lollitopJul 10, 2017
99
懂和会还是不一样的,只是会写点 css,感觉自己是个假前端
|
|
heaton_nobuJul 10, 2017
100
那么我也可以做前端了
|