是否有可能在js中重写CSS ?

Is it possible to override CSS in js

本文关键字:重写 CSS js 有可能 是否      更新时间:2023-09-26

我正在使用从RSS转换器(webrss.com)生成的链接,它位于html末尾的javascript标记内。我需要将RSS提要转换为HTML,以便在一些数字标牌上显示。它工作得很好,除了我在覆盖其默认样式时遇到了麻烦。我可以更改。li和。a样式,但不能更改body或html标签中的font-size。

我到处寻找解决方案,并尝试在我的CSS中使用!important,但它不起作用。我想使用一个外部样式表,并有它覆盖所有的样式在js标签在我的html结束。

这可能吗?我是新手,被困住了,请帮忙!

可能他们在元素上设置了一些内联样式。<span style="font-size:12px">contents</span>使用JS本身。如果它们是,没有办法用CSS覆盖它,你必须使用你自己的js来覆盖它们的样式。

基本上,具体和有效的css可能是你的问题。

专用性:你可以检查元素来查看应用了哪些样式。假设您的css代码是有效的,它将显示所选元素,低于优先于您自己的css规则。像"li {font-size: 11px !important;}"这样的内容应该优先于其他所有内容,除非有一个更具体的选择器也使用了重要的部分。

Validity:对于所有html元素(li, a, body, html),您只需将它们写出来即可选择它们(即"html {color: red;}" NOT ".html {color: red;}")。我看到你在问题中提到了。li和。a,这可能只是一个意外。请注意,点是不必要的,除非它是指定的类名(即。)。检查你的css是否在该元素的检查器中列出,以检查你的css是否有效。

可以用css覆盖内联样式。重要标签胜过行内样式。见http://css-tricks.com/override-inline-styles-with-css/

在JS中重写规则的最好方法是使用CSSOM,我发现这个库可能会有所帮助:

https://github.com/cssobj/cssobj

它是从JS中渲染CSSOM,你可以直接从JS中修改规则。