You can add rules before adding a style element to a document.
A few notes -
Older IE browsers cannot add child nodes to a style element, so we assign the styleSheet.csstext property to them. Make sure the new item is added to the top of the document.
function addStyle(css, media1, title1){ var el= document.createElement('style'); el.type= 'text/css'; if(media1) el.media= media1; if(title1) el.title= title1; if(el.styleSheet) el.styleSheet.cssText= css;//IE else{ el.appendChild(document.createTextNode(css)); } //return el without the next line if you want to append it later return document.getElementsByTagName('head')[0].appendChild(el); } var cs1= [ '#yw_psq, #yw_psq h2{background-color: green; color: white;}', '#yw_psq_div{margin: 1ex; position: relative; text-align: center;}', '#ps_counter{color: white; margin: 1ex 0 0 0; text-align: center;}', '#pzsq_grid button{cursor: pointer; font-size: 1.2em; width: 100%;}', '#delaySpan{font-weight: bold; margin-left: 1em;}' ] addStyle(cs1.join('\n'),'screen','yw_psq');
source share