css信封制作
使用CSS制作信封效果
通过CSS的border属性和transform属性可以模拟信封的折叠效果。以下是一个简单的信封样式实现:
<div class="envelope">
<div class="envelope-flap"></div>
<div class="envelope-body"></div>
</div>
.envelope {
position: relative;
width: 200px;
height: 120px;
margin: 50px auto;
}
.envelope-body {
width: 100%;
height: 100%;
background: #c33;
border-radius: 0 0 5px 5px;
box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}
.envelope-flap {
position: absolute;
top: -20px;
left: 0;
width: 0;
height: 0;
border-left: 100px solid transparent;
border-right: 100px solid transparent;
border-bottom: 20px solid #a22;
transform-origin: top;
transform: rotateX(180deg);
z-index: -1;
}
添加信封内容区域
在信封内部添加一个内容区域,模拟信件纸张:
<div class="envelope">
<div class="envelope-flap"></div>
<div class="envelope-body">
<div class="letter"></div>
</div>
</div>
.letter {
position: absolute;
width: 90%;
height: 90%;
background: white;
top: 5%;
left: 5%;
border-radius: 2px;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
创建动画效果
添加CSS动画使信封看起来可以被打开:
.envelope:hover .envelope-flap {
animation: openFlap 0.5s forwards;
}
@keyframes openFlap {
0% {
transform: rotateX(180deg);
}
100% {
transform: rotateX(0deg);
}
}
添加邮票元素
在信封右上角添加邮票样式:
<div class="envelope">
<div class="stamp"></div>
<div class="envelope-flap"></div>
<div class="envelope-body">
<div class="letter"></div>
</div>
</div>
.stamp {
position: absolute;
width: 30px;
height: 40px;
background: #f8f8f8;
border: 1px dashed #999;
top: 10px;
right: 10px;
z-index: 2;
}
.stamp::before {
content: "邮票";
font-size: 8px;
color: #666;
text-align: center;
display: block;
margin-top: 15px;
}
响应式调整
使用CSS变量使信封尺寸可调整:

.envelope {
--envelope-width: 200px;
--envelope-height: 120px;
width: var(--envelope-width);
height: var(--envelope-height);
}
.envelope-flap {
border-left: calc(var(--envelope-width)/2) solid transparent;
border-right: calc(var(--envelope-width)/2) solid transparent;
}
通过这些CSS技巧可以创建一个视觉上吸引人的信封效果,可以根据需要调整颜色、尺寸和动画效果。






