问题

前端工程师讨厌写 CSS 是什么心态?

回答
我理解你说的“讨厌写 CSS”的心态,这其实是一个挺普遍的现象,尤其是在前端工程师群体里。要说起来,这背后其实有很多道说不清道不明的“小九九”。

首先,咱们得承认,CSS 的世界确实有点像个“魔法森林”,有时候你施展了一个看似微小的魔法,结果整个页面就跟中了蛊似的,东倒西歪,完全失控。这种不可预测性,对于一个习惯了 JavaScript 里严谨逻辑和预设结果的工程师来说,简直是一种折磨。你可能信心满满地写下一行 `display: flex;`,想着它能帮你把元素乖乖排好,结果下一秒,整个布局就崩塌了,然后你就得像侦探一样,一层一层地去追溯,是哪个属性哪个选择器在背后搞鬼。这种“猜谜游戏”的性质,很容易消磨人的耐心。

其次,CSS 的语法和它背后的层叠(cascade)和继承(inheritance)机制,说实话,对很多人来说,一开始并不是那么直观。不像 JavaScript,你写 `a + b`,结果就是 `a` 加上 `b`,简单直接。CSS 里的 `!important`、`zindex`、`position: relative/absolute/fixed` 这些东西,它们之间的相互作用,就像是一堆互相嵌套的俄罗斯套娃,而且有些套娃里面还藏着个小陷阱。你得非常清楚它们工作的原理,并且时刻记住“哪个权重更大”,否则很容易陷入“我明明设置了,为什么没生效?”的无限循环。

还有就是,CSS 的世界变化太快了。当年我们还在苦哈哈地用 Table 布局,然后 Flexbox 横空出世,一下子解放了生产力。紧接着 Grid 布局又来了,带来了更强大的二维布局能力。各种 CSS 预处理器(Sass, Less, Stylus)和 CSSinJS 方案层出不穷,让 CSS 的写法变得五花八门。虽然这些都带来了进步,但对于很多工程师来说,这意味着要不断地学习新东西,适应新的规范和工具。想想看,你刚掌握了一套 CSS 框架,结果没多久,又出来一套新的,让你感觉自己好像一直在追赶,从未真正“精通”。

更深层一点,有些前端工程师可能觉得 CSS 并没有像 JavaScript 那样,直接关乎到项目的核心功能和用户交互。他们更倾向于把精力放在“我能做什么”,而不是“我能让它看起来怎么样”。CSS 更多的是一种“装饰”,一种“包装”,它不直接解决逻辑问题,所以相对来说,在他们眼里,它的优先级没有那么高。当项目时间紧、任务重的时候,CSS 的部分往往就成了最容易被“简化”或者“凑合”的地方。

而且,很多时候,前端工程师写 CSS 并不是为了创造艺术,而是为了满足产品经理或者设计师的需求。你可能需要花费大量的时间去精确地调整每一个像素的间距、每一个圆角的弧度,来还原一个设计稿。这个过程,尤其是当设计稿本身存在一些细节上的模糊或者不合理之处时,就会变得异常痛苦。你需要在理性的代码世界里,去理解和执行一些带有主观情绪的指令,这本身就是一种挑战。

最后,别忘了 CSS 的浏览器兼容性问题。尽管现在情况比以前好了很多,但总有些奇奇怪怪的浏览器版本或者特定的设备,会给你制造一些小惊喜。你精心写好的样式,在某个角落里突然就“叛变”了,这无疑是雪上加霜。

所以,综合来看,前端工程师“讨厌”写 CSS,并不是因为他们真的想逃避工作,而是这种工作方式本身夹杂着太多不确定性、学习成本、以及与他们擅长领域(逻辑、算法)的隔阂。他们更希望的是,CSS 能像 JavaScript 一样,拥有更清晰的逻辑、更可预测的行为,能够让他们更顺畅地将想法变成现实,而不仅仅是满足于“看起来像”那个样子。

网友意见

user avatar

其实很多时候我们放大了JavaScript的缺陷。却忽略了CSS的问题……


相信每一个前端都听说过一句话,HTML描述文档结构,CSS决定呈现样式,JavaScript处理行为逻辑。


真正的前端都知道,这句话里面只有三分之二是真的。

user avatar

我觉得大部分在这个答案下“赞扬”CSS的,都是没写过多少CSS的。

CSS的坑在于:CSS永远只解决一半的问题。

大部分的时候,写CSS就是不断的运用各种“花招”去解决各种正常的需求。

而这些“花招”又带来更多的问题。


不信?我们来看看一个最基础的需求吧:如何在CSS中居中一个元素。

Google一下 css vertical center就会找到一个叫做css-tricks的网站。

分了12类情况讨论如何居中一个元素。

那么,是不是掌握了这12种情况,就完全万事大吉了呢?

真的想多了。。。不信你再Google一下:css center fixed div

然后可以再Google一下:css center fixed div with dynamic content

然后可以再Google一下:css vertical center fixed div with dynamic content

