You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
411 lines
12 KiB
411 lines
12 KiB
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=375, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
<title>青核 Youthome - 青号指南</title>
|
|
<link rel="stylesheet" href="../colors_and_type.css">
|
|
<style>
|
|
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
|
|
:root {
|
|
/* Traework 设计令牌 - 圆角/间距/阴影/高度 */
|
|
--radius-xs: 4px;
|
|
--radius-sm: 8px;
|
|
--radius-md: 12px;
|
|
--radius-lg: 16px;
|
|
--radius-xl: 20px;
|
|
--radius-full: 9999px;
|
|
--height-btn: 44px;
|
|
--height-input: 44px;
|
|
--height-nav: 64px;
|
|
--space-1: 4px;
|
|
--space-2: 8px;
|
|
--space-3: 12px;
|
|
--space-4: 16px;
|
|
--space-5: 20px;
|
|
--space-6: 24px;
|
|
--shadow-card: 0 2px 12px rgba(0, 0, 0, 0.04);
|
|
--shadow-card-hover: 0 6px 20px rgba(0, 0, 0, 0.06);
|
|
--shadow-btn: 0 2px 8px rgba(38, 194, 187, 0.25);
|
|
--shadow-btn-hover: 0 4px 16px rgba(38, 194, 187, 0.35);
|
|
--shadow-modal: 0 16px 48px rgba(0, 0, 0, 0.12);
|
|
--shadow-float: 0 4px 24px rgba(0, 0, 0, 0.08);
|
|
--shadow-inset: inset 0 1px 3px rgba(0, 0, 0, 0.03);
|
|
--glass-bg: rgba(255, 255, 255, 0.72);
|
|
--glass-blur: blur(20px);
|
|
--glass-border: rgba(255, 255, 255, 0.3);
|
|
|
|
}
|
|
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'SF Pro Display', sans-serif;
|
|
background: #0d1117;
|
|
color: #fff;
|
|
overflow: hidden;
|
|
overflow-x: hidden;}
|
|
|
|
.page-container {
|
|
width: 375px;
|
|
height: 812px;
|
|
margin: 0 auto;
|
|
position: relative;
|
|
background: linear-gradient(180deg, #0d1117 0%, #161b22 50%, #0d1117 100%);
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* 装饰星星背景 */
|
|
.stars {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.star {
|
|
position: absolute;
|
|
width: 2px;
|
|
height: 2px;
|
|
background: #fff;
|
|
border-radius: 50%;
|
|
opacity: 0.3;
|
|
animation: twinkle 3s infinite;
|
|
}
|
|
|
|
@keyframes twinkle {
|
|
0%, 100% { opacity: 0.3; }
|
|
50% { opacity: 0.8; }
|
|
}
|
|
|
|
/* 跳过按钮 */
|
|
.skip-btn {
|
|
position: absolute;
|
|
top: 54px;
|
|
right: 16px;
|
|
padding: 6px 14px;
|
|
background: rgba(255,255,255,0.1);
|
|
backdrop-filter: blur(10px);
|
|
border-radius: 16px;
|
|
font-size: 12px;
|
|
color: rgba(255,255,255,0.8);
|
|
border: none;
|
|
cursor: pointer;
|
|
z-index: 20;
|
|
}
|
|
|
|
/* 轮播内容 */
|
|
.slides-wrap {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
}
|
|
|
|
.slide {
|
|
width: 375px;
|
|
flex-shrink: 0;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 40px;
|
|
}
|
|
|
|
.slide-icon {
|
|
width: 120px;
|
|
height: 120px;
|
|
border-radius: 30px;
|
|
background: linear-gradient(135deg, #26C2BB 0%, #54CAC5 50%, #7EDDD9 100%);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-bottom: 40px;
|
|
box-shadow: 0 8px 32px rgba(38, 194, 187, 0.35);
|
|
position: relative;
|
|
animation: float 4s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes float {
|
|
0%, 100% { transform: translateY(0); }
|
|
50% { transform: translateY(-10px); }
|
|
}
|
|
|
|
.slide-icon::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
height: 50%;
|
|
background: linear-gradient(180deg, rgba(255,255,255,0.25) 0%, transparent 100%);
|
|
border-radius: 30px 30px 0 0;
|
|
}
|
|
|
|
.slide-icon svg {
|
|
color: #fff;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.slide-title {
|
|
font-size: 22px;
|
|
font-weight: 700;
|
|
color: #fff;
|
|
margin-bottom: 12px;
|
|
text-align: center;
|
|
}
|
|
|
|
.slide-desc {
|
|
font-size: 14px;
|
|
color: rgba(255,255,255,0.6);
|
|
line-height: 1.6;
|
|
text-align: center;
|
|
}
|
|
|
|
.slide-desc .highlight {
|
|
color: #26C2BB;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* 指示器 */
|
|
.indicators {
|
|
position: absolute;
|
|
bottom: 160px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
display: flex;
|
|
gap: 8px;
|
|
z-index: 10;
|
|
}
|
|
|
|
.indicator {
|
|
width: 8px;
|
|
height: 8px;
|
|
border-radius: 50%;
|
|
background: rgba(255,255,255,0.25);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.indicator.active {
|
|
width: 24px;
|
|
border-radius: 4px;
|
|
background: #26C2BB;
|
|
}
|
|
|
|
/* 底部按钮 */
|
|
.bottom-action {
|
|
position: absolute;
|
|
bottom: 60px;
|
|
left: 16px;
|
|
right: 16px;
|
|
z-index: 10;
|
|
}
|
|
|
|
.start-btn {
|
|
width: 100%;
|
|
height: 48px;
|
|
background: linear-gradient(135deg, #54CAC5 0%, #26C2BB 50%, #1FA8A2 100%);
|
|
color: #fff;
|
|
border: none;
|
|
border-radius: 24px;
|
|
font-size: 16px;
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
box-shadow: 0 6px 20px rgba(38, 194, 187, 0.35);
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
transition: all 0.4s ease;
|
|
}
|
|
|
|
.start-btn.show {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.next-btn {
|
|
display: none;
|
|
width: 100%;
|
|
height: 48px;
|
|
background: rgba(255,255,255,0.1);
|
|
backdrop-filter: blur(10px);
|
|
color: #fff;
|
|
border: 1px solid rgba(255,255,255,0.2);
|
|
border-radius: 8px;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* SVG 图标统一尺寸 */
|
|
.icon-svg {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 1em;
|
|
height: 1em;
|
|
vertical-align: middle;
|
|
line-height: 1;
|
|
}
|
|
.icon-svg svg {
|
|
width: 100%;
|
|
height: 100%;
|
|
stroke: currentColor;
|
|
}
|
|
/* 侧栏图标 */
|
|
.sidebar-icon .icon-svg { width: 22px; height: 22px; font-size: 22px; }
|
|
/* 社团logo图标 */
|
|
.club-logo .icon-svg { width: 28px; height: 28px; font-size: 28px; color: #fff; }
|
|
/* 头图大图标 */
|
|
.hero-icon .icon-svg { width: 56px; height: 56px; font-size: 56px; opacity: 0.3; }
|
|
/* meta 小图标 */
|
|
.club-meta .icon-svg { width: 12px; height: 12px; font-size: 12px; }
|
|
/* 分类选择网格图标 */
|
|
.cat-option .icon-svg { width: 26px; height: 26px; font-size: 26px; }
|
|
/* logo预览图标 */
|
|
.logo-preview .icon-svg { width: 40px; height: 40px; font-size: 40px; color: #fff; }
|
|
/* 提示图标 */
|
|
.notice-icon .icon-svg { width: 18px; height: 18px; font-size: 18px; }
|
|
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="page-container" data-dom-id="page-container">
|
|
<!-- 星星背景 -->
|
|
<div class="stars" id="stars"></div>
|
|
|
|
<button class="skip-btn" onclick="finish()">跳过</button>
|
|
|
|
<!-- 轮播 -->
|
|
<div class="slides-wrap" id="slidesWrap">
|
|
<div class="slide">
|
|
<div class="slide-icon">
|
|
<svg width="56" height="56" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M12 19l7-7 3 3-7 7-3-3z"></path>
|
|
<path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"></path>
|
|
<path d="M2 2l7.586 7.586"></path>
|
|
<circle cx="11" cy="11" r="2"></circle>
|
|
</svg>
|
|
</div>
|
|
<div class="slide-title">开通青春号</div>
|
|
<div class="slide-desc">
|
|
成为校园创作者,让更多同学看到你的<span class="highlight">优质内容</span>,打造个人校园 IP
|
|
</div>
|
|
</div>
|
|
|
|
<div class="slide">
|
|
<div class="slide-icon" style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); box-shadow: 0 8px 32px rgba(118, 75, 162, 0.35);">
|
|
<svg width="56" height="56" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
|
|
<path d="M12 2L2 7l10 5 10-5-10-5z"></path>
|
|
<path d="M2 17l10 5 10-5"></path>
|
|
<path d="M2 12l10 5 10-5"></path>
|
|
</svg>
|
|
</div>
|
|
<div class="slide-title">专属创作权益</div>
|
|
<div class="slide-desc">
|
|
专属认证标识、更高<span class="highlight">曝光推荐</span>、内容收益分成、优先参与官方活动
|
|
</div>
|
|
</div>
|
|
|
|
<div class="slide">
|
|
<div class="slide-icon" style="background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); box-shadow: 0 8px 32px rgba(245, 87, 108, 0.35);">
|
|
<svg width="56" height="56" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
|
|
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>
|
|
</svg>
|
|
</div>
|
|
<div class="slide-title">立即开始创作</div>
|
|
<div class="slide-desc">
|
|
发布优质内容,积累粉丝,<span class="highlight">赢取丰厚奖励</span>,开启校园创作之旅
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 指示器 -->
|
|
<div class="indicators" id="indicators">
|
|
<div class="indicator active"></div>
|
|
<div class="indicator"></div>
|
|
<div class="indicator"></div>
|
|
</div>
|
|
|
|
<!-- 底部按钮 -->
|
|
<div class="bottom-action">
|
|
<button class="start-btn" id="startBtn" onclick="finish()">立即开通青春号</button>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
// 生成星星
|
|
(function() {
|
|
const stars = document.getElementById('stars');
|
|
for (let i = 0; i < 50; i++) {
|
|
const star = document.createElement('div');
|
|
star.className = 'star';
|
|
star.style.left = Math.random() * 100 + '%';
|
|
star.style.top = Math.random() * 100 + '%';
|
|
star.style.animationDelay = Math.random() * 3 + 's';
|
|
star.style.opacity = (0.2 + Math.random() * 0.5).toFixed(2);
|
|
star.style.width = (1 + Math.random() * 2).toFixed(1) + 'px';
|
|
star.style.height = star.style.width;
|
|
stars.appendChild(star);
|
|
}
|
|
})();
|
|
|
|
let currentSlide = 0;
|
|
const totalSlides = 3;
|
|
const slidesWrap = document.getElementById('slidesWrap');
|
|
const indicators = document.querySelectorAll('.indicator');
|
|
const startBtn = document.getElementById('startBtn');
|
|
|
|
function goToSlide(index) {
|
|
currentSlide = Math.max(0, Math.min(totalSlides - 1, index));
|
|
slidesWrap.style.transform = `translateX(-${currentSlide * 375}px)`;
|
|
indicators.forEach((ind, i) => {
|
|
ind.classList.toggle('active', i === currentSlide);
|
|
});
|
|
if (currentSlide === totalSlides - 1) {
|
|
startBtn.classList.add('show');
|
|
} else {
|
|
startBtn.classList.remove('show');
|
|
}
|
|
}
|
|
|
|
// 触摸滑动
|
|
let startX = 0;
|
|
let currentX = 0;
|
|
let isDragging = false;
|
|
|
|
document.querySelector('.slides-wrap').addEventListener('touchstart', function(e) {
|
|
startX = e.touches[0].clientX;
|
|
isDragging = true;
|
|
});
|
|
|
|
document.querySelector('.slides-wrap').addEventListener('touchend', function(e) {
|
|
if (!isDragging) return;
|
|
isDragging = false;
|
|
const diff = e.changedTouches[0].clientX - startX;
|
|
if (diff < -30 && currentSlide < totalSlides - 1) {
|
|
goToSlide(currentSlide + 1);
|
|
} else if (diff > 30 && currentSlide > 0) {
|
|
goToSlide(currentSlide - 1);
|
|
}
|
|
});
|
|
|
|
// 点击也可切换
|
|
let clickCount = 0;
|
|
document.querySelector('.slides-wrap').addEventListener('click', function() {
|
|
clickCount++;
|
|
setTimeout(() => {
|
|
if (clickCount === 1 && currentSlide < totalSlides - 1) {
|
|
goToSlide(currentSlide + 1);
|
|
}
|
|
clickCount = 0;
|
|
}, 200);
|
|
});
|
|
|
|
function finish() {
|
|
alert('跳转动态首页');
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|