为什么Web开发人员在2020年不用最新的CSS功能
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
原文出处:https://dzone.com/articles/why-masses-are-not-using-latest-css-features-in-20
尽管CSS每年都会发布全新的特性,但实际上这些新功能很少会被web开发人员实际在生产项目中使用到,甚至去了解它们的动力也不会比去多完成几个需求更多。那究竟是什么原因导致的呢?
1.使用最新特性不是优先事项
在一个新项目的初期阶段,它用到的可能只是几条CSS规则,但随着项目的持续更新和迭代,项目中使用到的规则就会变得越来越复杂,CSS也会越来越复杂尺寸也会随之不断膨胀。因此,作为项目优化的第一要务,作为资源的CSS需要尽可能的精简和减少复杂度,第一是为了便于更好地理解和维护,第二也是为了加载更为高效。那么,更实用且可投入生产环境的一些CSS特性会被高频使用,其他的特性则会被暂时搁置一旁。
并且,在一般情况下,样式和品牌在一段时间内都会相对固定,完成任务的需求要比使用最新CSS的特性要更紧迫。

(图片来源于网络)
2.预算限制
预算成本是影响了所有项目的主要因素。它在开发阶段会高度影响事项的优先级。集成新的CSS功能需要时间,而开发团队来说,增加的这部分时间成本会影响到项目的整体进度。因此,开发进度会重视在优化其他功能(而不是CSS功能)时花费的时间成本。
另外,引入了最新的CSS特性,还可能会使开发团队把一部分精力放在解决浏览器兼容性问题上。这点和JavaScript不同,JavaScript有Babel来完成编译,而CSS没有提供类似功能。

