V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
frankkai
V2EX  ›  问与答

不爱写 css 的前端是不是很不合格?

  •  
  •   frankkai · 2018-02-06 11:32:00 +08:00 · 6425 次点击
    这是一个创建于 2478 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天阿里电话一面也是,各种 css 的问题,很无语;实际写项目的时候也是,要高度还原设计稿,布局,边距,颜色,字体等等,感觉好没意思。

    我自己对 js 或者说稍微偏向于逻辑处理的部分比较感兴趣,可能也是因为现在部门也可能是自己所学专业的关系,自己对数据或者说后端的种种比较感兴趣,比较喜欢往底层钻,我是不是应该考虑换个工作方向了?还是说可以去做那种组件设计,状态树设计之类前端?

    56 条回复    2018-12-15 07:53:30 +08:00
    lwbjing
        1
    lwbjing  
       2018-02-06 11:34:58 +08:00
    看你投的岗位吧,偏向切图的,就 css 问题多,如果是 js 开发的,问你再多的 css 也问不出啥啊。。
    learnshare
        2
    learnshare  
       2018-02-06 11:36:57 +08:00
    写 Node 后端去
    maemual
        3
    maemual  
       2018-02-06 11:46:34 +08:00
    那就转后端咯。。。
    throns
        4
    throns  
       2018-02-06 12:06:23 +08:00 via iPhone
    转后端吧,写 Node 挺好玩的
    frankkai
        5
    frankkai  
    OP
       2018-02-06 12:28:44 +08:00
    @throns @maemual @learnshare
    我也觉得 Node 更有意思的些 可以直接玩 IO,Network,OS,DB,安全这些
    hanzichi
        6
    hanzichi  
       2018-02-06 12:30:12 +08:00
    我跟楼主差不多,也不喜欢写 css,所以找不到特别好的工作,楼主要引以为戒 ...
    frankkai
        7
    frankkai  
    OP
       2018-02-06 12:30:27 +08:00
    @lwbjing 也是的,和部门和岗位职责关系也蛮大的
    frankkai
        8
    frankkai  
    OP
       2018-02-06 12:34:37 +08:00
    @hanzichi 以前感觉薪资很重要,现在感觉干得开心才重要,不过感觉 node 在国内的环境不是很好,之前听了一次大搜车芋头大大的分享,说大搜车有一个 node 团队,不过这个 node 团队,10 人左右,不过是为了反哺前端开发的...
    hanzichi
        9
    hanzichi  
       2018-02-06 12:36:50 +08:00
    @frankkai 都重要啊,等你有了房贷有了孩子就知道了。。当然如果家里有钱另当别论,不然杭州这房价,,,哎。。

    你这想法就是我两年前的想法,一模一样
    wukongkong
        10
    wukongkong  
       2018-02-06 12:44:39 +08:00 via Android
    css 多好玩啊,看看 scss,不会的就去别人的框架抄,然后组合成自己常用的代码库,感觉特有意思
    frankkai
        11
    frankkai  
    OP
       2018-02-06 12:49:24 +08:00
    @hanzichi 遇到年轻时候的自己了 哈哈哈哈哈

    我不慌,因为没女朋友,一个人吃饱全家不饿(悲伤逆流成河

    唉,生活真的是不如诗啊
    frankkai
        12
    frankkai  
    OP
       2018-02-06 12:51:45 +08:00
    @wukongkong 前端变化太快了,现在感觉多学知识比学工具来的实在
    123s
        13
    123s  
       2018-02-06 12:55:46 +08:00
    有哪个人喜欢写 css?
    newbieo0O
        14
    newbieo0O  
       2018-02-06 13:07:37 +08:00
    @123s 我挺喜欢的。而已还很熟练
    123s
        15
    123s  
       2018-02-06 13:18:21 +08:00
    @newbieo0O 为何你这么熟练
    tvallday
        16
    tvallday  
       2018-02-06 13:21:48 +08:00 via Android
    CSS 感觉没有成就感,做着做着就到头了。做到要求的 90%和 100%没有太明显区别。不像其他的编程出了 bug 影响正常使用。如果做自己的东西学着做一下没问题的,打工的话就比较闷。
    frankkai
        17
    frankkai  
    OP
       2018-02-06 13:21:59 +08:00
    @123s 别别别 不要这么极端
    我不爱写并不代表我说 css 不好 最近我做了一个滚动弹幕就是用 css3 的 animation 做的
    css 尤其是 css3 可以解决太多痛点 比如 flex,animation 这种,js 实现起来很麻烦
    只是 css 和 js 比较起来,我更偏向逻辑方面
    frankkai
        18
    frankkai  
    OP
       2018-02-06 13:27:05 +08:00
    @tvallday 是的,尤其是用户体验方面的微小的改动,真心让人觉得没劲,扫码收费和提刀砍人的那几张图不是没缘由的,虽然说用户体验会涉及性能优化的东西,也会考虑到底层,但是总体感觉不好玩
    scarletmu
        19
    scarletmu  
       2018-02-06 14:03:25 +08:00
    我倒是从后往前摸一点的...做了 Node 之后经常也会做前后端一起开发的项目,也不是太喜欢写 CSS,感觉处理逻辑比捣腾布局好玩 2333。所以极度依赖 flexbox 这种懒人用的东西
    CDL
        20
    CDL  
       2018-02-06 14:07:21 +08:00
    js 有各种工具帮你解决兼容问题,然鹅 css 的兼容性问题...
    frankkai
        21
    frankkai  
    OP
       2018-02-06 15:34:15 +08:00
    @scarletmu 哈哈 每个人的故事都是这么不同 不过 flexbox 兼容性还是有问题的 前几天就遇到一个移动端不支持 justify-conten 的问题,最后用怪异盒模型和透明 border 替代的...我后端不懂的太多了 也就自己瞎折腾折腾 感觉为了生活还是要写一段时间的 css
    frankkai
        22
    frankkai  
    OP
       2018-02-06 15:51:19 +08:00
    @CDL 昨天了解到一个新概念 CSS extensions,刷新三观: https://segmentfault.com/a/1190000013169079
    whypool
        23
    whypool  
       2018-02-06 16:24:39 +08:00
    css 确实头疼,特别是兼容问题
    ymcz852
        24
    ymcz852  
       2018-02-06 17:04:31 +08:00
    不爱上班的员工是不是不合格的员工..哈哈,问得逻辑感觉不太对
    jin5354
        25
    jin5354  
       2018-02-06 17:29:53 +08:00   ❤️ 1
    是的,前端就是一半视觉工作一半逻辑工作,干一行爱一行,如果受不了视觉工作趁早转行去后端,不然确实成不了合格的前端工程师
    个人认为 css 还是有很多可玩点的,不要目空一切,往高级说 Grid、滤镜、动画,往底层说排版原理,line box,就一个 vertical-align 的各个值的含义有几个人能说清楚?再往远说 svg,canvas,dc,d3,webgl,都是视觉工作的利器,也是前端的核心竞争力之一,对视觉没兴趣等于断自己一半功力,何必呆在前端坑。
    (转行还是直接去做 java、python、go 去吧,node 没前途的)
    michaelC
        26
    michaelC  
       2018-02-06 17:33:40 +08:00
    爱不爱不是一个决定你是不是一个合格的前端的点,会不会才是。
    chenno9
        27
    chenno9  
       2018-02-06 17:45:21 +08:00
    推荐你们看一下《 CSS 揭秘》这本书
    CocaColf
        28
    CocaColf  
       2018-02-06 21:08:56 +08:00 via iPhone
    我也是不太爱写 css,对数据和逻辑更喜欢
    frankkai
        29
    frankkai  
    OP
       2018-02-06 21:31:12 +08:00
    @jin5354 svg,canvas,dc,d3,webgl 这些涉及到的是计算机图形学,而不是视觉,其实现以图形学知识+语言为主,最底层会涉及到 GPU,和我们这里说的 css 布局视觉不是一个层面的吧,难道 css 布局也属于计算机图形学?
    frankkai
        30
    frankkai  
    OP
       2018-02-06 21:32:18 +08:00
    @michaelC 是的,也有一部分自己没有彻底理解 css 的原因
    RaymondYip
        31
    RaymondYip  
       2018-02-06 23:38:45 +08:00
    现在不太爱写 比较想写 nodejs 后台 哈哈
    secondwtq
        32
    secondwtq  
       2018-02-07 00:01:23 +08:00 via iPhone
    node 的位置其实有点尴尬。


    如果从技术的角度考虑的话,还是离 前端 这个 title 远一点吧,这个东西和楼主的方向是矛盾的。
    kimown
        33
    kimown  
       2018-02-07 07:18:08 +08:00 via Android
    我也是,然后面试挂了,到不怎么可惜,个人喜欢钻研的方向不一样,而且 nodejs 还没有成为共识,上一代的开发还是抵触这种 bundle 后执行的开发方式的,总是拿基础要学好做借口,可惜现在前端光是熟练掌握一种框架和背后生态圈已经要花费很多时间了
    lanbos
        34
    lanbos  
       2018-02-07 07:36:05 +08:00 via Android
    等你开发过 JS 游戏,或者开发过 iOS 或 Android 你会无比怀念 css。。。
    rupert
        35
    rupert  
       2018-02-07 08:18:25 +08:00 via iPhone
    @lanbos 哈哈哈至少 css 反馈特别快
    HeyWeGo
        36
    HeyWeGo  
       2018-02-07 08:45:08 +08:00
    建议楼主 转行后端,不然抱着这种心态,估计没那个耐心去注意页面细节,对于讲究的产品或者设计来说,这种心态对双方都不好。
    frankkai
        37
    frankkai  
    OP
       2018-02-07 09:04:45 +08:00
    @HeyWeGo 很走心的建议,3Q
    frankkai
        38
    frankkai  
    OP
       2018-02-07 09:17:23 +08:00
    @kimown 是的,不觉得怎么可惜,倒是通过这次面试发现了自己喜欢钻研的方向。熟练一种框架是真的很困难,想真正搞清楚首先要基础扎实,然后还要实践加读源码,时间成本确实挺高的,而且更新换代还快,开发理念也在不断进步,所以我现在越来越觉得要学的是知识,而不是工具
    abcbuzhiming
        39
    abcbuzhiming  
       2018-02-07 10:26:53 +08:00
    @frankkai CSS 作为前端的核心内容,其基本思想和设计理念其实没有太大变化,只是很多人,包括很多做前端的,你深究一下 CSS 它就懵逼了,平时根本没认真研究过
    frankkai
        40
    frankkai  
    OP
       2018-02-07 11:01:57 +08:00
    @abcbuzhiming 是的,想把 CSS3 用好真心很难,包括 HTML5 一样,会用简单,用好很难,因为如果不把 MDN 上的对应文档过一遍,或者是不把某个知识点在 CSS3 规范和 HTML5 规范中的详细定义搞清楚,真的只能靠实践经验,包括我自己也一样,全凭眼睛和经验,但是 JS 我会深入到规范里去
    rashawn
        41
    rashawn  
       2018-02-07 12:39:41 +08:00 via iPhone
    我也是 公司不让我写页面 所以页面写的不熟 速度慢 除了后端楼主可以看看 webgl 跟 css 相关的部分很少
    davin
        42
    davin  
       2018-02-07 13:37:29 +08:00
    感觉 CSS 比较好玩,js 相当弱一些,跟 LZ 相反(手动 doge 脸)
    frankkai
        43
    frankkai  
    OP
       2018-02-07 14:02:44 +08:00
    @rashawn webgl 确实蛮有意思的,上次去 D2 也领了本 webgl 的书,感觉进入了一个全新的领域,可视化方面的不少问题是和数学相关的,这个方向挺不错
    jin5354
        44
    jin5354  
       2018-02-07 18:11:06 +08:00   ❤️ 1
    @frankkai 实际情况是,前端领域内的 svg,canvas,d3,three.js 很难涉及到计算机图形学的范畴,即使是你看到的非常非常酷炫的活动页,3D 地球,各种漂亮动画的图表,也基本是翻翻文档,调一调 API 就能写出来,做这些东西的真正难点在于对美术、设计和创意的高要求,不太需要图形学理论知识。只有当你深入到需要手写着色器时才需要图形学的知识,如光线追踪等等,而当你真的开始写 GLSL 的时候,你已经一只脚踏入游戏引擎开发的范围了。
    jin5354
        45
    jin5354  
       2018-02-07 18:17:06 +08:00
    @frankkai 框架理论是相通的,前端界正在收敛,你看现在 vue 组件和 react 组件都快打通了;研究框架还是很有意思的,而且当你宏观上理清设计理念之后,之后就不会花太多时间了
    rashawn
        46
    rashawn  
       2018-02-07 19:47:07 +08:00 via iPhone   ❤️ 1
    @frankkai 主要是做效果跟数学有关 做功能的话关系不大

    主要前端三维在商业化中占比很少 游戏 商品展示 代替 svg 做数据展示和网页效果 算是能投入商业的 其他的基本都是 demo 类别的
    connection
        47
    connection  
       2018-02-07 21:36:39 +08:00
    喜欢 js 也喜欢 css,但是很少写 css。写 css 有种惧怕~~
    在克服同时也在努力 ^_^
    frankkai
        48
    frankkai  
    OP
       2018-02-08 14:13:39 +08:00
    @rashawn 是的 感觉现在最多的就是二维的大屏数据可视化 三维的场景在游戏中更多一点,但是感觉开发游戏难度比较高
    frankkai
        49
    frankkai  
    OP
       2018-02-08 14:15:05 +08:00
    @connection 我也有这种惧怕,惧怕来源于没有彻底搞懂
    connection
        50
    connection  
       2018-02-08 17:47:38 +08:00
    @frankkai 是啊。知其然而不知其所以然。而且如何用的更精准。这也是个不小的问题
    wisetc
        51
    wisetc  
       2018-02-09 13:30:32 +08:00
    写 css 很烦,要测量距离,测量颜色,要代码和页面窗口切换,要做适配,要 hack,结果不能精准推演预测。
    frankkai
        52
    frankkai  
    OP
       2018-02-09 13:39:15 +08:00
    手机验证出问题,APPEND 不成功,在评论里更新一下:
    V 友们的建议很受用,一些前端方面的独到的见解也很 nice,也建议我转后端或者去探索 webgl 的世界,但是短期来说我还是会从事前端开发这个重视交互和用户体验的工作,所以我决定去集中精力把 css 拿下
    frankkai
        53
    frankkai  
    OP
       2018-02-09 13:39:30 +08:00
    看到一个 demo,颠覆对 css 的认知,没想到 css 竟然能如此强大:[纯 css 实现的一个美女]( https://codepen.io/WhitePallet/pen/opEyjy)
    frankkai
        54
    frankkai  
    OP
       2018-02-09 13:39:44 +08:00
    也发现一本好书:张鑫旭的《 css 世界》,附上其中一段说到我痛点的话,也希望给那些用理工科思维去解决 css 的问题的前端 V 友们带来一些新的认知:
    >擅长 C++或者 Java 之类的程序员学习 CSS 往往没有如鱼得水的感觉,其背后的原因是,典型的计算机开发语言看重逻辑思维和抽象能力,但是 CSS 这门语言本身并无逻辑可言,看重的是特性间的相互联系和具象能力。
    具象往往以情感为纽带,无意识不自觉产生,是非常感性的一种能力,这往往是偏理性的程序员所不擅长的。在某些程序员眼中,CSS 属性就是干巴巴的属性,无法建立类似“人与人关系”这种很情感化的联系,于是学习 CSS 总是只得其形、不得其髓。
    frankkai
        55
    frankkai  
    OP
       2018-02-09 13:40:37 +08:00
    @wisetc 张鑫旭的《 CSS 世界》不错,CSS 需要一些感性的思考
    IamMM
        56
    IamMM  
       2018-12-15 07:53:30 +08:00   ❤️ 1
    不想写就不写 公司逼你写就离职 我就是这样 难不成还要逼自己 信了那句鬼话 爱拼才会赢 首先强迫自己完成某个特效或者完成某个浏览器的兼容性问题 会让自己越来越厌倦前端这个工作 爱屋及乌 你只是对 css 切图或者写 css3 特效厌倦 对 js 一些逻辑性的工作并不厌倦 直接跳 python java 肯定不行的 我提个建议 往 node.js 上转 你这个不是个例 很多大厂的前端尤其是计算机专业出身的都有这个心理 他们都是一致的去学 node.js 去写中间件去写全栈 前端写页面的多还是写全栈的多 我都写全栈了 你还他妈让我写特效 再招个专门写动画的 或者找个 css3 比较好的外包吧 事实就是这样 你 node.js 水平高的话是可以深入某个业务的 再转 python 或者其他 java 也方便一点 坚持下去的话架构师或者创业也不是不可能 css 精通能做架构或者创业吗 !!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1742 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:44 · PVG 00:44 · LAX 08:44 · JFK 11:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.