CSS实现3D悬停相册

CSS实现3D悬停相册

css部分


          *{   margin: 0;  
             padding: 0; 
             outline: none; 
             border: none; 
             box-sizing: border-box; }
          html,body{   
                min-height: 100%; 
              }
          body{ 
              background-image: radial-gradient(mintcream 0%, lightgray 100%);
              }
          h2{
              display: table;
              margin: 5% auto 0;
              text-transform: uppercase;            /* uppercase定义只有大写字母  */
              font-family: "Times New Roman",Georgia,Serif;
              font-size: 3em;
              font-weight: 500;
              text-shadow: 0 1px white, 0 3px blue;
          }
          .container{
              width: 360px;
              height: 250px;
              position: relative;
              margin: 5% auto;
              perspective: 1000;
          }
          #rotatephoto{
              width: 100%;
              height: 100%;
              position: absolute;
              transform-style: preserve-3d;
              animation: rotation 20s infinite linear;
          }
          #rotatephoto:hover{
              animation-play-state: paused;
          }
          #rotatephoto figure{
              display: block;
              position: absolute;
              width: 350px;
              height: 188px;
              left: 10px;
              top: 10px;
              background: black;
              overflow: hidden;
              border: 5px solid black;
          }
          #rotatephoto figure:nth-child(1){  transform:  rotateY(0deg) translateZ(500px);}
          #rotatephoto figure:nth-child(2){  transform:  rotateY(40deg) translateZ(500px);}
          #rotatephoto figure:nth-child(3){  transform:  rotateY(80deg) translateZ(500px);}
          #rotatephoto figure:nth-child(4){  transform:  rotateY(120deg) translateZ(500px);}
          #rotatephoto figure:nth-child(5){  transform:  rotateY(160deg) translateZ(500px);}
          #rotatephoto figure:nth-child(6){  transform:  rotateY(200deg) translateZ(500px);}
          #rotatephoto figure:nth-child(7){  transform:  rotateY(240deg) translateZ(500px);}
          #rotatephoto figure:nth-child(8){  transform:  rotateY(280deg) translateZ(500px);}
          #rotatephoto figure:nth-child(9){  transform:  rotateY(320deg) translateZ(500px);}
 
          img{
              -webkit-filter: grayscale(1);     /* filter滤镜 */
              cursor: pointer;
              transition: all 0.8s ease;
          }
          img:hover{
              -webkit-filter: grayscale(0);
              transform: scale(1.3, 1.3);       /* scale缩放 */
          }
 
          @keyframes rotation{
              0%{
                  transform: rotateY(0deg);
              }
              100%{
                  transform: rotateY(360deg);
              }
          }

## HTML部分

```html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
    <h2>ZZY 3D Images Gallery</h2>
<div class="container">
     <div id="rotatephoto">
        <figure><img src="ig/1.jpg" alt=""></figure>
        <figure><img src="ig/2.jpg" alt=""></figure>
        <figure><img src="ig/3.jpg" alt=""></figure>
        <figure><img src="ig/4.jpg" alt=""></figure>
        <figure><img src="ig/5.jpg" alt=""></figure>
        <figure><img src="ig/6.jpg" alt=""></figure>
        <figure><img src="ig/7.jpg" alt=""></figure>
        <figure><img src="ig/8.jpg" alt=""></figure>
        <figure><img src="ig/9.jpg" alt=""></figure>

     </div>
</div>
</body>
</html>

实现效果
在这里插入图片描述
当鼠标放上面时候 会从灰色变成彩色,并且放大 不动试呈现横向循环播放
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值