- <div class="swiper">
- <div class="swiper-wrapper">
- <div class="swiper-slide">
- <!-- img 要素から背景画像(background-image)に変更-->
- <div class="slide-img zoom" style="background-image: url('images/swiper_img_01.jpg')"></div>
- <div class="slide-content">
- <h1 class="from_top">Slide Title 01</h1>
- <p>Lorem ipsum dolor sit amet, consectetur</p>
- <div class="caption">caption 01</div>
- </div>
- </div>
- <div class="swiper-slide">
- <!-- img 要素から背景画像(background-image)に変更-->
- <div class="slide-img translate1" style="background-image: url('images/swiper_img_02.jpg')"></div>
- <div class="slide-content">
- <h2 class="from_left">Slide Title 02</h2>
- <p class="from_right">Ipsa, quis ex repudiandae eum </p>
- <div class="caption">caption 02</div>
- </div>
- </div>
- <div class="swiper-slide">
- <!-- img 要素から背景画像(background-image)に変更-->
- <div class="slide-img translate2" style="background-image: url('images/swiper_img_03.jpg')"></div>
- <div class="slide-content">
- <h3 class="from_bottom">Slide Title 03</h3>
- <p>Ullam rerum quasi libero esse </p>
- <div class="caption">caption 03</div>
- </div>
- </div>
- </div><!-- end of .swiper-wrapper -->
- <div class="swiper-pagination swiper-pagination-white"></div>
- <div class="swiper-button-prev"></div>
- <div class="swiper-button-next"></div>
- </div><!-- end of .swiper -->
- /* .slide-img の背景画像の設定を追加 */
- .slide-img { /* 小画面 */
- height: 300px;
- background-size: cover;
- background-position: center center;
- background-repeat: no-repeat;
- overflow:visible;
- }
- @media only screen and (min-width:651px) { /* 中画面 */
- .slide-img {
- height: 450px;
- }
- }
- @media only screen and (min-width:961px) { /* 大画面 */
- .slide-img {
- height: 593px;
- }
- }
- /* .slide-img の背景画像の設定の追加 ここまで */
- .swiper-slide .slide-content h1, .swiper-slide .slide-content h2, .swiper-slide .slide-content h3 {
- position: absolute;
- top: 20%;
- left: 50%;
- transform: translate(-50%, -50%);
- color: #FFF;
- font-size: 30px;
- text-shadow: 2px 2px rgba(0,0,0,0.3);
- }
- .swiper-slide .slide-content p {
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- color: #FFF;
- text-shadow: .5px .5px rgba(0,0,0,0.6);
- margin: 0;
- padding: 0;
- font-size: 18px;
- }
- .swiper-slide .slide-content .caption {
- position: absolute;
- bottom: 30px;
- right: 30px;
- color: #FFF;
- font-size: 16px;
- background-color: rgba(0,127,127,0.5);
- padding: 3px 8px;
- }
- /* 文字のアニメーション */
- @keyframes fromTop {
- 0% {
- top: 0%;
- opacity: 0;
- }
- 100% {
- top: 20%;
- opacity: 1;
- }
- }
- @keyframes fromBottom {
- 0% {
- top: 80%;
- opacity: 0;
- }
- 100% {
- top: 20%;
- opacity: 1;
- }
- }
- @keyframes fromleft {
- 0% {
- left: 0%;
- opacity: 0;
- }
- 100% {
- left: 50%;
- opacity: 1;
- }
- }
- @keyframes fromRight {
- 0% {
- left: 100%;
- opacity: 0;
- }
- 100% {
- left: 50%;
- opacity: 1;
- }
- }
- /* .from_top を指定した要素のアニメーション */
- .swiper-slide-active .from_top {
- animation: fromTop .6s ease-in-out 0s 1 normal both;
- }
- /* .from_bottom を指定した要素のアニメーション */
- .swiper-slide-active .from_bottom {
- animation: fromBottom .6s ease-in-out 0s 1 normal both;
- }
- /* .from_left を指定した要素のアニメーション */
- .swiper-slide-active .from_left {
- animation: fromleft .6s ease-in-out 0s 1 normal both;
- }
- /* .from_right を指定した要素のアニメーション */
- .swiper-slide-active .from_right{
- animation: fromRight .6s ease-in-out .5s 1 normal both;
- }
- /* 画像のアニメーション (一部変更)*/
- @keyframes zoom {
- 0% {
- transform: scale(1);
- }
- 100% {
- transform: scale(1.1);
- }
- }
- .swiper-slide-active .zoom { /* img を削除 */
- animation: zoom 6s linear 0s 1 normal both;
- }
- @keyframes translate1 {
- 0% {
- transform: scale(1.07) translate(0,0);
- }
- 100% {
- transform: scale(1.07) translate(3%, 2%);
- }
- }
- .swiper-slide-active .translate1 { /* img を削除 */
- animation: translate1 6s linear 0s 1 normal both;
- }
- @keyframes translate2 {
- 0% {
- transform: scale(1.05) translate(1%,2%);
- }
- 100% {
- transform: scale(1.1) translate(-2%, -3%);
- }
- }
- .swiper-slide-active .translate2 { /* img を削除 */
- animation: translate2 6s linear 0s 1 normal both;
- }
- <script>
- let mySwiper = new Swiper ('.swiper', {
- loop: true,
- pagination: {
- el: '.swiper-pagination',
- clickable: true,
- },
- navigation: {
- nextEl: '.swiper-button-next',
- prevEl: '.swiper-button-prev',
- },
- })
- </script>