使用JQuery/JavaScript应用大量CSS样式是否有问题?
我想用JQuery/JavaScript 100%应用所有CSS样式使用JQuery/JavaScript应用大量CSS样式是否有问题?,javascript,jquery,css,Javascript,Jquery,Css,我想用JQuery/JavaScript 100%应用所有CSS样式 但是这样做不好吗?很多人说应用类而不是单个样式。如果你的访问者禁用了javascript,他们会看到一个没有任何样式的丑陋的白色页面 老实说,我不明白你为什么要这么做。它不是用户友好的 使用样式表。当纯HTML/CSS能够处理它时,为什么要在javascript中创建这种开销?(事实上是有意的) 此外,您还为站点的样式添加了一个不必要的要求:启用javascript后您将看到不同浏览器的性能降低程度不同。让应用程序呈现样式化的
但是这样做不好吗?很多人说应用类而不是单个样式。如果你的访问者禁用了javascript,他们会看到一个没有任何样式的丑陋的白色页面 老实说,我不明白你为什么要这么做。它不是用户友好的
使用样式表。当纯HTML/CSS能够处理它时,为什么要在javascript中创建这种开销?(事实上是有意的)
此外,您还为站点的样式添加了一个不必要的要求:启用javascript后您将看到不同浏览器的性能降低程度不同。让应用程序呈现样式化的HTML页面更快、更干净,因为这是它经过优化的目的
如果您正在动态加载内容,并且已经有淡入淡出效果/过渡,因此您的内容只有在设置样式后才会显示,那么您可能还可以。主要原因:性能!原生CSS比JS快得多 还值得一提的是:
- 不适用于使用NoScript等的用户
- 头顶。我想没什么大不了的。还有更重要的事情需要优化
- 如果延迟加载内容,例如使用jQuery.load(),则必须将样式重新应用于这些元素。不太好:/
结论:CSS用于样式化,JS不是。如果要这样做,请仅使用jQuery应用样式(而不是使用javascript),以保持跨浏览器兼容性 我建议您不要使用这种方法,因为jQuery在所有元素中循环并应用样式需要时间 类似于
$('span').css(…)代码>必须遍历整个DOM,并在元素集合中循环<代码>$('#title').css(…)
不必在整个DOM中循环,因为它立即知道在哪里查找
此外,浏览器设计用于处理样式表并快速呈现样式元素。为什么要这样做?你也想用Javascript输入所有的文本吗?我的问题写得有点错,我不是100%的“想要”这样做,更像是“思考会发生什么”。谢谢你们的回答,不要害怕。。。我不会真的这样做(现在我知道这不是一个好的做法)