0

查看各种 JS 框架(Dojo、Ext.JS 和其他),我观察到布局通常(如果不总是)通过直接 DOM 操作完成,例如在给定 DOM 元素上设置内联样式。这与 CSS 试图瞄准的目标形成鲜明对比,在我看来,CSS 通常只是用来“美化”此类场景、指定颜色等。

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

在什么情况下,你会通过样式表只使用 CSS 而不使用 js dom 操作?什么情况会适得其反?

谢谢!

4

2 回答 2

7

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

例如,在 jQuery UI 中,他们使用数学来确定对话框应该在屏幕上的哪个位置或如何拆分列。

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

于 2012-12-03T16:19:51.370 回答
3

这种行为有不同的原因。

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

  2. 内联样式不是 CSS?

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

于 2012-12-03T16:22:14.440 回答