Сегодня я подготовил новую великолепную демонстрацию CSS3. Это 3D-слайд-шоу, где я использовал 3D-преобразования WebKit CSS. В демоверсии вы увидите свободно плавающий 3D-объект с фотографиями. Но — вы должны использовать Chrome или Safari, чтобы увидеть все эти прелести.
Live Demo
результат загрузки
Хорошо, загрузите файлы примеров и давайте начнем кодировать!
Шаг 1. HTML
Сначала создадим основную разметку HTML. Как видите, структура, как обычно, довольно минимальная и содержит только несколько элементов DIV и IMG.
index.html
<!DOCTYPE html> <html lang="en" > <head> <meta charset="utf-8" /> <title>CSS3 Animated Photo Slider | Script Tutorials</title> <link href="css/layout.css" rel="stylesheet" type="text/css" /> <link href="css/slider.css" rel="stylesheet" type="text/css" /> </head> <body> <header> <h2>CSS3 Animated Photo Slider</h2> <a href="http://www.script-tutorials.com/css3-animated-photo-slider/" class="stuts">Back to original tutorial on <span>Script Tutorials</span></a> </header> <div class="slider"> <div class="x_rot"> <div class="y_rot"> <div id="i1"> <img src="images/1.jpg" /> </div> <div id="i2"> <img src="images/2.jpg" /> </div> <div id="i3"> <img src="images/3.jpg" /> </div> <div id="i4"> <img src="images/4.jpg" /> </div> <div id="i5"> <img src="images/5.jpg" /> </div> <div id="i6"> <img src="images/6.jpg" /> </div> </div> </div> </div> </body> </html>
Шаг 2. CSS
Теперь вот CSS-правила, которые превратят нашу разметку в отличный анимированный слайдер фотографий. Я уже прокомментировал CSS ниже, так что вы можете увидеть основные части этого файла.
CSS / slider.css
/* Animations with keyframes */ @-webkit-keyframes x_rot { 0% { -webkit-transform: rotateX(-30deg); } 50% { -webkit-transform: rotateX(30deg); } 100% { -webkit-transform: rotateX(-30deg); } } @-webkit-keyframes y_rot { 0% { -webkit-transform: rotateY(0deg); } 50% { -webkit-transform: rotateY(180deg); } 100% { -webkit-transform: rotateY(360deg); } } /* main styles */ .slider { margin: 250px auto; -webkit-perspective: 1000; /* setup perspective to parent */ } .x_rot { -webkit-transform-style: preserve-3d; -webkit-animation-name: x_rot; /* setup custom animations */ -webkit-animation-duration: 6s; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: ease; } .y_rot { -webkit-transform-style: preserve-3d; -webkit-animation-name: y_rot; /* setup custom animations */ -webkit-animation-duration: 10s; -webkit-animation-iteration-count: infinite; -webkit-animation-timing-function: linear; } .y_rot div { color: rgba(0,0,0,0.9); height: 235px; left: 300px; opacity: 0.8; position: absolute; width: 235px; -webkit-border-radius: 15px; -webkit-transition: .3s; } .y_rot div#i1 { -webkit-transform: rotateY(0deg) translateZ(200px); } .y_rot div#i2 { -webkit-transform: rotateY(60deg) translateZ(200px); } .y_rot div#i3 { -webkit-transform: rotateY(120deg) translateZ(200px); } .y_rot div#i4 { -webkit-transform: rotateY(180deg) translateZ(200px); } .y_rot div#i5 { -webkit-transform: rotateY(240deg) translateZ(200px); } .y_rot div#i6 { -webkit-transform: rotateY(300deg) translateZ(200px); } .y_rot div img { height:235px; width:235px; -webkit-border-radius: 15px; -webkit-transition: .3s; } /* onhover effect */ .y_rot div#i1:hover, .y_rot div#i2:hover, .y_rot div#i3:hover, .y_rot div#i4:hover, .y_rot div#i5:hover, .y_rot div#i6:hover { opacity: 1; } .y_rot div#i1:hover img, .y_rot div#i2:hover img, .y_rot div#i3:hover img, .y_rot div#i4:hover img, .y_rot div#i5:hover img, .y_rot div#i6:hover img{ height:335px; width:335px; margin-left:-50px; margin-top:-50px; } /* pause main animation onhover */ .x_rot:hover { -webkit-animation-play-state: paused; } .y_rot:hover { -webkit-animation-play-state: paused; }
Сегодня я опускаю стили макета страницы (layout.css). Это не важно сейчас. Файл будет доступен в упаковке.
Live Demo
результат загрузки
Вывод
Сегодня мы сделали еще одно замечательное слайд-шоу с фотографиями CSS3. Только одна заметка, как указано выше: мы использовали CSS3-анимацию с 3D-преобразованиями — и это поддерживается только в браузерах Chrome и Safari. Для получения дополнительной информации — смотрите здесь . Будем надеяться, что в следующих версиях FF это тоже будет поддерживаться. С праздником, и вы можете оставить свои комментарии здесь!
Источник: http://www.script-tutorials.com/css3-animated-photo-slider/