Вам либо нужен определенный элемент, стиль которого вы знаете, либо, если вы управляете файлом CSS, вы можете вставить для этого фиктивный элемент. Этот код точно запустит ваш обратный вызов, когда содержимое файла CSS будет применено к DOM.
// dummy element in the html
<div id="cssloaded"></div>
// dummy element in the css
#cssloaded { height:1px; }
// event handler function
function cssOnload(id, callback) {
setTimeout(function listener(){
var el = document.getElementById(id),
comp = el.currentStyle || getComputedStyle(el, null);
if ( comp.height === "1px" )
callback();
else
setTimeout(listener, 50);
}, 50)
}
// attach an onload handler
cssOnload("cssloaded", function(){
alert("ok");
});
Если вы используете этот код в нижней части документа, вы можете переместить переменные el и comp вне таймера, чтобы получить элемент один раз. Но если вы хотите прикрепить обработчик где-нибудь в документе (например, к заголовку), вы должны оставить код как есть.
Примечание: проверено на FF 3+, IE 5.5+, Chrome