代码之家  ›  专栏  ›  技术社区  ›  Matrym

jquery中的编码风格(css)的缺点是否真的令人望而却步?

  •  1
  • Matrym  · 技术社区  · 15 年前

    我刚刚读了一篇关于某些CSS不兼容的文章,突然想到也许我应该在jquery中编写所有的CSS。除了禁用了javascript的浏览器,任何Ajax网站都不支持这些浏览器,还有什么缺点呢?

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

    如果你感兴趣的话,我读的那篇文章就在这里: http://www.impressivewebs.com/buggy-css-selectors-cross-browser-jquery/

    2 回复  |  直到 15 年前
        1
  •  1
  •   cbp    15 年前

    如你所说,javascript禁用了浏览器。关闭JavaScript的人比关闭CSS的人多。

    其次,我认为客户端的性能会更差。 通常,CSS位于顶部。这意味着浏览器可以在加载HTML时设置其样式,而不是等待所有HTML加载。使用javascript,除非 真正地 花哨的技巧,我不关心,你需要等待HTML加载,然后才能做你的样式,结果是 FOUC 此外,浏览器也进行了大量优化,以尽可能高效地执行CSS。

    还有更多的原因…还有很多。

        2
  •  1
  •   spinon    15 年前

    在我弄清原因之前,我会毫不犹豫地说,这听起来是个坏主意。当然,有些CSS可能在浏览器中不兼容,但这些情况绝对是少数。记住,CSS是一个标准。因此,其中的大部分将被全面实施。

    但出于更合理的原因:

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

    在几行CSS中,您可以用JS完成更多的工作。这将是每页,因为你不能真正地重用很多。

    当你离开你的位置,一个新的开发人员进来,想要改变所有页面的样式时会发生什么。猜猜他搞砸了什么?

    我甚至看不到这会在任何时候拯救你,因为有了CSS,你可以在一个地方写作,在任何地方应用。使用JS解决方案,您将拥有成倍增长的代码来维护。

    您提到的关闭JS的另一个原因。当然,您的Ajax调用不会像您提到的那样工作,所以会有一些问题,但至少他们能够看到您的站点是什么样子的,而不只是看到一堆文本无处不在。

    我可以继续说,但我认为你明白这不是一个好主意。

    当然,这只是我的观点,所以不管它有什么价值,都要接受它。但我认为你会对这个决定感到非常遗憾。

    编辑:对不起这部小说。不过,最后一件事是,您引用的文章是关于CSS选择器的,而不是关于整个CSS的。