Javascript 为什么JS框架使用内联样式而不是CSS进行布局

Javascript 为什么JS框架使用内联样式而不是CSS进行布局,javascript,css,extjs,dojo,Javascript,Css,Extjs,Dojo,查看各种JS框架Dojo、Ext.JS和其他,我发现布局通常(如果不总是)是通过直接DOM操作完成的,就像在给定的DOM元素上设置内联样式一样。 这与CSS试图达到的目标形成了鲜明的对比,在我看来,CSS通常只是用来美化这些场景,口述颜色等等 我想了解为什么会做出这样的选择,甚至从历史的角度来看,以及您对页面/Web应用程序布局部分的CSS或内联样式的选择 在什么情况下,您可以通过样式表仅使用CSS而不使用js dom操作? 哪种情况正好相反 谢谢 因为他们在大部分情况下使用数学来定位事物,而C

查看各种JS框架Dojo、Ext.JS和其他,我发现布局通常(如果不总是)是通过直接DOM操作完成的,就像在给定的DOM元素上设置内联样式一样。 这与CSS试图达到的目标形成了鲜明的对比,在我看来,CSS通常只是用来美化这些场景,口述颜色等等

我想了解为什么会做出这样的选择,甚至从历史的角度来看,以及您对页面/Web应用程序布局部分的CSS或内联样式的选择

在什么情况下,您可以通过样式表仅使用CSS而不使用js dom操作? 哪种情况正好相反


谢谢

因为他们在大部分情况下使用数学来定位事物,而CSS Calc没有得到很好的支持

例如,在jQueryUI中,他们使用数学来计算对话框在屏幕上的位置或如何拆分列


CSS正在赶上和之类的东西,但是您提到的JS框架通常支持像IE6这样的非常旧的浏览器,它们永远不会得到这些CSS更新。

这种行为有不同的原因

如果不想使用直接DOM操作,则需要将新规则写入一个物理css文件,然后将该文件作为页面的依赖项加载。太复杂了,完全不需要

内联样式不是CSS

通过前端脚本进行的操作必须是内联的,以确保新样式的级别高于原始定义的样式


内联样式也是CSS。我想你指的是直接修改DOM属性。是的,我指的是直接修改DOM样式的属性,是的,我也知道它的CSS:回答得好,我想你的意思是,这些框架通常不支持像IE6这样的非常旧的浏览器。@jbabey-不。大型框架通常支持非常旧的浏览器,部分是为了填补CSS支持方面的空白。[sencha person]Jamund是正确的,Ext JS使用数学来做一些最近的CSS flexbox、position:fixed等可以自动完成的事情。我们还必须一路回到IE6,所以做我们自己的数学是目前唯一的解决方案。Sencha Touch 2-我们最新的移动浏览器框架更频繁地使用CSS布局,因为我们没有遗留问题