html怎么写小信封图标,HTML5 CSS3 一叠绵软的信封纸张

CSS

语言:

CSSSCSS

确定

html {

font-size: 20px;

-webkit-user-select: none;

-moz-user-select: none;

-ms-user-select: none;

user-select: none;

}

body {

height: 100vh;

width: 100vw;

background: #c27070;

font-family: "Merriweather", serif;

color: white;

font-size: 2rem;

}

.paper {

position: absolute;

top: 50%;

left: 50%;

-webkit-transform: translate3d(-50%, -50%, 0);

transform: translate3d(-50%, -50%, 0);

width: 5rem;

height: 10rem;

}

.paper .left,

.paper .right,

.paper .mid {

position: absolute;

width: 5rem;

height: 10rem;

background: #f4f1f1;

-webkit-transform: perspective(200rem) rotateX(60deg);

transform: perspective(200rem) rotateX(60deg);

-webkit-transition: -webkit-transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

transition: -webkit-transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

transition: transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

transition: transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 600ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

.paper .left {

left: -4.5rem;

-webkit-transform-origin: 100% 50%;

transform-origin: 100% 50%;

}

.paper .right {

left: 4.5rem;

-webkit-transform-origin: 0% 50%;

transform-origin: 0% 50%;

}

.paper .mid {

-webkit-transform-origin: 50% 50%;

transform-origin: 50% 50%;

z-index: 2;

}

.paper .sheet {

-webkit-transition: -webkit-transform 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

transition: -webkit-transform 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

transition: transform 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

transition: transform 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 1000ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

}

.paper .sheet:nth-child(1) {

-webkit-transform: translateY(2rem);

transform: translateY(2rem);

}

.paper .sheet:nth-child(1) .left,

.paper .sheet:nth-child(1) .right,

.paper .sheet:nth-child(1) .mid {

background: #ddd5d5;

-webkit-transition-delay: 100ms;

transition-delay: 100ms;

}

.paper .sheet:nth-child(2) {

-webkit-transform: translateY(1.5rem);

transform: translateY(1.5rem);

}

.paper .sheet:nth-child(2) .left,

.paper .sheet:nth-child(2) .right,

.paper .sheet:nth-child(2) .mid {

background: #e8e3e3;

-webkit-transition-delay: 50ms;

transition-delay: 50ms;

}

.paper .sheet:nth-child(3) {

-webkit-transform: translateY(1rem);

transform: translateY(1rem);

}

.paper.half .left {

-webkit-transform: perspective(100rem) rotateX(60deg) rotateY(5deg) translateZ(-1rem);

transform: perspective(100rem) rotateX(60deg) rotateY(5deg) translateZ(-1rem);

}

.paper.half .right {

-webkit-transform: perspective(100rem) rotateX(60deg) rotateY(-5deg) translateZ(-1rem);

transform: perspective(100rem) rotateX(60deg) rotateY(-5deg) translateZ(-1rem);

}

.paper.half .mid {

-webkit-transform: perspective(100rem) rotateX(60deg) rotateY(0deg) translateZ(-0.97rem);

transform: perspective(100rem) rotateX(60deg) rotateY(0deg) translateZ(-0.97rem);

}

.paper.down .left,

.paper.down .right,

.paper.down .mid {

-webkit-transform: perspective(100rem) rotateX(60deg) rotateY(0deg) translateZ(-1rem);

transform: perspective(100rem) rotateX(60deg) rotateY(0deg) translateZ(-1rem);

}

.paper.down .sheet:nth-child(1) {

-webkit-transform: translateY(2rem);

transform: translateY(2rem);

}

.paper.down .sheet:nth-child(2) {

-webkit-transform: translateY(1.5rem);

transform: translateY(1.5rem);

}

.paper.down .sheet:nth-child(3) {

-webkit-transform: translateY(1rem);

transform: translateY(1rem);

}

.paper.down:active .sheet:nth-child(1) {

-webkit-transform: translateY(2rem) rotateX(0deg);

transform: translateY(2rem) rotateX(0deg);

}

.paper.down:active .sheet:nth-child(2) {

-webkit-transform: translateY(1.75rem) rotateX(-5deg);

transform: translateY(1.75rem) rotateX(-5deg);

}

.paper.down:active .sheet:nth-child(3) {

-webkit-transform: translateY(1.5rem) rotateX(-10deg);

transform: translateY(1.5rem) rotateX(-10deg);

}

.paper .stamp {

position: absolute;

top: 0.5rem;

left: 0.5rem;

width: 1.5rem;

height: 2rem;

background: #d5b3e6;

box-shadow: inset 0 0 0 0.2rem #bd94d1;

}

.paper .address {

position: absolute;

top: 50%;

left: 50%;

width: 200%;

text-align: center;

font-size: 0.6rem;

color: #b3bfe6;

-webkit-transform: translate3d(-50%, -50%, 0);

transform: translate3d(-50%, -50%, 0);

}

.sig {

position: fixed;

bottom: 8px;

right: 8px;

text-decoration: none;

font-size: 12px;

font-weight: 100;

font-family: sans-serif;

color: rgba(255, 255, 255, 0.4);

letter-spacing: 2px;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的使用 CSS 和 JavaScript 实现自动打开信封效果的示例: ```html <!DOCTYPE html> <html> <head> <style> /* 设置信封的样式 */ .envelope { position: relative; width: 300px; height: 200px; background-color: #fff; border: 2px solid #333; border-radius: 10px; overflow: hidden; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); } /* 设置信封上的盖子样式 */ .envelope:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 50px; background-color: #fff; transform-origin: top left; transform: rotate(-45deg); box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); } /* 设置信封上的信封口样式 */ .envelope:after { content: ""; position: absolute; top: 48px; left: 50%; width: 100px; height: 20px; background-color: #fff; border: 2px solid #333; border-radius: 0 0 10px 10px; transform: translateX(-50%); box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); } /* 设置信封里面的信件样式 */ .letter { position: absolute; top: 50px; left: 0; width: 100%; height: calc(100% - 50px); background-color: #f7f2e7; padding: 20px; box-sizing: border-box; transform-origin: top; transform: rotateX(90deg); transition: transform 1s; } /* 设置打开信封的动画 */ .envelope.open .letter { transform: rotateX(0); } </style> </head> <body> <div class="envelope" onclick="this.classList.add('open')"> <div class="letter"> <p>这是一封信,内容在这里。</p> </div> </div> </body> </html> ``` 在上面的代码,我们首先设置了一个 envelope 类的 div 元素作为信封的容器,并设置了它的样式,包括宽度、高度、背景颜色、边框、圆角、溢出隐藏和阴影等属性。然后使用 :before 和 :after 伪元素分别表示信封上的盖子和信封口,并设置它们的样式。接着,使用一个 letter 类的 div 元素表示信封里面的信件,并设置它的样式,包括宽度、高度、背景颜色、内边距、盒模型和旋转等属性。最后使用 JavaScript 给 envelope 元素添加一个 click 事件处理函数,当用户点击信封时,给 envelope 元素添加一个 open 类,触发打开信封的动画效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值