如何通过 JavaScript 将 CSS 规则添加到样式表?
insertRule() 允许我们在样式表中指定位置插入一条规则,而 deleteRule() 则能删除网页上的一个特定样式。以下代码展示了可使用 JavaScript 添加到样式表中的 CSS 规则。
插入一条规则
要插入一条规则,请使用 insertRule() 方法。这里也会设置边距、内联距和投影。首先使用 getElementById() 设置自定义 id −
let newSheet = document.getElementById('custom').sheet let cs = 'p {'; cs += 'margin: 4%;'; cs += 'padding: 2%;'; cs += 'font-size: 22px;'; cs += 'box-shadow: -10px 4px 0 chartreuse;' cs += '}'; newSheet.insertRule(cs, 0);
该 custom 是使用 <style> 设置的 id −
<style type="text/css" id="custom">
示例
下面来看一个在网页上插入规则的示例 −
<!DOCTYPE html> <html> <head> <style type="text/css" id="custom"> body { background-color: silver; } </style> </head> <body> <h1>Custom CSS!</h1> <p>Woohoo!</p> <script> let newSheet = document.getElementById('custom').sheet let cs = 'p {'; cs += 'margin: 4%;'; cs += 'padding: 2%;'; cs += 'font-size: 22px;'; cs += 'box-shadow: -10px 4px 0 chartreuse;' cs += '}'; newSheet.insertRule(cs, 0); </script> </body> </html>
删除一条规则
要删除一条规则,请使用 deleteRule() 方法。首先使用 insertRule() 方法设置规则。<h2> 边框已针对此规则设置 −
let mySheet = document.getElementById('demo').sheet let cs = 'h2 { border: 2px solid green; }' mySheet.deleteRule(2); mySheet.insertRule(cs, 0);
该 demo 是使用 <style> 设置的 id −
<style type="text/css" id="demo">
示例
下面来看一个从网页中删除规则的示例 −
<!DOCTYPE html> <html> <head> <style type="text/css" id="demo"> div { margin: 3%; text-align: center; background-color: powderblue; } p { box-shadow: 0 0 12px rgba(0,0,0,0.6); } h2 { color: red; } </style> </head> <body> <div> <h2>Custom CSS!</h2> <p>Woohoo!</p> </div> <script> let mySheet = document.getElementById('demo').sheet let cs = 'h2 { border: 2px solid green; }' mySheet.deleteRule(2); mySheet.insertRule(cs, 0); </script> </body> </html>
广告