| |||
| Buenas caballeros! Ayer me puse a elaborar una animación desde 0 para la web que estoy desarrollando, bueno, decir que yo utilizo y pruebo siempre bajo Chrome, por eso de que el W3Consortium le tiene como hijo mimado xD Despues de lidiar con algunos problemas de sintasis para que todo fuera como un reloj suizo, me dispongo a probarlo sobre Firefox (ultima v), Opera (idem), Safari (idem) y Internet Explorer ... (es broma) El resultado es este:
Codigo
Código:
@-webkit-keyframes rotation {
0% { -webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
}
}
@-webkit-keyframes norotation {
0% { -webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(-360deg);
-moz-transform: rotate(-360deg);
-o-transform: rotate(-360deg);
}
}
.onbotomB {
height:20px;
width:20px;
background:url(Imagenes/flechadelante.png) no-repeat center;
border-radius:15px;
margin:1px 1px;
padding:0px 0px;
z-index: 1;
position:absolute;
-webkit-animation: norotation 1s infinite linear;
-o-animation: norotation 1s infinite linear;
animation: norotation 1s infinite linear;
}
.offbotomB {
height:20px;
width:20px;
background:url(Imagenes/flechadelante.png) no-repeat center;
border-radius:15px;
margin:1px 1px;
padding:0px 0px;
z-index: 1;
position:absolute;
-webkit-animation: norotation 3s infinite linear;
-o-animation: norotation 3s infinite linear;
animation: norotation 3s infinite linear;
}
.onbotomA {
height:20px;
width:20px;
background:url(Imagenes/flechaatras.png) no-repeat center;
border-radius:15px;
margin:1px 1px;
padding:0px 0px;
z-index: 1;
position:absolute;
-webkit-animation: norotation 1s infinite linear;
-o-animation: norotation 1s infinite linear;
animation: norotation 1s infinite linear;
}
.offbotomA {
height:20px;
width:20px;
background:url(Imagenes/flechaatras.png) no-repeat center;
border-radius:15px;
margin:1px 1px;
padding:0px 0px;
z-index: 1;
position:absolute;
-webkit-animation: norotation 3s infinite linear;
-o-animation: norotation 3s infinite linear;
animation: norotation 3s infinite linear;
}
.onbotomAA {
height:22px;
width:22px;
border:2px dashed hsla(0,0%,60%,0.8);
border-radius:12px;
margin:0px 0px;
padding:0px 0px;
z-index: 2;
position:absolute;
-webkit-animation: rotation 1s infinite linear;
-o-animation: rotation 1s infinite linear;
animation: rotation 1s infinite linear;
}
.offbotomAA {
height:22px;
width:22px;
border:2px dashed hsla(0,0%,60%,0.5);
border-radius:12px;
margin:0px 0px;
padding:0px 0px;
z-index: 2;
position:absolute;
-webkit-animation: rotation 3s infinite linear;
-o-animation: rotation 3s infinite linear;
animation: rotation 3s infinite linear;
}
.offbotomBB {
height:22px;
width:22px;
border:2px dashed hsla(0,0%,60%,0.5);
border-radius:12px;
margin:0px 0px;
padding:0px 0px;
z-index: 2;
position:absolute;
-webkit-animation: rotation 3s infinite linear;
-o-animation: rotation 3s infinite linear;
animation: norotation 3s infinite linear;
}
.onbotomBB {
height:22px;
width:22px;
border:2px dashed hsla(0,0%,60%,0.8);
border-radius:12px;
margin:0px 0px;
padding:0px 0px;
z-index: 2;
position:absolute;
-webkit-animation: rotation 1s infinite linear;
-o-animation: rotation 1s infinite linear;
animation: rotation 1s infinite linear;
}
En el body :
Código:
Explicando el codigo:
<div class="offbotomAA" onmouseover="this.className='onbotomAA'" onmouseout="this.className='offbotomAA'">
<div class="offbotomA" onmouseover="this.className='onbotomA'" onmouseout="this.className='offbotomA'"></div>
</div>
</div>
<div id="botomBBB" class="floatrigth">
<div class="offbotomBB" onmouseover="this.className='onbotomBB'" onmouseout="this.className='offbotomBB'">
<div class="offbotomB" onmouseover="this.className='onbotomB'" onmouseout="this.className='offbotomB'"></div>
</div>
Bueno, tenemos dos divs , el primero AA sobre el segundo A , En realidad seria BB sobre B izquierda y AA sobre A derecha, Partiendo de aqui, tenemos que en div con mayor z-index (AA) tiene un atributo de altura y ancho cuadrados, exactamente algo como width:22px y heigth:22px Este tiene un border radius alto que lo hace redondo, y al borde le aplicamos un dashed para que sea intermitente, con una anchura de borde de 2px. Esta parte del div tiene que rotar siempre a una velocidad de 0%(0deg) a 100%(360deg) es decir una vuelta completa, en 3s , esta es la @Keyframes rotation Ahora hablaremos del Div secundario(A), el que esta enbebido sobre (AA) , es igualmente un cuadrado, ligeramente mas pequeño, exactamente width:20px y height:20px, este tiene como fondo un background:url, una imagen , en concreto una imagen png de un triagualo, como el del play, exactamente como el de un botom play para ser exactos. Bien esta parte tendrá que estar siempre quiera, pero al estar embebida dentro del anteror div, va a rotar, asi que hacemos una compensacion del 100% hacia el lado contrario para que no rote, es decir de 0%(0deg) a 100% (-360deg) Esto serian las clases mouseOut del mouseover, las clases mouseon tendrian que acelerar la rotacion del borde dashed, sin que el div embebido gire, es decir acelerar el dashed del primer div mientras el segundo sigue igual de quiero, esto no es muy ficil, como podéis ver es solo modificar los tiempos de la animacion. Resumen : onmouseout = rotacion a velocidad normal onmouseover=se acelera la rotacion, Última edición por Albuss; 05/02/2012 a las 13:29 |
| |||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av Ya que nadie contesta, aclaro que lo que busco es que las animaciones @keyframes y los onmouseover y onmouseout sean leidos por estos tres navegadores : Opera, Safari y Firefox, partiendo de que en Chrome va todo al 100%. Ovbiamente el problema reside (ver el código) en que ya he aputalado todos los prefijos posibles para cada navegador, vease -o / -webkit y -moz |
| ||||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av http://www.w3schools.com/cssref/css3_pr_keyframes.asp - si miras, en tu código está solo el -webkit... lógico que funcione solo en chrome/safari. Para firefox necesitas @-moz-keyframes - opera e IE no soportan keyframes (edito: IE lo soporta a partir de IE10, con el prefijo -ms) - más que avanzado, es un código altamente experimental... está bien para probar, pero si quieres usarlo en una web real, yo me iría en todo caso por animaciones javascript Por cierto, lo muevo a css, que esto es CSS3 pero no tiene nada que ver con HTML5
__________________ Pasamos tus PSD a HTML Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. - Última edición por webosiris; 05/02/2012 a las 20:12 |
| ||||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av A lo que te señalo WebOsiris te agrego tenes unos divs mal anidados, el uso de javascript es innecesario disponiendo de la pseudoclase hover. Lo del border dashed (y dotted), es un viejo bug de firefox, n lo probé , pero podés intentar con border-image. Ejemplo (le agregué un outline para poder apreciarlo más en Firefox)
Código HTML:
Ver originalCopiar Saludos PD, tendráis que tener un poco más de paciencia al esperar respuestas, sobre todo pensando que hoy es domingo
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| |||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av @emprear Te agradezco tu reiteracion en usar :hover, pero por experiencia propia, falla mucho y da muchos problemas al emplearlo dinamicamente, he mirado tu código con mucho interés y voy a testearlo y te cuento que tal va! |
| |||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av Bueno, he estado probando, y los tanto los @-moz-keyframes como @-o-keyframes, no van. No los reconoce y no los lee. .... Estamos en el punto inicial :( Ps. lo peor de todo es que los de mozzila dicen que va con @keyframes , https://developer.mozilla.org/en/CSS/@keyframes , Lo he probado y nada :( |
| ||||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av Cita: algo estás haciendo mal, porque probé el código de emprear y funciona lo más bien.No los reconoce y no los lee. .... Estamos en el punto inicial :( Cita: eso no existe, ya te dije antes, es imposible hacerlo funcionar en opera ya que no ofrece ningún tipo de soporte.@-o-keyframes, no van. Cita: no no dice eso, lee la tabla al final, pone que funciona con el prefijo -moz a partir de la versión 5 de firefox. Ps. lo peor de todo es que los de mozzila dicen que va con @keyframes
__________________ Pasamos tus PSD a HTML Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. - |
| |||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av Gracias por el soporte que estais dando, de todas formas me inquieta que en un navegador tan popular (el que tiene mas cuota de mercado) no se pueda hacer dashed al border radius. Al final optare por hacerlo con una imagen y no con código, de todas maneras en IE9 no va nada , y en Safari tanto el evento html onmouseover como la pseudoclase:hover no van, no hace la segunda animación. Me jode por que es el 4ºnavegador con mas cuota de mercado Ps. @webosiris , si fallo mio, es el DreamweaverCS5.5 el que no "lee" los @-moz-keyframes. |
| ||||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av Cita: es un bug que por lo que veo viene desde el inicio mismo de firefox, y hasta ahora no han solucionado.Está en bugzilla como Bug 382721 (reportado en el 2007) pero hay bugs aún más viejos que hacen mención a esto . Cita: francamente si te importa la cuota de mercado... no uses código experimental Me jode por que es el 4ºnavegador con mas cuota de mercado
__________________ Pasamos tus PSD a HTML Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. - |
| |||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av Francamente, el código experimental, (este) lleva como varios años pululando, es el futuro, y consume menos recursos. Por que después de todo el Javascrip sobretodo para hacer animaciones no es precisamente liviano .... El futuro son los Eventos de HTML + CSS para eso esta evolucionando tanto ambas ramas , ¿O NO? |
| ||||
| Respuesta: Compatibilidad para @KeyFrames usando Javascrip (consulta de html5/css3 av Cita: pues depende, con jquery puedes hacer maravillas con muy poco código, para animaciones ahí tienes a animate() por ejemplo.Por que después de todo el Javascrip sobretodo para hacer animaciones no es precisamente liviano Cita: si, por supuesto... pero son el FUTURO, por lo tanto no te amargues tanto que no funcionen en el PRESENTE.El futuro son los Eventos de HTML + CSS para eso esta evolucionando tanto ambas ramas , ¿O NO? Cita: te falta una t. Es JavaScript Javascrip
__________________ Pasamos tus PSD a HTML Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. - |