这是一个超级小白保姆帖~~不废话,直接上代码!
【 界面中的二维码没有打码,请不要扫码!!!】
项目结构
qr-payment-system/
├── index.html
├── css/
│ └── style.css
├── js/
│ └── script.js
└── images/
├── wechat.png
├── alipay.png
└── qq.png
- index.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="css/style.css">
</head>
<body>
<div class="container">
<h1>二维码打赏收银台</h1>
<p class="description">选择支付方式,扫描二维码完成支付</p>
<div class="payment-tabs">
<div class="tab active" id="wechat-tab">微信支付</div>
<div class="tab" id="alipay-tab">支付宝</div>
<div class="tab" id="qq-tab">QQ钱包</div>
</div>
<div class="qrcode-container" id="wechat-container">
<div class="qrcode">
<img src="images/wechat.png" alt="微信支付二维码">
</div>
<p class="scan-text">微信扫码支付</p>
</div>
<div class="qrcode-container" id="alipay-container" style="display: none;">
<div class="qrcode">
<img src="images/alipay.png" alt="支付宝二维码">
</div>
<p class="scan-text">支付宝扫码支付</p>
</div>
<div class="qrcode-container" id="qq-container" style="display: none;">
<div class="qrcode">
<img src="images/qq.png" alt="QQ钱包二维码">
</div>
<p class="scan-text">QQ钱包扫码支付</p>
</div>
<button class="scan-btn" id="scan-btn">扫码支付</button>
<div class="browsers">
<span>为了最佳体验,建议使用:</span>
<img src="images/chrome.svg" alt="Chrome">
<img src="images/firefox.svg" alt="Firefox">
</div>
</div>
<script src="js/script.js"></script>
</body>
</html>
- css/style.css 文件
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
}
body {
background-color: #f0f2f5;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 2rem;
}
.container {
max-width: 400px;
width: 100%;
background-color: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(10px);
border-radius: 16px;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
padding: 2.5rem;
text-align: center;
}
h1 {
color: #333;
font-size: 1.75rem;
font-weight: 300;
margin-bottom: 0.75rem;
letter-spacing: 0.5px;
}
.description {
color: #666;
font-size: 0.9rem;
margin-bottom: 1.5rem;
line-height: 1.5;
}
.payment-tabs {
display: flex;
justify-content: center;
margin-bottom: 1.5rem;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.tab {
padding: 0.75rem 1.5rem;
cursor: pointer;
font-size: 0.9rem;
color: #666;
transition: all 0.3s ease;
position: relative;
}
.tab.active {
color: #4285f4;
font-weight: 500;
}
.tab.active::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
height: 2px;
background-color: #4285f4;
}
.qrcode-container {
position: relative;
margin-bottom: 1.5rem;
}
.qrcode {
width: 200px;
height: 200px;
margin: 0 auto;
background-color: #fff;
border-radius: 8px;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}
.qrcode img {
max-width: 100%;
max-height: 100%;
}
.scan-text {
font-size: 0.85rem;
color: #888;
margin-top: 0.5rem;
}
.scan-btn {
background-color: #4285f4;
color: white;
border: none;
border-radius: 50px;
padding: 0.85rem 2rem;
font-size: 1rem;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(66, 133, 244, 0.3);
margin-top: 1rem;
}
.scan-btn:hover {
background-color: #3367d6;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(66, 133, 244, 0.4);
}
.browsers {
margin-top: 1.5rem;
display: flex;
justify-content: center;
gap: 0.5rem;
font-size: 0.8rem;
color: #666;
}
.browsers img {
height: 20px;
opacity: 0.7;
}
@media (max-width: 480px) {
.qrcode {
width: 160px;
height: 160px;
}
.scan-btn {
width: 100%;
}
}
- js/script.js 文件
document.addEventListener('DOMContentLoaded', function() {
// 获取标签页和容器元素
const wechatTab = document.getElementById('wechat-tab');
const alipayTab = document.getElementById('alipay-tab');
const qqTab = document.getElementById('qq-tab');
const wechatContainer = document.getElementById('wechat-container');
const alipayContainer = document.getElementById('alipay-container');
const qqContainer = document.getElementById('qq-container');
// 标签页点击事件
wechatTab.addEventListener('click', function() {
setActiveTab(wechatTab);
wechatContainer.style.display = 'block';
alipayContainer.style.display = 'none';
qqContainer.style.display = 'none';
});
alipayTab.addEventListener('click', function() {
setActiveTab(alipayTab);
alipayContainer.style.display = 'block';
wechatContainer.style.display = 'none';
qqContainer.style.display = 'none';
});
qqTab.addEventListener('click', function() {
setActiveTab(qqTab);
qqContainer.style.display = 'block';
wechatContainer.style.display = 'none';
alipayContainer.style.display = 'none';
});
// 设置活动标签
function setActiveTab(tab) {
wechatTab.classList.remove('active');
alipayTab.classList.remove('active');
qqTab.classList.remove('active');
tab.classList.add('active');
}
// 按钮点击事件
const scanBtn = document.getElementById('scan-btn');
scanBtn.addEventListener('click', function() {
const activeTab = document.querySelector('.tab.active');
if (activeTab === wechatTab) {
alert('微信扫码支付功能已触发!');
} else if (activeTab === alipayTab) {
alert('支付宝扫码支付功能已触发!');
} else if (activeTab === qqTab) {
alert('QQ钱包扫码支付功能已触发!');
}
});
// 初始化默认选中微信支付
setActiveTab(wechatTab);
});
- images/ 文件夹
wechat.png:微信支付二维码图片
alipay.png:支付宝二维码图片
qq.png:QQ钱包二维码图片
使用说明
创建一个文件夹 qr-payment-system。
在文件夹中创建 index.html、css/style.css 和 js/script.js 文件。
创建一个 images 文件夹,并将三种支付方式的二维码图片放入其中。
在浏览器中打开 index.html 文件即可查看效果。
优化特点
优雅的字体和间距:调整字体样式和间距,使标题更加优雅。
细微的动画效果:按钮悬停时有轻微的阴影和位置变化,提升交互体验。
响应式设计:适配不同屏幕尺寸,确保在手机、平板和桌面设备上都有良好的显示效果。
如果你觉得麻烦,那就只好关注我的公众号了,这样可以直接下载文件。

下面是跟KIMI的对话,非常简单就可以优化到现在这个样子。
1.
https://www.123456789.com(瞎写的链接,这个链接中有原始界面)
你给我写一个符合现代审美的,要好看!
2.
要有完整的文件结构和全部的代码文件,css和js呢?你这个只有一个html?内嵌了?
3.
你在分析一下,原链接中有三种付款方式,你这个只有微信啊。其他的呢???重新分享原链接,根据最后一次的整体文件结构重新写出完整文件代码,保证可用性。
4.
现在这个已经非常不错了,比之前好很多了。其他内容都不用变,我想让这个更好看一些,上面的大字体不够优雅,面板是不是可以做成毛玻璃或半透明的样式。给我再优化一下吧。再整体输出完整的文件和文件代码。
就是以上4句话完成了,最终的效果。