Javascript样式与CSS样式表

Javascript样式与CSS样式表,javascript,html,css,performance,Javascript,Html,Css,Performance,当涉及到在浏览器上加载、浏览器支持、我可能没有想到的任何事情等时,使用Javascript声明绝大多数或所有样式是否会伤害最终用户而不是包括CSS样式表 我提供了一个快速示例,如下所示,以及这个示例 HTML: Javascript: var init=函数{ //使用window对象设置全局变量 //因为全局变量无论如何都会附加到窗口对象 window.container=document.getelementsbyclassnamecainer; window.row=document.ge

当涉及到在浏览器上加载、浏览器支持、我可能没有想到的任何事情等时,使用Javascript声明绝大多数或所有样式是否会伤害最终用户而不是包括CSS样式表

我提供了一个快速示例,如下所示,以及这个示例

HTML:

Javascript:

var init=函数{ //使用window对象设置全局变量 //因为全局变量无论如何都会附加到窗口对象 window.container=document.getelementsbyclassnamecainer; window.row=document.getElementsByClassNamerow; //初始化变量 window.rows=[]; window.cols=[]; //获取儿童数量,但也可以设置以备将来使用 window.setCounts; //现在让我们计算宽度 窗口宽度; }; window.setCounts=函数{ 对于var C=0;C < Windows .ROW.Stand;C++ > window.rows.pushwindow.row[c]; window.rows[c]。row_count=0; 对于变量i=0;i window.rows[c].style.width=row_width+px; 对于变量i=0;i div{ 溢出:隐藏; } .集装箱{ 保证金:自动; 边缘顶部:5px; 边框:1px纯红; } .行{ 保证金:自动; 边缘顶部:5px; 边框:1px纯黑; 明确:两者皆有; } 上校{ 浮动:左; 文本对齐:居中; } 请注意:
我希望避免实现像JQuery这样的外部库,我知道使用JQuery可以更容易地完成上面的代码。到目前为止,我已经将我的外部库限制在AngularJS上,因为它是应用程序的主干,这使得我的webapp可以减少升级和可能的中断。在我看来,这是一个偏好和寿命的问题,请避免试图说服我不这样做。

CSS比JavaScript更易于维护,你可以用CSS做一些很难用JavaScript模仿的事情

像add/remove_类这样的机制使您能够充分利用CSSs动力学


您的示例代码看起来像是在进行一些维度计算。CSS不能总是处理这个问题,所以对于这个有限的用例来说,JavaScript可能更好。

CSS样式表可以在DOM完全加载之前加载,这意味着它们可以在显示DOM对象之前立即应用

通过javascript直接应用于对象的CSS样式通常在最初显示DOM对象之后应用,并且在解析DOM对象之前永远不能应用。例如,如果您希望在页面上隐藏一个对象,则在从节加载的CSS规则中指定该对象将保证该对象永远不可见。通过javascript分配CSS以隐藏对象可能会导致对象最初出现,然后javascript将运行以隐藏对象

此外,还有一个普遍的概念,即表示和行为之间的分离通常是由CSS控制的表示和由javascript控制的行为所需要的。虽然我认为两者很少是完全分开的,在一个项目中,通常会有不同的人,他们主要关注网站的外观和表现,而不是网站的互动性或行为,将控制这些不同方面的主要方面放在不同的位置对于维护网站非常有用。例如,一家公司可能决定更改其颜色方案,查找和修改某些CSS可能比搜索所有可能的javascript以查找所有颜色引用要简单得多

最后,如果您需要指定哪些对象通过使用javascript接收特定样式,那么您仍然可以将样式inf CSS规则中的格式化,并使用javascript向对象动态添加类。这样,表示仍然在更易于维护的CSS规则中指定


综上所述,CSS不能做任何事情。特别是,它不能进行计算,有时复杂的布局可能更简单或更可靠,可以使用一些javascript来帮助实现目标。这里的想法是选择最简单、最可维护的方式来实现您的目标,同时尽可能将表达和行为分离开来。

Css更好更快。您有什么资源可以支持这一点吗?这是一个偏好的问题还是对您来说更容易的问题,这是为什么?在调整大小处理程序中执行所有这些工作将导致应用程序非常缓慢。浏览器支持如何成为性能问题?我关于浏览器支持的观点与我关于性能的问题毫无关联。有没有什么我没有想到的,当在IE中通过Javascript进行样式设计时会引起问题,这就是我的学习方向。当我决定要避免过多的类/id声明(例如从span1到span12)并使其尽可能自动化时,出现了这个问题。这就是为什么我的例子集中在这方面。谢谢你的意见+1.