368 lines
11 KiB
HTML
368 lines
11 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>开发者介绍 | 区块链龙哥 出品</title>
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||
<link rel="stylesheet" href="style.css">
|
||
<style>
|
||
.developer-container {
|
||
max-width: 800px;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
.profile-card {
|
||
background: var(--card-bg);
|
||
border-radius: var(--radius-lg);
|
||
padding: var(--spacing-xl);
|
||
margin-bottom: var(--spacing-lg);
|
||
box-shadow: var(--shadow-md);
|
||
border: 1px solid var(--border-color);
|
||
text-align: center;
|
||
}
|
||
|
||
.profile-avatar {
|
||
width: 120px;
|
||
height: 120px;
|
||
border-radius: 50%;
|
||
background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
margin: 0 auto var(--spacing-lg);
|
||
font-size: 48px;
|
||
color: white;
|
||
box-shadow: var(--shadow-lg);
|
||
}
|
||
|
||
.profile-name {
|
||
font-size: 28px;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
margin-bottom: var(--spacing-sm);
|
||
}
|
||
|
||
.profile-title {
|
||
font-size: 16px;
|
||
color: var(--text-secondary);
|
||
margin-bottom: var(--spacing-lg);
|
||
}
|
||
|
||
.profile-bio {
|
||
font-size: 15px;
|
||
color: var(--text-primary);
|
||
line-height: 1.8;
|
||
max-width: 600px;
|
||
margin: 0 auto var(--spacing-lg);
|
||
}
|
||
|
||
.contact-card {
|
||
background: var(--card-bg);
|
||
border-radius: var(--radius-lg);
|
||
padding: var(--spacing-xl);
|
||
margin-bottom: var(--spacing-lg);
|
||
box-shadow: var(--shadow-md);
|
||
border: 1px solid var(--border-color);
|
||
}
|
||
|
||
.contact-card h2 {
|
||
font-size: 20px;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
margin-bottom: var(--spacing-lg);
|
||
display: flex;
|
||
align-items: center;
|
||
gap: var(--spacing-sm);
|
||
}
|
||
|
||
.contact-card h2 i {
|
||
color: var(--primary-color);
|
||
}
|
||
|
||
.contact-list {
|
||
display: grid;
|
||
gap: var(--spacing-md);
|
||
}
|
||
|
||
.contact-item {
|
||
display: flex;
|
||
align-items: center;
|
||
padding: var(--spacing-md);
|
||
background: var(--bg-color);
|
||
border-radius: var(--radius-md);
|
||
border: 1px solid var(--border-color);
|
||
transition: all 0.3s ease;
|
||
}
|
||
|
||
.contact-item:hover {
|
||
border-color: var(--primary-color);
|
||
box-shadow: var(--shadow-sm);
|
||
}
|
||
|
||
.contact-icon {
|
||
width: 48px;
|
||
height: 48px;
|
||
border-radius: var(--radius-md);
|
||
background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-size: 20px;
|
||
color: white;
|
||
margin-right: var(--spacing-md);
|
||
}
|
||
|
||
.contact-info {
|
||
flex: 1;
|
||
}
|
||
|
||
.contact-label {
|
||
font-size: 13px;
|
||
color: var(--text-secondary);
|
||
margin-bottom: 4px;
|
||
}
|
||
|
||
.contact-value {
|
||
font-size: 16px;
|
||
font-weight: 600;
|
||
color: var(--text-primary);
|
||
font-family: 'Courier New', monospace;
|
||
}
|
||
|
||
.contact-action {
|
||
padding: 8px 16px;
|
||
background: var(--primary-color);
|
||
color: var(--text-primary);
|
||
border: none;
|
||
border-radius: var(--radius-sm);
|
||
font-size: 14px;
|
||
font-weight: 600;
|
||
cursor: pointer;
|
||
transition: all 0.3s ease;
|
||
}
|
||
|
||
.contact-action:hover {
|
||
background: var(--primary-dark);
|
||
}
|
||
|
||
.tools-card {
|
||
background: var(--card-bg);
|
||
border-radius: var(--radius-lg);
|
||
padding: var(--spacing-xl);
|
||
margin-bottom: var(--spacing-lg);
|
||
box-shadow: var(--shadow-md);
|
||
border: 1px solid var(--border-color);
|
||
}
|
||
|
||
.tools-card h2 {
|
||
font-size: 20px;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
margin-bottom: var(--spacing-lg);
|
||
display: flex;
|
||
align-items: center;
|
||
gap: var(--spacing-sm);
|
||
}
|
||
|
||
.tools-card h2 i {
|
||
color: var(--primary-color);
|
||
}
|
||
|
||
.tools-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||
gap: var(--spacing-md);
|
||
}
|
||
|
||
.tool-link {
|
||
display: flex;
|
||
align-items: center;
|
||
padding: var(--spacing-md);
|
||
background: var(--bg-color);
|
||
border-radius: var(--radius-md);
|
||
border: 1px solid var(--border-color);
|
||
text-decoration: none;
|
||
color: var(--text-primary);
|
||
transition: all 0.3s ease;
|
||
}
|
||
|
||
.tool-link:hover {
|
||
border-color: var(--primary-color);
|
||
box-shadow: var(--shadow-sm);
|
||
transform: translateY(-2px);
|
||
}
|
||
|
||
.tool-link i {
|
||
font-size: 24px;
|
||
color: var(--primary-color);
|
||
margin-right: var(--spacing-sm);
|
||
}
|
||
|
||
.tool-link-text {
|
||
flex: 1;
|
||
}
|
||
|
||
.tool-link-title {
|
||
font-size: 15px;
|
||
font-weight: 600;
|
||
margin-bottom: 4px;
|
||
}
|
||
|
||
.tool-link-desc {
|
||
font-size: 13px;
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.back-button {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: var(--spacing-sm);
|
||
padding: 12px 24px;
|
||
background: var(--card-bg);
|
||
color: var(--text-primary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: var(--radius-md);
|
||
text-decoration: none;
|
||
font-weight: 600;
|
||
transition: all 0.3s ease;
|
||
margin-bottom: var(--spacing-lg);
|
||
}
|
||
|
||
.back-button:hover {
|
||
border-color: var(--primary-color);
|
||
box-shadow: var(--shadow-sm);
|
||
}
|
||
|
||
.footer {
|
||
text-align: center;
|
||
padding: var(--spacing-lg);
|
||
color: var(--text-secondary);
|
||
font-size: 14px;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="developer-container">
|
||
<!-- 返回按钮 -->
|
||
<a href="index.html" class="back-button">
|
||
<i class="fas fa-arrow-left"></i>
|
||
返回主页
|
||
</a>
|
||
|
||
<!-- 个人资料卡片 -->
|
||
<div class="profile-card">
|
||
<div class="profile-avatar">
|
||
<i class="fas fa-dragon"></i>
|
||
</div>
|
||
<h1 class="profile-name">区块链龙哥</h1>
|
||
<p class="profile-title">区块链开发者 · Web3工具开发</p>
|
||
<p class="profile-bio">
|
||
专注于区块链技术开发和Web3工具创建,致力于为用户提供简单、安全、高效的区块链应用解决方案。
|
||
擅长智能合约开发、DApp开发以及区块链工具开发。
|
||
</p>
|
||
</div>
|
||
|
||
<!-- 联系方式卡片 -->
|
||
<div class="contact-card">
|
||
<h2><i class="fas fa-address-book"></i> 联系方式</h2>
|
||
<div class="contact-list">
|
||
<!-- 微信 -->
|
||
<div class="contact-item">
|
||
<div class="contact-icon">
|
||
<i class="fab fa-weixin"></i>
|
||
</div>
|
||
<div class="contact-info">
|
||
<div class="contact-label">微信号</div>
|
||
<div class="contact-value">aaronlzhou</div>
|
||
</div>
|
||
<button class="contact-action" onclick="copyToClipboard('aaronlzhou', '微信号')">
|
||
<i class="fas fa-copy"></i> 复制
|
||
</button>
|
||
</div>
|
||
|
||
<!-- 邮箱 -->
|
||
<div class="contact-item">
|
||
<div class="contact-icon">
|
||
<i class="fas fa-envelope"></i>
|
||
</div>
|
||
<div class="contact-info">
|
||
<div class="contact-label">电子邮箱</div>
|
||
<div class="contact-value">aaron.l.zhou@gmail.com</div>
|
||
</div>
|
||
<button class="contact-action" onclick="copyToClipboard('aaron.l.zhou@gmail.com', '邮箱地址')">
|
||
<i class="fas fa-copy"></i> 复制
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 底部 -->
|
||
<div class="footer">
|
||
<p><i class="fas fa-code"></i> 使用区块链技术构建更好的未来</p>
|
||
<p style="margin-top: 8px; color: var(--text-tertiary);">© 2026 区块链龙哥 · All Rights Reserved</p>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
// 复制到剪贴板功能
|
||
function copyToClipboard(text, label) {
|
||
navigator.clipboard.writeText(text).then(() => {
|
||
// 创建提示消息
|
||
const toast = document.createElement('div');
|
||
toast.textContent = `${label}已复制到剪贴板`;
|
||
toast.style.cssText = `
|
||
position: fixed;
|
||
top: 20px;
|
||
right: 20px;
|
||
background: var(--success-color);
|
||
color: white;
|
||
padding: 12px 24px;
|
||
border-radius: 8px;
|
||
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
|
||
z-index: 9999;
|
||
animation: slideIn 0.3s ease;
|
||
`;
|
||
|
||
document.body.appendChild(toast);
|
||
|
||
// 3秒后移除
|
||
setTimeout(() => {
|
||
toast.style.animation = 'slideOut 0.3s ease';
|
||
setTimeout(() => toast.remove(), 300);
|
||
}, 3000);
|
||
}).catch(err => {
|
||
alert('复制失败,请手动复制');
|
||
});
|
||
}
|
||
|
||
// 添加动画样式
|
||
const style = document.createElement('style');
|
||
style.textContent = `
|
||
@keyframes slideIn {
|
||
from {
|
||
transform: translateX(400px);
|
||
opacity: 0;
|
||
}
|
||
to {
|
||
transform: translateX(0);
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
@keyframes slideOut {
|
||
from {
|
||
transform: translateX(0);
|
||
opacity: 1;
|
||
}
|
||
to {
|
||
transform: translateX(400px);
|
||
opacity: 0;
|
||
}
|
||
}
|
||
`;
|
||
document.head.appendChild(style);
|
||
</script>
|
||
</body>
|
||
</html>
|