(图片来源于网络)
3.社区发展还未跟上
JavaScript每隔一段时间举行一次会议。同样,Vue和React也会为了帮助开发人员跟上社区的步伐而定期举行会议。但是,对于CSS而言,它们根本没有这样的活动!因此,开发人员很难掌握其功能和路线图。他们应该如何保持对新功能发展趋势的了解? 没有版本发布说明,也没有定期的发布会,这根本不能点燃社区用户的学习激情。
对普通用户而言,既然旧的技术已经满足了需求,那么又何必那么麻烦阅读文档学习新的功能呢?
和框架和其他编程语言不同,CSS没有针对安全问题的补丁程序。他只是一套标准,反正大多数客户只需要关心网站看起来UI差不多就行了。
4.很难提升简历的含金量
即使你在掌握CSS方面付出了很多的努力,对CSS的新特性也了如指掌,但你也很难向你的客户或老板证明这一点,因为类似像这样“熟练掌握CSS3以外的CSS特性”对他人而讲是没有意义的,因为它不是CSS3。在CSS开发领域,CSS3的出现是很有意义的,因为它完成了前端领域的统一:
- Web开发人员提升了技能
- 加速浏览器厂商统一支持了全新的CSS标准
- 企业的技术栈更新
巨大的需求带来了巨大的机会。除了大量的书籍、课程和视频来帮助人们了解CSS3外,还催生了全新的布局模型,如Flexbox和Grid,尽管它们不是CSS3的一部分。
但这里我们指的是CSS3外的特性,它们本身除了认可程度很低外,对开发团队来讲也是个相对不熟悉的东西,因此,开发团队很难会把时间花在对市场没有意义的事情上,客户也不会关心你到底用不用新的技术。
5.缺乏时间
编写CSS的主要目的是使你的网站的表现内容的形式更美观及易于理解。CSS通过控制两类事物来帮助开发人员去实现这个目标:布局和设计。布局(Layout)负责元素列和行排布,而设计(design)指颜色、字体、间距、动画和边框等基础外观。
但目前,旧的特性已经能处理的很好了,为什么要花更多时间去使用新特性去替代已经很好的形式呢?
总结
CSS发布周期没有固定的周期和计划,导致一切都来的很突然 ,另外旧的CSS特性已经能很好的完成日常工作了,这让很多Web开发人员没有特别的动力去升级它们。
另外,新的特性知名度也不高,对最终用户的吸引力也不足,很难从需求层面驱动使用。所以这就是为什么都2020年了,CSS的新特性仍然使用的人较少的原因。
为什么Web开发人员在2020年不用最新的CSS功能的更多相关文章
- Web开发人员必读的12个网站
The more you actually create, the more you’ll learn.(创造的越多,学习的越多),世界上有无数个开发人员会在网上分享他们的开发经验,我们无法向所有人学 ...
- 成为一个高效的web开发人员,只需要三步
想成为一名专业的web开发人员并不像你想象的那么容易,开发人员在开发自己的web项目时常常需要牢记很多东西,他们要不断寻找新理念,新创意,在特定时间内开发出高质量的产品,一名优秀的程序员必须明白时间的 ...
- 【特别推荐】Web 开发人员必备的经典 HTML5 教程
对于我来说,Web 前端开发是最酷的职业之一,因为你可以用新的技术发挥,创造出一些惊人的东西.唯一的问题是,你需要跟上这个领域的发展脚步,因此,你必须不断的学习,不断的前进.本文将分享能够帮助您快速掌 ...
- 值得 Web 开发人员学习的20个 jQuery 实例教程
这篇文章挑选了20个优秀的 jQuery 实例教程,这些 jQuery 教程将帮助你把你的网站提升到一个更高的水平.其中,既有网站中常用功能的的解决方案,也有极具吸引力的亮点功能的实现方法,相信通过对 ...
- Web 开发人员不能错过的 jQuery 教程和案例
jQuery 把惊喜延续到设计领域,处处带来极大的灵活性,创造了许多体验良好的设计,而且拥有不错的性能.这里分享一组 Web 开发人员不能错过的 jQuery 教程和案例,帮助你更好的掌握 jQuer ...
- Web 开发人员必备的12款 Chrome 扩展程序
之前已经分享过一些帮助 Web 开发人员和设计师的 Chrome 扩展,这次我们继续展示一组很有用的 Chrome 应用程序.这些免费的 Chrome 应用程序可以简化您的工作流程,为了加快您的工作流 ...
- 值得 Web 开发人员收藏的20个 HTML5 实例教程
当开始学习如何创建 Web 应用程序或网站的时候,最流行的建议之一就是阅读教程,并付诸实践.也有大量的 Web 开发的书,但光有理论没有实际行动是无用的.现在由于网络的发展,我们有很多的工具可以用于创 ...
- 值得 Web 开发人员收藏的16款 HTML5 工具
HTML5 正在迅速改变创建和管理网站的方式.HTML5 在不同的领域让网页设计更强大的.快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5 开发各种网站和应用程序. ...
- SlimerJS – Web开发人员可编写 JS 控制的浏览器
SlimerJS 是一个提供给 Web 开发人员,可通过脚本编程控制的浏览器.它可以让你使用 Javascript 脚本操纵一个网页:打开一个网页,点击链接,修改的内容等,这对于做功能测试,页面自动机 ...
随机推荐
- 【转发】基本adbui命令使用 可做图像识别
原文请参考,很详细:hao1032/adbui 非常详细,感谢整理!!首先了解下 adb命令大全,adb最全的命令
- python - 怎样使用 requests 模块发送http请求
最近在学python自动化,怎样用python发起一个http请求呢? 通过了解 request 模块可以帮助我们发起http请求 步骤: 1.首先import 下 request 模块 2.然后看请 ...
- Python的元类简单介绍
* 类型 和类 在Python中,一切都是对象.类也是对象.所以一个类必须有一个类型 注意: 1.type Python3中所有的类都是通过type来创建出来的 2.object:Python3中所有 ...
- 《Head First 设计模式》:策略模式
正文 一.定义 策略模式定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户. 要点: 策略模式把系统中会变化的部分抽出来封装. 二.实现步骤 1.创建策略接口 ...
- Sniffer截包工具的使用
Sniffer软件的安装 sniffer需要在xp或者win2003环境下才能正常运行,如果没有这两个系统,可以安装虚拟机,在虚拟机上使用sniffer.如果没有这两个系统就会出现找不到网卡或者打不开 ...
- 2003 can't connect to mysql server
在电脑中打开 计算机管理 点击 服务与应用程序 点击 服务 右侧找到 mysql 右键启动
- (Java实现) 洛谷 P1200 你的飞碟在这儿
题目描述 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支持者.因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走 ...
- Java实现 LeetCode 649 Dota2 参议院(暴力大法)
649. Dota2 参议院 Dota2 的世界里有两个阵营:Radiant(天辉)和 Dire(夜魇) Dota2 参议院由来自两派的参议员组成.现在参议院希望对一个 Dota2 游戏里的改变作出决 ...
- java实现数字的值返回
以下的静态方法实现了:把串 s 中第一个出现的数字的值返回. 如果找不到数字,返回-1 例如: s = "abc24us43" 则返回 2 s = "82445adb5& ...
- Pycharm添加Python文件模板
#!/usr/bin/env python# -*- encoding: UTF-8 -*-'''=================================================@P ...