如何更改外部样式表的css规则

时间:2012-07-16 06:24:13

标签: javascript html css

  

可能重复:
  How to change/remove CSS classes definitions at runtime?

我有一个使用外部css文件的HTML页面。我想在运行时使用javascript更改外部文件的css规则。

myHtml.html

<html>
  <head>
    <link rel="stylesheet" href="myCSS.css" type="text/css">
    <script type="text/ecmascript" src="myJS.js" />
  </head>
  <body>
    <p> change css style color for this element using javascript </p>
  </body>
</html>

myCSS.css

.p{ color:blue}

myJS.js

var ss = document.styleSheets[0]
var firstRule = ss.rules[0] // null

我想执行操作:

firstRule.style.color = "red" ;

2 个答案:

答案 0 :(得分:2)

您可以通过以下方式实现

var div = document.getElementById("newDiv");
div.style.position = "absolute"; 
div.style.top = "200px"; 
div.style.left = "200px"; 

同样可以编辑/添加更多css属性 看看这是否有助于改变CSS规则:Alter CSS Rules

答案 1 :(得分:2)

您可以使用内部css覆盖外部css属性。它也可以通过三种不同的方式实现:

1)在页面本身声明你的css属性,例如根据你的代码包含“style”标签并在其间写入属性

< html>

 < head>
   < link rel="stylesheet" href="myCSS.css" type="text/css">
   < script type="text/ecmascript" src="myJS.js" />
   <style type="text/css">
   ........................
   .........................
   </style>
< /head>
< p > change css style color for this element using javascript   
< /p>

< /html>

2)使用内联css

< p style="font-color:red;"> change css style color for this element using javascript   
< /p>

3)使用javascript:这只是另一种方式,或者你可以说实现内部css实现的间接方式。请参阅@Misam给出的第一个答案