y por qué no en lugar de usar transition de css3, que no es crooss-browser, usas simplemente javascript??
Cita: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function transicion() {
var box = document.getElementById('tran');
var empieza = new Date().getTime();
(function opacidad(empieza, transOpacidad, tiempoFade) {
setTimeout(function() {
var ahora = new Date().getTime();
if (transOpacidad <= 100) {
if ((ahora - empieza) < tiempoFade) {
var avance = ((ahora - empieza) / tiempoFade);
var opac = transOpacidad + ((100 - transOpacidad) * avance);
box.style.opacity = parseFloat(opac/100).toFixed(2);
box.style.filter = 'alpha(opacity =' + opac + ')';
box.style.display = (opac > .01) ? 'inline' : 'none';
opacidad(empieza, transOpacidad, tiempoFade);
} else {
box.style.opacity = 1;
box.style.filter = 'alpha(opacity ="100")';
}
}
}, 1);
})(empieza, 0, 3000);
}
</script>
</head>
<body>
<span onclick="transicion();">Mostrar</span>
<div id="tran" style="width: 100px; background-color: #CCC; display: none"> un bloque que estaba oculto</div>
</body>
</html>