You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OneAuth/ui/page/latest.html

159 lines
3.9 KiB
HTML

7 months ago
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vyes.js - 现代前端框架</title>
</head>
<style>
body {
margin: 0;
font-family: Arial, sans-serif;
background-color: #f9fafb;
color: #333;
}
header {
background: linear-gradient(120deg, #6a11cb, #2575fc);
color: white;
padding: 40px 20px;
text-align: center;
}
header h1 {
font-size: 3rem;
margin: 0;
}
header p {
font-size: 1.2rem;
margin-top: 10px;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.features {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
margin-top: 40px;
}
.feature-card {
background: white;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
padding: 20px;
width: 300px;
text-align: center;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-card:hover {
transform: translateY(-10px);
box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}
.feature-card h2 {
font-size: 1.5rem;
margin-bottom: 10px;
}
.feature-card p {
font-size: 1rem;
color: #666;
}
.cta-button {
display: inline-block;
background: #2575fc;
color: white;
padding: 10px 20px;
border-radius: 5px;
text-decoration: none;
font-size: 1rem;
margin-top: 20px;
transition: background 0.3s ease;
}
.cta-button:hover {
background: #1e5db9;
}
footer {
background: #333;
color: white;
text-align: center;
padding: 20px;
margin-top: 40px;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.fade-in {
animation: fadeIn 1s ease-out;
}
</style>
<body>
<header>
<h1>Vyes.js</h1>
<p>现代化、轻量级的前端框架</p>
</header>
<div class="container">
<!-- 特性介绍 -->
<section class="fade-in">
<h2 style="text-align: center;">为什么选择 Vyes.js</h2>
<div class="features">
<div class="feature-card">
<h2>简单易用</h2>
<p>遵循 HTML5 规范,快速上手,轻松构建复杂的前端应用。</p>
</div>
<div class="feature-card">
<h2>响应式数据</h2>
<p>自动追踪数据变化,实时更新视图,无需手动操作 DOM。</p>
</div>
<div class="feature-card">
<h2>组件化开发</h2>
<p>支持组件复用和插槽机制,提升开发效率。</p>
</div>
</div>
</section>
<!-- 使用方法 -->
<section class="fade-in" style="margin-top: 40px;">
<h2 style="text-align: center;">快速开始</h2>
<pre style="background: #f4f4f4; padding: 20px; border-radius: 10px; overflow-x: auto;">
&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;&lt;/head&gt;
&lt;style&gt;&lt;/style&gt;
&lt;body&gt;
&lt;div&gt;{{ message }}&lt;/div&gt;
&lt;button @click="changeMessage"&gt;点击我&lt;/button&gt;
&lt;/body&gt;
&lt;script setup&gt;
message = "Hello, Vyes.js!";
changeMessage = () => {
message = "你点击了按钮!";
};
&lt;/script&gt;
&lt;/html&gt;
</pre>
<a href="#!" class="cta-button">了解更多</a>
</section>
</div>
<footer>
<p>&copy; 2023 Vyes.js. All rights reserved.</p>
</footer>
</body>
<script setup>
// 动态加载内容以触发 fade-in 动画
setTimeout(() => {
const sections = $node.querySelectorAll(".fade-in");
sections.forEach((section) => section.classList.add("fade-in"));
}, 100);
</script>
</html>