console
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>山姆超市购物卡 - 520礼物</title>
<link
href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&family=Dancing+Script:wght@700&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Noto Sans SC', sans-serif;
background: linear-gradient(135deg, #f9f0ff, #e6f7ff);
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
color: #333;
}
.header {
text-align: center;
margin: 20px 0 30px;
width: 100%;
}
.header h1 {
color: #e91e63;
font-size: 2.8rem;
margin-bottom: 10px;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
.header p {
font-size: 1.2rem;
color: #555;
max-width: 800px;
margin: 0 auto;
line-height: 1.6;
}
.container {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 40px;
max-width: 1200px;
margin: 0 auto;
}
.card-container {
perspective: 1500px;
width: 380px;
height: 520px;
}
.card {
position: relative;
width: 100%;
height: 100%;
transform-style: preserve-3d;
transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
border-radius: 25px;
box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
cursor: pointer;
}
.card.flipped {
transform: rotateY(180deg);
}
.card-face {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
border-radius: 25px;
display: flex;
flex-direction: column;
justify-content: space-between;
overflow: hidden;
padding: 30px;
}
.card-front {
background: linear-gradient(135deg, #ff758c 0%, #ff7eb3 100%);
color: white;
text-align: center;
}
.card-back {
background: linear-gradient(135deg, #5ee7df 0%, #b490ca 100%);
transform: rotateY(180deg);
color: white;
}
.card-logo {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-top: 20px;
}
.card-logo i {
font-size: 2.5rem;
color: #fff;
}
.card-logo h2 {
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 2px;
}
.card-main {
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.card-main h3 {
font-size: 1.8rem;
margin: 20px 0;
font-weight: 500;
color: #fff;
background: rgba(0, 0, 0, 0.1);
padding: 10px 30px;
border-radius: 50px;
}
.card-amount {
font-family: 'Dancing Script', cursive;
font-size: 4.5rem;
color: #fff;
text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2);
margin: 10px 0;
}
.card-title {
font-size: 2.2rem;
font-weight: 700;
margin: 15px 0;
letter-spacing: 1px;
color: #fff;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.card-desc {
font-size: 1.4rem;
margin: 20px 0;
color: rgba(255, 255, 255, 0.9);
font-weight: 500;
}
.card-for {
background: rgba(255, 255, 255, 0.2);
padding: 15px;
border-radius: 15px;
font-size: 1.6rem;
font-weight: 700;
margin-top: 20px;
backdrop-filter: blur(5px);
}
.card-number {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.1);
padding: 15px;
border-radius: 10px;
font-family: monospace;
font-size: 1.3rem;
letter-spacing: 2px;
}
.card-footer {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 20px;
}
.card-chip {
width: 50px;
height: 40px;
background: linear-gradient(135deg, #c9c9c9 0%, #e0e0e0 100%);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.card-chip i {
font-size: 1.8rem;
color: #555;
}
.card-validity {
font-size: 0.9rem;
text-align: right;
}
.card-back-content {
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.magnetic-strip {
height: 40px;
background: #222;
margin: 30px -30px;
}
.signature-area {
background: rgba(255, 255, 255, 0.9);
height: 40px;
border-radius: 5px;
display: flex;
align-items: center;
padding: 0 10px;
color: #333;
font-size: 0.9rem;
}
.terms {
font-size: 0.7rem;
line-height: 1.4;
margin-top: 20px;
color: rgba(255, 255, 255, 0.8);
}
.features {
background: white;
border-radius: 20px;
padding: 30px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
max-width: 500px;
width: 100%;
}
.features h2 {
color: #e91e63;
text-align: center;
margin-bottom: 25px;
font-size: 1.8rem;
}
.feature-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.feature {
display: flex;
align-items: center;
gap: 15px;
padding: 15px;
border-radius: 12px;
background: #f8f9fa;
transition: all 0.3s ease;
}
.feature:hover {
transform: translateY(-5px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
background: white;
}
.feature i {
font-size: 1.8rem;
width: 50px;
height: 50px;
background: linear-gradient(135deg, #ff758c 0%, #ff7eb3 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
}
.feature-content h3 {
color: #e91e63;
margin-bottom: 5px;
}
.feature-content p {
color: #666;
font-size: 0.95rem;
line-height: 1.4;
}
.instructions {
margin-top: 40px;
text-align: center;
color: #666;
font-size: 1.1rem;
max-width: 800px;
padding: 0 20px;
}
.flip-instruction {
background: #e91e63;
color: white;
padding: 10px 20px;
border-radius: 50px;
display: inline-block;
margin-top: 15px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s;
}
.flip-instruction:hover {
transform: scale(1.05);
box-shadow: 0 5px 15px rgba(233, 30, 99, 0.4);
}
@media (max-width: 900px) {
.container {
flex-direction: column;
align-items: center;
}
.feature-grid {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<div class="header">
<h1>山姆超市购物卡</h1>
<p>一张充满爱意的礼物卡,您的随心挑选心仪商品,520的完美礼物</p>
</div>
<div class="container">
<div class="card-container">
<div class="card">
<div class="card-face card-front">
<div class="card-logo">
<i class="fas fa-store"></i>
<h2>山姆会员超市</h2>
</div>
<div class="card-main">
<div class="card-amount">¥520</div>
<div class="card-title">购物卡</div>
<div class="card-desc">随心选 · 随心购</div>
<div class="card-for">
<i class="fas fa-heart"></i> 送给最爱的老婆 <i class="fas fa-heart"></i>
</div>
</div>
<div class="card-footer">
<div class="card-chip">
<i class="fas fa-microchip"></i>
</div>
<div class="card-validity">
有效期至: 2026-06-10<br>
山姆会员超市
</div>
</div>
</div>
<div class="card-face card-back">
<div class="card-back-content">
<div>
<div class="magnetic-strip"></div>
<div class="signature-area">
<i class="fas fa-pen"></i> 持卡人签名处 :代丽君
</div>
</div>
<div class="terms">
<p><strong>使用条款:</strong></p>
<p>1. 本卡可在全国山姆会员超市使用</p>
<p>2. 只限于代女士使用</p>
<p>3. 有效期至2026年06月10日</p>
<p>4. 本卡最终解释权归代女士所有</p>
</div>
<div class="card-logo">
<i class="fas fa-store"></i>
<h2>山姆会员超市</h2>
</div>
</div>
</div>
</div>
</div>
<div class="features">
<h2>购物卡特色</h2>
<div class="feature-grid">
<div class="feature">
<i class="fas fa-gift"></i>
<div class="feature-content">
<h3>520专属设计</h3>
<p>特别为520设计的爱心主题购物卡,传递浓浓爱意</p>
</div>
</div>
<div class="feature">
<i class="fas fa-shopping-cart"></i>
<div class="feature-content">
<h3>随心选购</h3>
<p>持卡可自由选购山姆超市所有商品,无使用限制</p>
</div>
</div>
<div class="feature">
<i class="fas fa-credit-card"></i>
<div class="feature-content">
<h3>安全便捷</h3>
<p>支付安全可靠,使用方便快捷</p>
</div>
</div>
<div class="feature">
<i class="fas fa-calendar-alt"></i>
<div class="feature-content">
<h3>超长有效期</h3>
<p>有效期至2026年,给您充足的使用时间</p>
</div>
</div>
</div>
</div>
</div>
<div class="instructions">
<p>点击卡片查看背面详情 ↑</p>
<div class="flip-instruction" id="flipBtn">翻转卡片</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function () {
const card = document.querySelector('.card');
const flipBtn = document.getElementById('flipBtn');
card.addEventListener('click', function () {
this.classList.toggle('flipped');
});
flipBtn.addEventListener('click', function () {
card.classList.toggle('flipped');
});
});
</script>
</body>
</html>