Складывающаяся 3D анимация на CSS

Google Plus является источником вдохновения многих разработчиков, особенно в сфере использования CSS и JavaScript. В данном уроке воспроизводится эффект сворачивания карты. Для него используются 3D анимации, которые придают шарм визуализации, и не требуется ни строчки кода JavaScript.

 

Разметка HTML

Для воспроизведения эффекта потребуется серия элементов:

<div id="container">
	<div class="parent1">
		<div class="parent2">
			<div class="parent3">
				<!-- Содержание располагается здесь -->
			</div>
		</div>
	</div>
</div>


Первый элемент "parent" определяет состояние 3D, второе - видимое в процессе анимации содержание, а третий - содержание разворачиваемого блока.

 

CSS

Код CSS для создания данного эффекта значительно проще, чем может показаться на первый взгляд:

		/* Статичное состояние */
		#container 	{ 
			width: 400px; 
			height: 400px; 
			position: relative; 
			border: 1px solid #ccc; 
			background: url(GoogleTestDW.png) 0 0 no-repeat;
		}
		.parent1 	{ 
			/* Общий контейнер */
			height: 0; 
			overflow: hidden;

			-webkit-transition-property: height;
			-webkit-transition-duration: .5s; 
			-webkit-perspective: 1000px; 
			-webkit-transform-style: preserve-3d; 

			-moz-transition-property:height; 
			-moz-transition-duration: .5s; 
			-moz-perspective: 1000px; 
			-moz-transform-style: preserve-3d; 

			-o-transition-property:height; 
			-o-transition-duration: .5s; 
			-o-perspective: 1000px; 
			-o-transform-style: preserve-3d;

			transition-property: height;
			transition-duration: .5s;
			perspective: 1000px;
			transform-style: preserve-3d;
		}
		.parent2	{ 
			/* Содержание, выводимое в процессе анимации */ 
		}
		.parent3	{ 
			/* Анимированный, "складывающийся" блок */
			height: 56px; 

			-webkit-transition-property: all; 
			-webkit-transition-duration: .5s;
			-webkit-transform: rotateX(-90deg);
			-webkit-transform-origin: top; 

			-moz-transition-property: all; 
			-moz-transition-duration: .5s;
			-moz-transform: rotateX(-90deg);
			-moz-transform-origin: top; 

			-o-transition-property: all; 
			-o-transition-duration: .5s;
			-o-transform: rotateX(-90deg);
			-o-transform-origin: top;

			transition-property: all; 
			transition-duration: .5s;
			transform: rotateX(-90deg);
			transform-origin: top; 
		}

		/* Состояние hover для включения анимаций */
		#container:hover .parent1	{ height: 111px; }
		#container:hover .parent3	{ 
			-webkit-transform: rotateX(0deg); 
			-moz-transform: rotateX(0deg); 
			-o-transform: rotateX(0deg); 
			transform: rotateX(0deg); 
			height: 111px; 
		}

Статичное состояние элемента parent1 определяет 3D трансформацию и состояния перспективы, начиная с высоты 0px. Статичное состояние элемента parent3 устанавливает переход и трансформацию вращения. При наведении курсора высота элементов parent1 и parent3 анимируется до конечных значений (в нашем случае 111px), и они поворачиваются до 0 градусов.

Лучше всего таким образом выводит дополнительные изображения, так как на них лучше заметны изменения перспективы.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/s2NI2cU2RDw/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Складывающаяся 3D анимация на CSS | | 2012-08-16 21:03:45 | | Статьи Web-мастеру | | Google Plus является источником вдохновения многих разработчиков, особенно в сфере использования CSS и JavaScript. В данном уроке воспроизводится эффект сворачивания карты. Для него используются 3D | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: