Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Boletos en 10 de Marzo 2016, 16:56

Título: HTML y CSS animaciones css transition-property duration delay timing CU01063D
Publicado por: Boletos en 10 de Marzo 2016, 16:56
Hola a todos!. Para el ejercicio CU01063D del tutorial básico de programación web CSS desde cero. Esta es mi solución:

a) Código html

Código: [Seleccionar]
<head>
<meta charset="utf-8">
<title>Ejercicio 1063</title>
<style type="text/css">
*{margin:0; padding:0; font-family: sans-serif;}
.bloquePub{border:5px solid; width:260px;
float:left;
margin:60px 0 0 90px; background-color:yellow;
font-size:20px; text-align:center;
padding-top:20px;word-wrap:break-word;
border-radius:40px;}
h2{width:25%; text-align:center; margin:15px auto;}
img{padding:10px;}

#transEj1 div{transition:all 2s ease-in-out; perspective:800px; perspective-origin:50% 100px;}
#transEj1:hover #rotateX{transform:rotateX(180deg);}
#transEj1:hover #rotateY{transform:rotateY(180deg);}
#transEj1:hover #rotateZ{transform:rotateZ(180deg);}

</style>
</head>
<body>

<div id="transEj1" style="border-style:none; border-width:0;">
<h2>CSS transition</h2>
<div class="bloquePub" id="rotateX">aprenderaprogramar.com<img src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" ></div>
<div class="bloquePub" id="rotateY">aprenderaprogramar.com<img src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" ></div>
<div class="bloquePub" id="rotateZ">aprenderaprogramar.com<img src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" ></div>
</div>
</body>
</html>


b)Siguiendo con lo expuesto en el enunciado

#transEj1 div indica los estilos que se aplicarán a div dentro de
elementos con id=”transEj1”.

transition: all indica que … se aplicará la transición a todas las
propiedades con posibilidad de hacerlo.

2s ease-in-out; establece en 2 segundos la duración de la transición y hace que esta tenga un comienzo lento y progresión a velocidad constante.

perspective:800px; perspective-origin:50% 100px; esta función maneja el grado de perspectiva con respecto a z (profundidad) y establece el origen
de esta.

"Aunque no conseguí ver los resultados. Ni con Chrome (-webkit), ni con
Firefox (-mod), ni con Explore, -algo estoy haciendo mal, ya que en los
giros, "#rotateX" y "#rotateY", se tendría que apreciar la perspectiva-.

#transEj1:hover #rotateX{transform:rotateX(180deg);} hace que cuando se  pasa el cursor sobre el elemento con el id="transEj1", o cualquiera de los
elementos en él, el div con id="rotateX" rote sobre el eje X 180 grados.

#transEj1:hover #rotateY{transform:rotateY(180deg);} hace que cuando se pasa el cursor sobre el elemento con el id="transEj1", o cualquiera de los
elementos en él, el div con id="rotateY" rote sobre el eje Y 180 grados.

#transEj1:hover #rotateZ{transform:rotateZ(180deg);} hace que cuando se pasa el cursor sobre el elemento con el id="transEj1", o cualquiera de los
elementos en él, el div con id="rotateZ" rote sobre el eje Z 180 grados.

Un saludo!

Y Gracias!!
Título: Re:HTML y CSS animaciones css transition-property duration delay timing CU01063D
Publicado por: César Krall en 11 de Marzo 2016, 09:31
Hola!

Lo único que te falta es el efecto perspective. Puedes guiarte por este ejercicio https://www.aprenderaprogramar.com/foros/index.php?topic=3797.0 donde sí funciona para ver por qué a tí no te está funcionando

Saludos!