这纯粹是因为C / Java / etc开发人员倾向于“错误地”使用JavaScript(我猜这主要是在语义上)?
或者CSS有优于JavaScript的优势吗?如果是这样,为什么CSS会更好?它更快吗?
另外,从语义上讲,CSS不应仅用于样式/定位吗?那么CSS开始超出它的设计范围吗?
解决方法
Is this purely because of the tendency of C/Java/etc developers to use JavaScript ‘incorrectly’ (mostly in a semantic sense,I guess)?
不,你差不多错过了一英里.人们使用JavaScript的主要原因是他们希望尽可能多地支持浏览器. CSS3是一项新技术,只有最新和最好的浏览器才能理解,而JavaScript已经存在了几十年.
Or is there an advantage of CSS over JavaScript? If so,why would CSS be better? Is it faster?
是的,因为浏览器最了解如何利用系统资源来执行动画,并且当使用CSS本地实现它们时(例如硬件加速),它可以做到最好.使用JavaScript,您依靠浏览器的脚本引擎为您计算动画,这可能会非常昂贵.
但如上所述,最大的缺点是缺乏支持.
Also,semantically-speaking,shouldn’t CSS only be used for styling/positioning? So is CSS starting to go outside the bounds of what it was designed for?
从广义上讲,它一直用于表示 – 将内容和结构作为一个关注点分离,当HTML充斥着遍布各处的表现属性时,为他们时代的任何前端开发人员拼写开发地狱.
您描述的所有这些奇特效果都可以轻松地在演示文稿中进行分类(即它们与应用程序逻辑,业务逻辑,内容,数据等无关),因此它们似乎应该用CSS完成.这就把我们带到了今天.
所以,总结一下:
>当浏览器支持是最重要的优先级时使用JavaScript(在业务应用程序中它几乎总是如此).如果转换或迁移到另一种技术成本太高,它通常也会保持原样.>否则,使用CSS.当然,通常会提供JavaScript后备.您经常会在实验或新/启动项目中看到这一点.