欢迎光临散文网 会员登陆 & 注册

CSS动画之弹出信封

2023-02-16 17:57 作者:Befree_New  | 我要投稿

<!DOCTYPE html>

<html lang="en">

 <head>

  <meta charset="UTF-8" />

  <meta http-equiv="X-UA-Compatible" content="IE=edge" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <title>Document</title>

  <link rel="stylesheet" href="style.css" />

 </head>


 <!--页面结构-->

 <body>

  <div class="letter-image">

   <div class="animated-mail">

    <div class="back-fold"></div>

    <div class="letter">

     <div class="letter-border"></div>

     <div class="letter-title"></div>

     <div class="letter-context"></div>

     <div class="letter-stamp">

      <div class="letter-stamp-inner"></div>

     </div>

    </div>

    <div class="top-fold"></div>

    <div class="body"></div>

    <div class="left-fold"></div>

   </div>

   <div class="shadow"></div>

  </div>

 </body>

</html>



!-------CSS-------style.css-----

body {

 background: #323641;

}


.letter-image {

 position: absolute;

 top: 50%;

 left: 50%;

 width: 200px;

 height: 200px;

 transform: translate(-50%, -50%);

 cursor: pointer;

}


.animated-mail {

 position: absolute;

 height: 150px;

 width: 200px;

 transition: 0.4s;

}


/* 信封部分 一 */

.animated-mail .body {

 position: absolute;

 bottom: 0;

 width: 0;

 height: 0;

 border-style: solid;

 border-width: 0 0 100px 200px;

 border-color: transparent transparent #e95f55 transparent;

 z-index: 2;

}


.animated-mail .top-fold {

 position: absolute;

 top: 50px;

 width: 0;

 height: 0;

 border-style: solid;

 border-width: 50px 100px 0 100px;

 transform-origin: 50% 0%;

 transition: transform 0.4s 0.4s, z-index 0.2s 0.4s;

 border-color: #cf4a43 transparent transparent transparent;

 z-index: 2;

}


/* 信封部分 二 */

.animated-mail .back-fold {

 position: absolute;

 bottom: 0;

 width: 200px;

 height: 100px;

 background: #cf4a43;

 z-index: 0;

}


.animated-mail .left-fold {

 position: absolute;

 bottom: 0;

 width: 0;

 height: 0;

 border-style: solid;

 border-width: 50px 0 50px 100px;

 border-color: transparent transparent transparent #e15349;

 z-index: 2;

}


/* 信纸部分 */

.animated-mail .letter {

 left: 20px;

 bottom: 0px;

 position: absolute;

 width: 160px;

 height: 60px;

 background: white;

 z-index: 1;

 overflow: hidden;

 transition: 0.4s 0.2s;

}


.animated-mail .letter .letter-border {

 height: 10px;

 width: 100%;

 background: repeating-linear-gradient(

  -45deg,

  #cb5a5e,

  #cb5a5e 8px,

  transparent 8px,

  transparent 18px

 );

}


/*信纸部分 二*/

.animated-mail .letter .letter-title {

 margin-top: 10px;

 margin-left: 5px;

 height: 10px;

 width: 40%;

 background: #cb5a5e;

}

.animated-mail .letter .letter-context {

 margin-top: 10px;

 margin-left: 5px;

 height: 10px;

 width: 20%;

 background: #cb5a5e;

}

.animated-mail .letter .letter-stamp {

 margin-top: 30px;

 margin-left: 120px;

 border-radius: 100%;

 height: 30px;

 width: 30px;

 background: #cb5a5e;

 opacity: 0.3;

}


/*信封阴影*/

.shadow {

 position: absolute;

 top: 200px;

 left: 50%;

 width: 400px;

 height: 30px;

 transition: 0.4s;

 transform: translateX(-50%);

 border-radius: 100%;

 background: radial-gradient(

  rgba(0, 0, 0, 0.5),

  rgba(0, 0, 0, 0),

  rgba(0, 0, 0, 0)

 );

}


/*hover 动态效果 */

.letter-image:hover .animated-mail {

 transform: translateY(50px);

}

.letter-image:hover .animated-mail .top-fold {

 transition: transform 0.4s, z-index 0.2s;

 transform: rotateX(180deg);

 z-index: 0;

}

.letter-image:hover .animated-mail .letter {

 height: 180px;

}

.letter-image:hover .shadow {

 width: 250px;

}

CSS动画之弹出信封的评论 (共 条)

分享到微博请遵守国家法律