我希望根据用户的偏好更改页面样式。
页面将以给定的样式加载,但如果用户点击按钮,则页面布局应更改。如果再次点击,样式应更改回原始样式。更改是大量的(约70个CSS行),但仅更改页面的一个特定部分。
我可以编写JavaScript函数,修改所有相关标签的CSS样式,但这将很繁琐,并且会在我的代码中引入太多的CSS。如果可能的话,我宁愿将其保留在CSS文件中。
我还可以将样式A添加到CSS文件中,并引用所有相关标记中的class A,并将样式B添加到CSS文件中,并引用所有相关标记中的class B。然后JavaScript代码只需更改相关标记上的class即可。
最佳方法是什么?
页面将以给定的样式加载,但如果用户点击按钮,则页面布局应更改。如果再次点击,样式应更改回原始样式。更改是大量的(约70个CSS行),但仅更改页面的一个特定部分。
我可以编写JavaScript函数,修改所有相关标签的CSS样式,但这将很繁琐,并且会在我的代码中引入太多的CSS。如果可能的话,我宁愿将其保留在CSS文件中。
我还可以将样式A添加到CSS文件中,并引用所有相关标记中的class A,并将样式B添加到CSS文件中,并引用所有相关标记中的class B。然后JavaScript代码只需更改相关标记上的class即可。
最佳方法是什么?
body
(或更相关的父对象)上切换类,然后修改CSS基于这个类。这样,所有的UI只会受到1行JS代码的影响。 - Rory McCrossan