diff --git a/app.php b/app.php index a8ad741..f5cf99b 100644 --- a/app.php +++ b/app.php @@ -212,6 +212,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['rating'])) {
...
diff --git a/index.php b/index.php index 1ead044..f6b24c4 100644 --- a/index.php +++ b/index.php @@ -173,7 +173,7 @@ if (!isset($conn) || !$conn instanceof mysqli) { while ($row = $recommendResult->fetch_assoc()) { echo '
';
+
echo ''. substr(htmlspecialchars($row['description']), 0, 100) . '...
'; @@ -280,7 +280,7 @@ if (!isset($conn) || !$conn instanceof mysqli) { while ($row = $result->fetch_assoc()) { echo '
';
+
echo ''. substr($row['description'], 0, 100) . '...
'; diff --git a/styles.css b/styles.css index fa286dc..14d90e8 100644 --- a/styles.css +++ b/styles.css @@ -128,4 +128,31 @@ body { .age-rating svg { width: 20px; height: 20px; +} + +/* 骨架屏加载动画 */ +.skeleton-chart { + width: 400px; + height: 200px; + background: #f0f0f0; + border-radius: 4px; + position: relative; + overflow: hidden; +} + +@keyframes shimmer { + 0% { background-position: -468px 0 } + 100% { background-position: 468px 0 } +} + +.skeleton-chart::after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + transform: translateX(-100%); + background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 20%, rgba(255,255,255,0.5) 60%, rgba(255,255,255,0) 100%); + animation: shimmer 2s infinite; } \ No newline at end of file diff --git a/tags.php b/tags.php index 3d2a842..fe2a0f8 100644 --- a/tags.php +++ b/tags.php @@ -135,7 +135,7 @@ $tagResult = $conn->query("SELECT id, name FROM tags ORDER BY name"); fetch_assoc()): ?>
+
...