我对来自 PHP/MySQL 环境的客户端编程比较陌生。我了解 CSS 和 JavaScript 在浏览器环境中可以发挥的作用,但是,如果没有 JavaScript,CSS 似乎将不可逆转地停滞不前。我绝不想引起争论,但这就是我这个“新手”的情况。那么为什么不只使用 JavaScript 来设置元素属性呢?如果是这样,这是一种常见的做法吗? (我确定 CSS 快得多...)
最佳答案
一些一般要点:
CPU 成本
运行 Javascript 将样式应用于单个元素会非常慢。 Javascript 是同步的,因此它必须一次更新一种样式。另外,如其他地方所述,遍历 DOM 的计算量很大。如果您正在应用样式,则更是如此,因为您每次应用更改时都会强制浏览器重新呈现网站。
脑力消耗
尝试用 Javascript 编写和维护样式在精神上也很昂贵。它是一种函数式语言,从未打算包含布局规则。 CSS只是更容易阅读。
它们级联!
CSS 代表层叠 样式表。样式的一大好处是可以相互继承属性。请考虑以下事项:
a.nav { font-weight: bold; }
现在所有带有“nav”类的链接都是粗体。但是如果您希望进一步修改链接,您仍然可以:
li a.nav { color: red; }
现在,列表项中包含的所有 a.nav 链接都将为红色和粗体。可以使用 javascript 执行此操作,但您必须强制执行此操作,并且维护会很糟糕。
如果你使用 Javascript 作为样式,你的同事会打死你!
我觉得这一种不言自明
关于javascript - 用 JavaScript 替换 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2065450/