Friday, February 18th 2011, 3:23pm
Tags
HTML,
JavaScript,
style,
stylesheet
Abstract
Hier wird erläutert wie man mit JavaScript dynamisch CSS Regeln hinzufügen kann.
Article
Man kann dynamisch ein Element "style" in den DOM Baum einhängen. Auf diese Art können CSS dynamisch nachgeladen werden.
Bei einigen Browser muss das style.styleSheet Element genutzt werden, bei anderen hängt man einfach einen Textknoten ein.
Dazu habe ich folgende Funktion eingeführt:
|
JavaScript Code
|
1
2
3
4
5
6
7
8
9
10
11
|
function addCss(rules) {
var head = document.getElementsByTagName('head')[0],
style = document.createElement('style'),
rules = document.createTextNode(rules);
style.type = 'text/css';
if(style.styleSheet)
style.styleSheet.cssText = rules.nodeValue;
else style.appendChild(rules);
head.appendChild(style);
};
|
Ein Beispielaufruf sieht wie folgt aus:
|
JavaScript Code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
addCss(
'li {'+
' list-style-type: none;'+
'}'+
'li a {'+
' display:block;'+
' border-bottom:1px solid #afafaf;'+
' margin:10px;'+
'}'+
'li a:hover {'+
' border-color:#00ff00;'+
' background-color:#eeffee;'+
'}'
);
|
Ihr könnt das auch live ausprobieren unter
http://demo.easy-coding.de/css/add-css-with-javascript/
Request deletion
report critical content