Если не через отдельный css файл со стилями и не через тэг style, то как насчет JavaScript? Работает, например, такой трюк:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="testDiv">СОДЕРЖИМОЕ ДИВА</div>
</body>
<script>
var UID = {
_current: 0,
getNew: function(){
this._current++;
return this._current;
}
};
HTMLElement.prototype.pseudoStyle = function(element,prop,value){
var _this = this;
var _sheetId = "pseudoStyles";
var _head = document.head || document.getElementsByTagName('head')[0];
var _sheet = document.getElementById(_sheetId) || document.createElement('style');
_sheet.id = _sheetId;
var className = "pseudoStyle" + UID.getNew();
_this.className += " "+className;
_sheet.innerHTML += "\n."+className+":"+element+"{"+prop+":"+value+"}";
_head.appendChild(_sheet);
return this;
};
var div = document.getElementById("testDiv");
div.pseudoStyle("before","content","'перед'").pseudoStyle("before","color","green").pseudoStyle("before","background","black");
div.pseudoStyle("after","content","'после'").pseudoStyle("after","color","red").pseudoStyle("after","background","yellow");
</script>
</html>