jQuery中编码样式(css)的缺点真的令人望而却步吗?

时间:2010-07-23 06:40:13

标签: javascript jquery css stylesheet styles

我刚刚阅读了一篇关于某些CSS不兼容的文章,当我想到我可能会在jQuery中编写所有CSS时。除了禁用javascript的浏览器,无论如何,任何ajax网站都不会支持,有什么缺点?

除了更大的浏览器支持之外,好处是在整个(伪)css文件中使用变量。我可以在一个地方控制跨越边界和背景等的颜色。我知道这已经完成了后端编程,但我正在认真考虑它与前端。有人想跟我说话吗?

我正在阅读的文章在这里,如果你有兴趣: http://www.impressivewebs.com/buggy-css-selectors-cross-browser-jquery/

2 个答案:

答案 0 :(得分:1)

禁用Javascript的浏览器,就像你说的那样。更多关闭Javascript的人关闭了CSS。

其次,我认为客户端的性能会更差。 一般来说,CSS排在首位。这意味着浏览器可以在加载HTML时设置样式,而不是等待加载所有HTML。使用Javascript,除非有一些真的花哨的技巧,我不关心它,你需要等待HTML加载才能进行样式化,从而产生FOUC 此外,浏览器也经过大量优化,以尽可能高效地执行CSS。

还有更多原因......还有更多。

答案 1 :(得分:1)

在我找到原因之前,我只是说,如果没有任何想法,这听起来像是一个坏主意。当然可能有一些CSS在浏览器之间不兼容,但这些情况肯定是少数。记住CSS是一个标准。所以大部分都将全面实施。

但是出于更合乎逻辑的原因:

性能将是一个需要考虑的主要问题,因为现在您的客户端浏览器将需要处理更多内容。加上js是线性的,所以一切都必须等待先前的函数完成,这有一些解决方法,但在大多数情况下这可能是一个大问题。

使用js可以在几行css中完成更多内容。这将是每页,因为你无法真正重复使用它。

当您离开您的位置并且有新的开发人员进入并希望在所有页面中更改样式时会发生什么。猜猜他搞砸了什么?

我甚至无法在任何时候看到这样拯救你,因为有了css,你可以在一个地方写作并适用于所有地方。使用js解决方案,您可以拥有指数级的代码来维护。

你提到js关闭的另一个原因。当然你的ajax调用不会像你提到的那样工作,所以会有一些问题,但至少他们将能够看到你的网站看起来像什么,而不会到处看到一堆文字。

我可以继续,但我认为你明白这一点,无论如何都不是一个好主意。

当然,这只是我的意见,所以不管它有什么价值。但我认为你会非常后悔这个决定。

编辑:抱歉这部小说。最后一件事,你引用的文章是关于CSS选择器而不是整体css。