feat(UI): 为页面添加淡入动画效果和搜索框样式优化
为多个页面添加页面加载时的淡入动画效果,提升用户体验 优化搜索框和下拉选择框的样式,使用form-floating布局 统一在DOM加载完成后添加page-transition类触发动画
This commit is contained in:
@@ -25,6 +25,22 @@ if (!$resultApps) {
|
||||
} else {
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
.page-transition {
|
||||
animation: fadeIn 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
@@ -42,7 +58,7 @@ if (!$resultApps) {
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<body class="page-transition">
|
||||
<!-- 导航栏 -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light blur-bg">
|
||||
<div class="container">
|
||||
@@ -125,6 +141,11 @@ if (!$resultApps) {
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.body.classList.add('page-transition');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
|
||||
@@ -49,9 +49,24 @@ $resultApps = $conn->query($sqlApps);
|
||||
backdrop-filter: blur(10px);
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.page-transition {
|
||||
animation: fadeIn 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<body class="page-transition">
|
||||
<!-- 导航栏 -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light blur-bg">
|
||||
<div class="container">
|
||||
@@ -75,6 +90,10 @@ $resultApps = $conn->query($sqlApps);
|
||||
</nav>
|
||||
|
||||
<div class="container mt-4">
|
||||
<div class="mb-3 form-floating">
|
||||
<input type="text" class="form-control" id="searchApp" placeholder="搜索应用">
|
||||
<label for="searchApp">搜索应用</label>
|
||||
</div>
|
||||
<h1><?php echo $developerName; ?> 的应用</h1>
|
||||
<hr>
|
||||
|
||||
@@ -113,5 +132,10 @@ $resultApps = $conn->query($sqlApps);
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.body.classList.add('page-transition');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
33
index.php
33
index.php
@@ -6,6 +6,22 @@ if (!isset($conn) || !$conn instanceof mysqli) {
|
||||
die('数据库连接失败,请检查配置文件。');
|
||||
}?>
|
||||
<!DOCTYPE html>
|
||||
<style>
|
||||
.page-transition {
|
||||
animation: fadeIn 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
@@ -24,7 +40,7 @@ if (!isset($conn) || !$conn instanceof mysqli) {
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<body class="page-transition">
|
||||
<!-- 导航栏 -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light blur-bg">
|
||||
<div class="container">
|
||||
@@ -82,10 +98,14 @@ if (!isset($conn) || !$conn instanceof mysqli) {
|
||||
</script>
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<input type="text" name="search" class="form-control" placeholder="搜索应用..." value="<?php echo isset($_GET['search']) ? htmlspecialchars($_GET['search']) : ''; ?>">
|
||||
<div class="form-floating">
|
||||
<input type="text" name="search" class="form-control" id="searchInput" placeholder="搜索应用..." value="<?php echo isset($_GET['search']) ? htmlspecialchars($_GET['search']) : ''; ?>">
|
||||
<label for="searchInput">搜索应用</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<select name="tag" class="form-select">
|
||||
<div class="form-floating">
|
||||
<select name="tag" class="form-select" id="tagSelect">
|
||||
<option value="">所有标签</option>
|
||||
<?php
|
||||
$tagResult = $conn->query("SELECT id, name FROM tags ORDER BY name");
|
||||
@@ -96,6 +116,8 @@ if (!isset($conn) || !$conn instanceof mysqli) {
|
||||
<option value="<?php echo $tag['id']; ?>" <?php echo $selected; ?>><?php echo htmlspecialchars($tag['name']); ?></option>
|
||||
<?php endwhile; ?>
|
||||
</select>
|
||||
<label for="tagSelect">选择标签</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<button class="btn btn-primary w-100" type="submit">搜索</button>
|
||||
@@ -308,5 +330,10 @@ if (!isset($conn) || !$conn instanceof mysqli) {
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.body.classList.add('page-transition');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -58,9 +58,24 @@ while ($row = $result->fetch_assoc()) {
|
||||
background-color: #0b5ed7;
|
||||
border-color: #0a58ca;
|
||||
}
|
||||
|
||||
.page-transition {
|
||||
animation: fadeIn 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<body class="page-transition">
|
||||
<!-- 导航栏 -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||
<div class="container">
|
||||
@@ -82,6 +97,10 @@ while ($row = $result->fetch_assoc()) {
|
||||
</nav>
|
||||
|
||||
<div class="container mt-4">
|
||||
<div class="mb-3 form-floating">
|
||||
<input type="text" class="form-control" id="searchVersion" placeholder="搜索版本">
|
||||
<label for="searchVersion">搜索版本</label>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<h1><?php echo htmlspecialchars($app['name']); ?> - 版本历史</h1>
|
||||
@@ -124,5 +143,10 @@ while ($row = $result->fetch_assoc()) {
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.body.classList.add('page-transition');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user