molily: print.css per Javascript bearbeiten

Beitrag lesen

.header{display:none; soll zu .header{display:block; werden. wie spreche ich aber nun die print.css an?

Über das CSS-DOM kannst du dem eingebundenen Stylesheet dynamisch eine Regel hinzufügen, die eine vorherige überschreibt.

<link rel="stylesheet" id="printstylesheet" href="...">

Das Script dazu würde in etwa so aussehen (ungetestet):

// Link-Element anhand der ID ansprechen  
var link = document.getElementById("printstylesheet");  
// Das entsprechende Stylesheet-Objekt ansprechen (standardkonform und IE-proprietär)  
var ss = link.sheet || link.styleSheet;  
// Regel-Liste ansprechen (standardkonform und IE-proprietär)  
var rules = ss.rules || ss.cssRules;  
// Regel ans Ende der Liste einfügen (standardkonform und IE-proprietär)  
if (ss.insertRule) {  
  ss.insertRule('.header { display: block; }', rules.length);  
} else if (ss.addRule) {  
  ss.addRule('.header', 'display: block');  
}

Mathias