CSS3 vs JavaScript:有什么优势?

PRN*_*ios 7 html javascript css html5 css3

在HTML5/CSS3中,似乎有更大的推动仅限CSS的动画,效果,导航等.

这纯粹是因为C/Java/etc开发人员倾向于"错误地"使用JavaScript(我猜这主要是在语义上)?

或者CSS有优于JavaScript的优势吗?如果是这样,为什么CSS会更好?它更快吗?

另外,从语义上讲,CSS不应仅用于造型/定位吗?那么CSS开始超出它的设计范围吗?

Bol*_*ock 14

这纯粹是因为C/Java/etc开发人员倾向于"错误地"使用JavaScript(我猜这主要是在语义上)?

不,你差不多错过了一英里.人们使用JavaScript的主要原因是他们希望尽可能多地支持浏览器.CSS3是一项新技术,只有最新和最好的浏览器才能理解,而JavaScript已经存在了几十年.

或者CSS有优于JavaScript的优势吗?如果是这样,为什么CSS会更好?它更快吗?

是的,因为浏览器最了解如何利用系统资源来执行动画,并且当使用CSS本地实现它们时(例如硬件加速),它可以做到最好.使用JavaScript,您依靠浏览器的脚本引擎为您计算动画,这可能会非常昂贵.

但如上所述,最大的缺点是缺乏支持.

另外,从语义上讲,CSS不应仅用于造型/定位吗?那么CSS开始超出它的设计范围吗?

从广义上讲,它一直用于表示 - 将内容和结构作为一个问题分开,当HTML充斥着遍布各处的表现属性时,为他们时代的任何前端开发人员拼写开发地狱.

您描述的所有这些奇特效果都可以轻松地在演示文稿中进行分类(即它们与应用程序逻辑,业务逻辑,内容,数据等没有任何关系),因此它们似乎应该用CSS完成.这就把我们带到了今天.

所以,总结一下:

  • 当浏览器支持是最重要的优先级时使用JavaScript(在业务应用程序中它几乎总是如此).如果转换或迁移到另一种技术成本太高,它通常也会保持原样.

  • 否则,使用CSS.当然,通常会提供JavaScript后备.您经常会在实验或新/启动项目中看到这一点.


Gil*_*mos 5

我在这里看不到VS. 实际上我认为一个伟大的网络应用程序应该混合他们两个!

我喜欢考虑用于用户交互的JavaScript和用于设计的CSS.这就是我决定将哪一个用于特定目的的方法.

现在,为了解决兼容性问题,你有很多来自优秀人才的伟大作品.例如:http://modernizr.com/