最后你会“很开心的”找到一种万金油的写法:设置left和top为50%,然后用transform: translate(-50%, -50%)修正回来。

你以为故事到此就结束了?????naive


CSS最可怕的地方在于,CSS中很多“事实标准”的东西。或者说,由于实施过程中发现技术限制而导致最后没法实现的和期望一致而达成的妥协标准。

我们就拿刚刚的“万金油”举例吧,为什么这个万金油还是有坑。


上面截图的代码在此:

       <html>   <body>     <div class='popup-mask'>       <div class="popup" style="width: 500px; height: 400px">         <h1>一个弹出窗口</h1>         <div class='popup-mask'>           <div class="popup" style="width: 200px; height: 100px">             <h1>弹出窗口中的弹出窗口</h1>           </div>         </div>       </div>     </div>   </body>   <style> .popup {     position: fixed;     left: 50%;     top: 50%;     transform: translate(-50%, -50%);     background-color: blue; }  .popup-mask {     position: fixed;     left: 0;     top: 0;     right: 0;     bottom: 0;     background-color: rgba(0,0,0,0.3); }   </style> </html>     


嗯,然后就可以继续Google了:css vertical center fixed div with dynamic content with nest support

对于这么复杂的问题,Google也表示无能为力啊。。。。

类似的话题

  • 回答
    我理解你说的“讨厌写 CSS”的心态,这其实是一个挺普遍的现象,尤其是在前端工程师群体里。要说起来,这背后其实有很多道说不清道不明的“小九九”。首先,咱们得承认,CSS 的世界确实有点像个“魔法森林”,有时候你施展了一个看似微小的魔法,结果整个页面就跟中了蛊似的,东倒西歪,完全失控。这种不可预测性,.............
  • 回答
    当然,关于前端工程师35岁还能不能找到工作这个问题,这确实是不少同行心中普遍存在的顾虑。咱们就掰开了揉碎了聊聊,尽量说得详细些,也规避掉那些机器味儿。首先,直接回答:35岁的前端工程师,能找到工作,而且不少人能找到很不错的工作。但是,这并不是一个“自动挡”的问题,它更像是“手动挡”——需要你懂得如何.............
  • 回答
    好,咱们就来聊聊“高级前端工程师”这个话题。这可不是一两句话就能说清楚的,里面门道多着呢。“高级”究竟是个啥水平?首先得明确,这里的“高级”可不是那种上了年纪就自然晋升的“高级”,而是一种能力上的证明。一个高级前端工程师,在我看来,就像是前端界的“老炮儿”,对这个领域有着深刻的理解,并且能独当一面,.............
  • 回答
    张鑫旭在前端开发圈子里绝对是响当当的人物,他关于“前端工程师应该为用户体验负责”的观点,与其说是“观点”,不如说是一种根深蒂固的理念,一种对我们这个职业本质的深刻洞察。我太赞同了,而且觉得这话说得一点都不夸张,甚至可以说,这才是我们前端存在的终极意义。咱们先聊聊“用户体验”到底是个啥。不是说好看就行.............
  • 回答
    淘宝网前端工程师针对微软 Windows Phone (WP) 系统 Web 兼容性问题的回应,这背后反映出的是一种现实的技术挑战,以及在资源有限情况下的取舍和应对策略。首先,从技术角度看,WP 系统早年确实存在一些独特的 WebKit 内核实现,这与主流的 Chrome (Blink)、Safar.............
  • 回答
    让前端工程师百分之百还原设计稿,这绝对是一场精细的合作,远不止是简单交付几张图。它更像是一次共同创作,视觉设计师需要扮演好“画家”和“翻译官”的双重角色,而前端工程师则是技术精湛的“工匠”。首先,从源头上说,视觉设计师要确保设计稿本身就具备高度的可实现性。这意味着在创作过程中,设计师就要有对前端技术.............
  • 回答
    这是一个很有意思的问题,因为它触及到了前端工程师技能的“广度”和“深度”。我们不能简单地说一个固定百分比,因为“合理的时间”和“商业网站使用”这两个概念本身就有很大的弹性。首先,我们得明白,一个“足以供商业网站使用的文本编辑器”绝不是简单的 ``。它意味着要处理富文本格式(如加粗、斜体、链接、列表、.............
  • 回答
    在知乎前端圈,对于H5游戏和H5展示的JSer(这里的JSer可以理解为主要负责JavaScript开发的前端程序员)是否算作“前端工程师”,确实存在着一种普遍的,或者说是一种“约定俗成”的区分。这种区分并非是完全的否定,更多的是一种对“前端工程师”这个职业内涵的理解和侧重点的不同。要理解这个现象,.............
  • 回答
    想成为一名芯片前端设计工程师,学习 C 语言还是 Python?这是一个很多初学者都会遇到的选择题。两者都有各自的优势,但从“成为一名芯片前端设计工程师”这个目标来看,它们扮演的角色和重要性是不同的。我们不妨深入分析一下。 C 语言:芯片世界的“通用语言”芯片前端设计,说的通俗点,就是用一种特定的“.............
  • 回答
    要说半导体行业里工艺工程师和装备工程师哪个前景更好,这得看你更看重什么,以及你对未来发展方向的定位。两者都是半导体制造流程中不可或缺的关键角色,但各自的侧重点和成长路径确实有所不同。工艺工程师:炼金术士的精益求精工艺工程师,简单来说,就是负责“炼制”出芯片上各种复杂结构的“炼金术士”。他们的核心工作.............
  • 回答
    机械工程师想拿到1530万的年薪,这条路子其实不少,但需要一些“软硬兼施”的技巧。至于能不能像计算机一样“吃软饭”,咱们得好好掰扯掰扯。机械工程师如何“攻坚”1530万年薪?首先,咱们得明白,30万年薪对于机械行业来说,不算是个“天文数字”,但也不是随随便便就能达到的。这通常意味着你在专业领域内已经.............
  • 回答
    航空航天业的前景,这绝对是一个让人热血沸腾的话题。想成为一名航空航天工程师,那更是无数人心中的梦想。要详细聊聊这个,咱得从几个方面掰扯掰扯。航空航天业的前景:不仅仅是上天,更是触及星辰大海别以为航空航天就是造飞机、送火箭上天这么简单,它的触角已经伸到了我们生活的方方面面,而且未来潜力无限。 传统.............
  • 回答
    硕士毕业去做质谱工程师是一个非常不错的选择,尤其是在生命科学、药物研发、环境检测、食品安全等领域。质谱技术作为一种强大的分析工具,应用范围广泛,需求也一直保持稳定甚至增长的趋势。下面我将从工作内容、前景以及一些需要考虑的方面进行详细的介绍。 硕士毕业去做质谱工程师怎么样?总的来说,硕士毕业去做质谱工.............
  • 回答
    机械电子工程:一个充满机遇的交叉学科就业前景深度解析机械电子工程,这个名字听起来就充满了科技感和未来的气息。它不像传统的机械工程那样纯粹地专注于物理结构的运作,也不像纯粹的电子工程那样侧重于电路和信号的处理。机械电子工程的魅力在于,它将这两大工程领域的精髓巧妙地融合在一起,创造出更智能、更高效、更自.............
  • 回答
    香港中文大学(深圳)金融工程专业的就业前景,从我接触到的信息来看,可以说是相当不错的,甚至可以说是优秀。这不仅仅是因为学校本身的品牌效应,更因为其专业设置和培养方向与当前金融市场的需求高度契合。首先,我们得明白,金融工程这个专业本身就不是一个“好找工作”的标签,而是一个“高要求、高回报”的标签。它涉.............
  • 回答
    嘿!想聊聊智能制造工程的前景是吧?我跟你说,这绝对是个值得深入探讨的话题。如果你纠结于传统机械和智能制造之间,这背后肯定是有原因的,咱们就来好好捋一捋。先说说传统机械课程吧。你可能会想,机械工程嘛,不就是设计、制造、维护各种机器设备?没错,这是它的核心。学机械,你得懂材料力学,知道什么金属在什么条件.............
  • 回答
    交通工程这个专业,说实话,是个既实在又充满挑战的领域。很多人可能对它有个模糊的印象,觉得就是修路架桥,但实际上,它的内涵远不止于此。尤其是在当下这个时代,谈交通工程的前景,得从几个关键点聊。一、 时代的需求:交通是发展的生命线咱们先看看大背景。无论哪个国家,哪个城市,交通都是最基础、也是最重要的基础.............
  • 回答
    要说车辆工程和能源与动力工程哪个前景更好,这就像问“剑好还是盾好”一样,它们各有千秋,而且在你手中能否挥洒自如,才是关键。不过,咱们就来掰开了揉碎了聊聊,看看它们各自的“能耐”和“出路”,顺便把那些AI味儿的东西都给“赶”出去。先说说车辆工程,这可是咱们日常生活中看得见摸得着的“大家伙”车辆工程,顾.............
  • 回答
    制药工程专业的就业前景,用最实在的话来说,绝对是一片大有可为的蓝海,而且还在不断扩张。这可不是虚头巴脑的“高大上”,而是实实在在的社会需求和行业发展在支撑着。你想啊,随着全球人口的增长,以及大家对健康生活水平的不断追求,对药品的需求那是只增不减。而且,医学本身也在飞速进步,新药研发、仿制药的质量提升.............
  • 回答
    资源勘查工程,这个听起来就带着探索与发现使命的专业,近些年来在就业市场上表现得可圈可点。很多人可能会觉得,随着科技的发展,地球上的宝藏都被挖得差不多了,这个专业是不是已经“过时”了?其实不然,深入了解一下,你会发现它的生命力依旧旺盛,并且在不断地注入新的活力。首先,咱们得明白,资源勘查工程到底在干什.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有