Initial commit: novel website with 34 chapters
This commit is contained in:
commit
32b72247ec
158
alacarte-novel-website/TEMPLATE_README.md
Normal file
158
alacarte-novel-website/TEMPLATE_README.md
Normal file
@ -0,0 +1,158 @@
|
||||
# 章节模板使用说明(V2)
|
||||
|
||||
## 模板文件
|
||||
`template.html` - 增强版公共模板
|
||||
|
||||
## 新增功能
|
||||
|
||||
### 1. 顶部固定导航栏
|
||||
- **返回首页**按钮(🏠)- 返回网站首页
|
||||
- **主题切换**按钮(☀️/🌙)- 切换深色/浅色模式
|
||||
|
||||
### 2. 底部固定导航栏
|
||||
- **上一章**按钮 - 自动根据章节号生成链接
|
||||
- **目录**按钮 - 返回章节列表页
|
||||
- **下一章**按钮 - 自动根据章节号生成链接
|
||||
- 滚动时始终可见
|
||||
|
||||
### 3. 右侧浮动按钮组
|
||||
- **回到顶部**(↑)- 平滑滚动到页面顶部
|
||||
- **回到底部**(↓)- 平滑滚动到页面底部
|
||||
|
||||
### 4. 侧边栏章节导航
|
||||
- 显示**全部34章**完整列表
|
||||
- 当前章节高亮显示
|
||||
- 支持滚动查看
|
||||
- 桌面端右侧固定,移动端自动隐藏
|
||||
|
||||
### 5. 主题切换
|
||||
- 支持深色/浅色两种主题
|
||||
- 自动保存用户偏好
|
||||
- 所有元素颜色自适应
|
||||
|
||||
## 使用方法
|
||||
|
||||
`{{CHAPTER_META}}` 是模板占位符,用于插入章节元信息(如等级、地图),现已移除不用。
|
||||
|
||||
### 创建新章节
|
||||
复制 `template.html` 并重命名为 `chapter-XX.html`
|
||||
|
||||
### 替换占位符
|
||||
|
||||
| 占位符 | 说明 | 示例 |
|
||||
|--------|------|------|
|
||||
| `{{CHAPTER_NUMBER}}` | 章节编号 | Chapter 35 |
|
||||
| `{{CHAPTER_TITLE}}` | 章节标题 | 第三十五章:邪龙斯皮兹 |
|
||||
| `{{CHAPTER_CONTENT}}` | 小说正文内容 | `<p>正文...</p>` |
|
||||
| `{{CHAPTER_ID}}` | 章节数字ID | 35 |
|
||||
| `{{PREV_CHAPTER}}` | 上一章链接 | chapter-34.html |
|
||||
| `{{NEXT_CHAPTER}}` | 下一章链接 | chapter-36.html |
|
||||
| `{{PREV_DISABLED}}` | 上一章是否禁用 | disabled 或 空 |
|
||||
| `{{NEXT_DISABLED}}` | 下一章是否禁用 | disabled 或 空 |
|
||||
| `{{SIDEBAR_CHAPTERS}}` | 侧边栏全部章节 | 自动生成 |
|
||||
|
||||
### 正文内容格式
|
||||
|
||||
```html
|
||||
<p>这是第一段正文...</p>
|
||||
<p>这是第二段正文...</p>
|
||||
<p>「这是对话内容」角色说道。</p>
|
||||
```
|
||||
|
||||
**注意:正文内不要有章节标题,标题只在 `<header>` 中显示**
|
||||
|
||||
### 完整示例(第35章框架)
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>第三十五章:邪龙斯皮兹 - 阿拉德:剑之回响</title>
|
||||
<!-- 样式已内嵌 -->
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<a href="../index.html" class="home-btn">🏠 返回首页</a>
|
||||
<button class="theme-btn" id="themeToggle">☀️</button>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 35</div>
|
||||
<h1 class="chapter-title">第三十五章:邪龙斯皮兹</h1>
|
||||
<div class="chapter-meta">Lv.52-55 · 暗精灵墓地</div>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>四把钥匙在手中发出共鸣...</p>
|
||||
<p>(正文内容,无标题)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<a href="chapter-34.html" class="nav-btn">← 上一章</a>
|
||||
<a href="chapters.html" class="nav-btn">📑 目录</a>
|
||||
<a href="chapter-36.html" class="nav-btn disabled">下一章 →</a>
|
||||
</nav>
|
||||
|
||||
<!-- 滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop">↑</button>
|
||||
<button class="scroll-btn" id="scrollBottom">↓</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏(全部34章) -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">📚 全部章节</div>
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第一章:洛兰的风</a>
|
||||
...
|
||||
<a href="chapter-35.html" class="sidebar-chapter current">第三十五章:邪龙斯皮兹</a>
|
||||
...
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 阅读进度 + 主题切换 + 滚动功能
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
## CSS 变量说明
|
||||
|
||||
模板使用 CSS 变量支持主题切换:
|
||||
|
||||
```css
|
||||
:root {
|
||||
--bg-primary: 背景渐变
|
||||
--bg-container: 容器背景
|
||||
--text-primary: 主要文字颜色
|
||||
--text-secondary: 次要文字颜色
|
||||
--accent-gradient: 强调色渐变
|
||||
--border-color: 边框颜色
|
||||
--btn-bg: 按钮背景
|
||||
--btn-hover: 按钮悬停背景
|
||||
}
|
||||
```
|
||||
|
||||
通过 `data-theme="light"` 切换浅色主题。
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **正文内不要放章节标题** - 标题只在 `<header>` 中
|
||||
2. **侧边栏需要列出全部章节** - 保持完整性
|
||||
3. **第1章的上一章要加 `disabled` 类**
|
||||
4. **最后一章的下一章要加 `disabled` 类**
|
||||
5. **每写新章记得更新侧边栏和 js/app.js**
|
||||
|
||||
## 批量更新脚本
|
||||
|
||||
如需修改模板后批量更新所有章节:
|
||||
|
||||
```bash
|
||||
node final-update.js
|
||||
```
|
||||
|
||||
(参考 `final-update.js` 源码,可根据需要调整)
|
||||
133
alacarte-novel-website/chapters.html
Normal file
133
alacarte-novel-website/chapters.html
Normal file
@ -0,0 +1,133 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
</head>
|
||||
<body class="chapters-page">
|
||||
<!-- 导航栏 -->
|
||||
<nav class="navbar">
|
||||
<div class="nav-container">
|
||||
<a href="index.html" class="logo">
|
||||
<span class="logo-icon">⚔️</span>
|
||||
<span class="logo-text">阿拉德文库</span>
|
||||
</a>
|
||||
<div class="nav-links">
|
||||
<a href="index.html">首页</a>
|
||||
<a href="chapters.html" class="active">目录</a>
|
||||
<a href="wiki.html">设定集</a>
|
||||
<a href="index.html#about">关于</a>
|
||||
</div>
|
||||
<div class="nav-actions">
|
||||
<button class="theme-toggle" id="themeToggle">
|
||||
<span class="theme-icon">🌙</span>
|
||||
</button>
|
||||
<button class="menu-toggle" id="menuToggle">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 章节列表头部 -->
|
||||
<section class="chapters-header">
|
||||
<div class="container">
|
||||
<div class="chapters-header-content">
|
||||
<div class="book-mini">
|
||||
<div class="mini-cover" style="background: url('images/cover.png') center/cover no-repeat;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="chapters-title">
|
||||
<h1>阿拉德:剑之回响</h1>
|
||||
<p>共 34 章 · 连载中</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="reading-progress">
|
||||
<div class="progress-bar">
|
||||
<div class="progress-fill" id="progressFill"></div>
|
||||
</div>
|
||||
<span class="progress-text" id="progressText">阅读进度 0%</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 章节列表 -->
|
||||
<section class="chapters-list">
|
||||
<div class="container">
|
||||
<div class="chapters-filter">
|
||||
<div class="filter-tabs">
|
||||
<button class="filter-tab active" data-filter="all">全部章节</button>
|
||||
<button class="filter-tab" data-filter="latest">最近更新</button>
|
||||
<button class="filter-tab" data-filter="unread">未读章节</button>
|
||||
</div>
|
||||
<div class="search-box">
|
||||
<input type="text" placeholder="搜索章节..." id="searchInput">
|
||||
<svg class="search-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<circle cx="11" cy="11" r="8"/>
|
||||
<path d="M21 21l-4.35-4.35"/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chapters-timeline" id="chaptersList">
|
||||
<!-- 章节列表将通过JS动态生成 -->
|
||||
</div>
|
||||
|
||||
<div class="chapters-pagination">
|
||||
<button class="btn btn-secondary" disabled>上一页</button>
|
||||
<div class="page-numbers">
|
||||
<span class="page-current">1</span>
|
||||
<span class="page-total">/ 1</span>
|
||||
</div>
|
||||
<button class="btn btn-secondary" disabled>下一页</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 快速操作浮动按钮 -->
|
||||
<div class="fab-container">
|
||||
<button class="fab" id="scrollTop" title="回到顶部">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M18 15l-6-6-6 6"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- 页脚 -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<div class="footer-content">
|
||||
<div class="footer-brand">
|
||||
<span class="logo-icon">⚔️</span>
|
||||
<span class="logo-text">阿拉德文库</span>
|
||||
</div>
|
||||
<p class="footer-desc">为《阿拉德:剑之回响》打造的专属阅读平台</p>
|
||||
<div class="footer-links">
|
||||
<a href="index.html">首页</a>
|
||||
<a href="chapters.html">目录</a>
|
||||
<a href="index.html#about">关于</a>
|
||||
</div>
|
||||
<p class="footer-copyright">© 2026 阿拉德:剑之回响 · 李策 著</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/app.js"></script>
|
||||
<script>
|
||||
// 章节页面特定逻辑
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
renderChaptersList();
|
||||
setupFilters();
|
||||
setupSearch();
|
||||
updateReadingProgress();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
582
alacarte-novel-website/chapters/chapter-1.html
Normal file
582
alacarte-novel-website/chapters/chapter-1.html
Normal file
@ -0,0 +1,582 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 1</div>
|
||||
<h1 class="chapter-title">洛兰的风</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>艾尔文防线的清晨,是从铁匠铺的锤声开始的。</p>
|
||||
<p>"叮——叮——叮——"</p>
|
||||
<p>林克睁开眼,陌生的天花板映入眼帘。木质的房梁,斑驳的墙壁,还有一股淡淡的薰衣草香味。</p>
|
||||
<p>他试图坐起身,左肩却传来一阵剧痛。</p>
|
||||
<p>"别动,你的伤口还没愈合。"</p>
|
||||
<p>清甜的声音从门口传来。林克转头,看到一个少女端着水盆走进来。她有着一头柔顺的棕色长发,眼睛像是春日的湖水,清澈而温暖。</p>
|
||||
<p>"你是……"</p>
|
||||
<p>"我叫赛丽亚。"少女将毛巾浸湿,轻轻敷在他的额头上,"昨天你在洛兰森林里晕倒了,是一位路过的剑士把你送到这里的。"</p>
|
||||
<p>林克努力回忆。</p>
|
||||
<p>他从虚祖出发,一路向西,穿越了大半个阿拉德大陆。最后来到这个叫艾尔文防线的地方,听说是冒险者的聚集地。然后……他在一个叫洛兰的地方迷路了,遇到了一群绿皮怪物——哥布林。</p>
|
||||
<p>那些家伙比他想象中更难对付。数量众多,阴险狡诈,还会设陷阱。他打倒了五六只,但左肩被一只哥布林的短刀划开了一道口子。</p>
|
||||
<p>失血过多,最后他晕倒了。</p>
|
||||
<p>"那位剑士呢?"林克问。</p>
|
||||
<p>"他放下你就走了,只说让你伤好后去一趟铁匠铺。"赛丽亚收起毛巾,露出一个温柔的笑容,"不过他说了一句话,让我很好奇。"</p>
|
||||
<p>"什么话?"</p>
|
||||
<p>"他说……"赛丽亚学着那人的低沉嗓音,"'这小子,和当年的我很像。'"</p>
|
||||
<p>林克愣住了。</p>
|
||||
<p>和当年的他很像?那位剑士是谁?</p>
|
||||
<p>---</p>
|
||||
<p>三天后,林克的伤好得差不多了。</p>
|
||||
<p>赛丽亚的旅馆虽然简陋,但收拾得很干净。这三天里,他每天在赛丽亚的照料下养伤,听她说着艾尔文防线的事。</p>
|
||||
<p>这里是贝尔玛尔公国和德洛斯帝国交界的前线,常年有冒险者来往。最近格兰之森的怪物变得躁动不安,不少新手冒险者都在这里丢了性命。</p>
|
||||
<p>"你也是从外面来的冒险者吗?"赛丽亚一边擦拭柜台,一边问道。</p>
|
||||
<p>"算是吧。"林克看着自己的左手,那上面缠着厚厚的绷带。</p>
|
||||
<p>他的左手,和别人不一样。</p>
|
||||
<p>从记事起,他的左手就是血红色的,皮肤下仿佛有什么东西在蠕动。村里的人说这是诅咒,是不祥之兆。他从小就被视为怪物,被驱逐,被孤立。</p>
|
||||
<p>直到三年前,一位云游的剑士路过他的村庄。</p>
|
||||
<p>"这是鬼手。"那位剑士说,"被卡赞诅咒的手臂,拥有鬼神之力的同时,也会被诅咒侵蚀。"</p>
|
||||
<p>"我会变成怪物吗?"</p>
|
||||
<p>"那取决于你。"剑士说,"力量本身没有善恶,关键在于使用它的心。如果你愿意,我可以教你剑术。用剑,来掌控这份力量。"</p>
|
||||
<p>那位剑士,叫阿甘左。</p>
|
||||
<p>三年了,林克一直在寻找阿甘左的踪迹。听说他最后出现在艾尔文防线附近,所以他才一路追寻到这里。</p>
|
||||
<p>"林克?"赛丽亚的声音将他拉回现实。</p>
|
||||
<p>"啊,抱歉。"他收回思绪,"你说铁匠铺?"</p>
|
||||
<p>"嗯,那位剑士让你伤好后去一趟。"赛丽亚指着门外,"出门左转,走到底就是林纳斯大叔的铁匠铺。"</p>
|
||||
<p>---</p>
|
||||
<p>铁匠铺里热气腾腾。</p>
|
||||
<p>一个中年男人正在炉台前打铁,肌肉虬结的手臂挥舞着铁锤,每一次落下都溅起耀眼的火星。</p>
|
||||
<p>"你就是林克?"男人头也不抬地问。</p>
|
||||
<p>"是。"</p>
|
||||
<p>"阿甘左交代过了。"林纳斯放下铁锤,擦了擦额头的汗水,转过身来。他脸上有一道疤,从左眉延伸到颧骨,看起来经历了不少风浪。</p>
|
||||
<p>"那家伙让我给你准备一把武器。"林纳斯走到货架前,抽出一把太刀,"试试这个。"</p>
|
||||
<p>刀身修长,刀刃锋利,握在手中有一种踏实的重量感。</p>
|
||||
<p>"好刀。"林克由衷赞叹。</p>
|
||||
<p>"算你有眼光。"林纳斯笑了笑,"这刀叫'霜刃',是我年轻时用的家伙。现在给你了,别辱没了它。"</p>
|
||||
<p>林克郑重地接过刀:"多谢。"</p>
|
||||
<p>"先别急着谢。"林纳斯的表情严肃起来,"阿甘左让我给你带句话——'想要掌控鬼手,光靠意志是不够的。去洛兰吧,只有战斗,才能让你真正理解这份力量。'"</p>
|
||||
<p>林克握紧刀柄。</p>
|
||||
<p>三年了,他终于又听到了这个名字。</p>
|
||||
<p>"他还在艾尔文防线吗?"林克急切地问。</p>
|
||||
<p>林纳斯摇摇头:"三天前就走了,说是要去调查格兰之森的异动。"他顿了顿,"不过他说了,如果你能通过洛兰的试炼,你们会再见面的。"</p>
|
||||
<p>---</p>
|
||||
<p>回到旅馆,林克收拾好东西,准备再次前往洛兰。</p>
|
||||
<p>"又要去吗?"赛丽亚有些担心,"你身上的伤刚好……"</p>
|
||||
<p>"没事。"林克将霜刃系在腰间,"这是必经之路。"</p>
|
||||
<p>赛丽亚沉默了一会儿,从柜台下面拿出一个小布袋:"这是一些干粮和药水,你带着。"</p>
|
||||
<p>林克愣了一下。</p>
|
||||
<p>"我……"</p>
|
||||
<p>"艾尔文防线很少有冒险者会回来跟我道别。"赛丽亚轻声说,"大多数人都是一去不复返。你……要小心。"</p>
|
||||
<p>林克看着她清澈的眼睛,心中涌起一股暖意。</p>
|
||||
<p>"我会回来的。"他说,"等我通过试炼,回来请你吃饭。"</p>
|
||||
<p>赛丽亚笑了,像是春日里绽放的花朵。</p>
|
||||
<p>"一言为定。"</p>
|
||||
<p>---</p>
|
||||
<p>洛兰森林比林克记忆中更加阴森。</p>
|
||||
<p>阳光被浓密的树冠遮挡,只有零星的光斑落在地面上。空气中弥漫着腐朽和潮湿的味道,偶尔能听到远处传来的奇怪声响。</p>
|
||||
<p>林克握紧霜刃,小心翼翼地前进。</p>
|
||||
<p>"嘎——"</p>
|
||||
<p>突然,一只绿皮怪物从灌木丛中窜出,挥舞着短刀向他砍来!</p>
|
||||
<p>哥布林!</p>
|
||||
<p>林克侧身躲过,反手一刀斩出。霜刃划破空气,在哥布林的胸口留下一道深深的伤口。</p>
|
||||
<p>"叽叽叽——!"</p>
|
||||
<p>受伤的哥布林发出刺耳的尖叫,更多的绿皮怪物从四面八方涌来。</p>
|
||||
<p>五只、六只、七只……</p>
|
||||
<p>林克的心跳加速。他能感觉到,左手在颤抖,绷带下的鬼手开始发烫。</p>
|
||||
<p>不,现在还不能用那股力量……</p>
|
||||
<p>他咬紧牙关,挥舞霜刃迎战。一只、两只、三只……哥布林的数量太多,他渐渐开始力不从心。</p>
|
||||
<p>"叽叽!"</p>
|
||||
<p>一只哥布林从侧面偷袭,短刀直刺他的腰间!</p>
|
||||
<p>林克勉强闪躲,但动作慢了一步,刀锋在他的肋下划开一道口子。</p>
|
||||
<p>鲜血涌出,疼痛让他的动作更加迟缓。</p>
|
||||
<p>更多的哥布林围了上来,眼中闪烁着残忍的光芒。</p>
|
||||
<p>难道……就要死在这里了吗?</p>
|
||||
<p>就在此时,一股灼热的力量从他的左手涌出,瞬间蔓延至全身。</p>
|
||||
<p>血红色的光芒从绷带下透出,林克感觉自己的意识正在被什么东西吞噬……</p>
|
||||
<p>不,不能失控……</p>
|
||||
<p>他用尽最后的意志力,将那股力量压了下去。</p>
|
||||
<p>但哥布林们已经发起了最后的进攻。</p>
|
||||
<p>"住手。"</p>
|
||||
<p>低沉的声音从森林深处传来。</p>
|
||||
<p>一道身影如鬼魅般闪现,银色的剑光划破空气。那只冲向林克的哥布林瞬间被斩成两半!</p>
|
||||
<p>其他哥布林见状,吓得四散逃窜。</p>
|
||||
<p>林克艰难地抬起头,看到了那个人的脸。</p>
|
||||
<p>黑色的长发,冷峻的面容,还有那双仿佛看透一切的眼睛。</p>
|
||||
<p>"阿……甘左……?"</p>
|
||||
<p>来人收起长剑,低头看着他。</p>
|
||||
<p>"三年不见,你还是这么狼狈。"</p>
|
||||
<p>林克想说什么,但失血过多让他眼前一黑,晕了过去。</p>
|
||||
<p>昏迷前,他听到阿甘左轻声说道:</p>
|
||||
<p>"鬼手的力量,不是压制,而是驾驭。小子,你要学的东西,还很多。"</p>
|
||||
<p>---</p>
|
||||
<p>(第一章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="#" class="nav-btn disabled">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-2.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter current">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(1)) {
|
||||
readChapters.push(1);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
532
alacarte-novel-website/chapters/chapter-10.html
Normal file
532
alacarte-novel-website/chapters/chapter-10.html
Normal file
@ -0,0 +1,532 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 10</div>
|
||||
<h1 class="chapter-title">暗黑雷鸣废墟</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>暗黑雷鸣废墟,位于格兰之森最阴森的角落。</p>
|
||||
<p>这里曾是古代战场,无数战士在此殒命。死亡的气息终年不散,久而久之,死者化作僵尸,在废墟中游荡。</p>
|
||||
<p>"这里就是……暗黑雷鸣废墟?"赛丽亚紧紧抓住林克的衣角,声音有些发颤。</p>
|
||||
<p>林克点点头,目光凝重地看着前方。</p>
|
||||
<p>与之前的地图不同,这里没有阳光,天空永远笼罩着一层灰蒙蒙的雾气。</p>
|
||||
<p>---</p>
|
||||
<p>"林克……"赛丽亚突然停下脚步,"你有没有感觉到?"</p>
|
||||
<p>"什么?"</p>
|
||||
<p>"你的鬼手……它好像……被压制了?"</p>
|
||||
<p>林克低头看去,果然发现左手臂上的绷带不再发烫。平日里那股躁动的诅咒之力,此刻竟然安静得像是沉睡了一样。</p>
|
||||
<p>"是这里的死亡气息……"林克若有所思,"GSD说过,这里的死亡气息会压制鬼手的力量。"</p>
|
||||
<p>这就是试炼的含义——在没有鬼神之力的情况下,仅凭剑术战胜敌人。</p>
|
||||
<p>---</p>
|
||||
<p>当他们来到废墟的核心区域时,眼前的景象让他们倒吸一口凉气。</p>
|
||||
<p>那是一座巨大的祭坛,祭坛上刻满了古老的符文,中央摆放着一个巨大的石棺。</p>
|
||||
<p>而在祭坛的最高处,站着一个身穿黑色铠甲的身影。</p>
|
||||
<p>那是一个身高超过两米的怪物,全身被黑色的铠甲覆盖,头盔下露出一张腐烂的面孔。它的眼睛是血红色的,手中握着一把巨大的双手剑。</p>
|
||||
<p>"僵尸王……"林克低声说。</p>
|
||||
<p>"新鲜的……血肉……"僵尸王缓缓转过头,血红色的眼睛看向两人。</p>
|
||||
<p>---</p>
|
||||
<p>战斗瞬间爆发。</p>
|
||||
<p>僵尸王的速度远比普通僵尸快得多。它挥舞着双手剑,带起一阵黑色的旋风,向林克斩来!</p>
|
||||
<p>"好快!"</p>
|
||||
<p>林克举刀格挡,但巨大的力量震得他手臂发麻。僵尸王的力量,甚至比牛头王萨乌塔还要恐怖!</p>
|
||||
<p>林克不断闪避,但僵尸的数量太多,他很快就被包围了。</p>
|
||||
<p>"这样下去不行……"林克咬紧牙关。</p>
|
||||
<p>他下意识地想要调动鬼手的力量,但体内空空如也。</p>
|
||||
<p>"没有鬼神之力……我难道就赢不了吗?"</p>
|
||||
<p>---</p>
|
||||
<p>就在这时,林克想起了GSD说过的话。</p>
|
||||
<p>"剑魂追求的,是极致的剑术。不是鬼神之力,不是诅咒,而是剑本身。"</p>
|
||||
<p>"你要相信手中的剑,相信你自己的剑术。"</p>
|
||||
<p>林克闭上眼睛,深吸一口气。</p>
|
||||
<p>他举起霜刃,剑身上亮起耀眼的白光。</p>
|
||||
<p>"斩——!"</p>
|
||||
<p>林克挥剑斩出,一道白色的剑气撕裂了空间,直奔僵尸王!</p>
|
||||
<p>"不——!!!"</p>
|
||||
<p>僵尸王举起双手剑格挡,但剑气直接穿透了它的防御,将它斩成两半!</p>
|
||||
<p>---</p>
|
||||
<p>战斗结束了。</p>
|
||||
<p>就在这时,祭坛上的石棺突然发出一阵光芒。</p>
|
||||
<p>石棺缓缓打开,里面放着一把散发着柔和光芒的长剑。</p>
|
||||
<p>那是一把光剑。</p>
|
||||
<p>剑身由纯粹的光能量构成,没有实体,但却散发着令人心悸的锋芒。</p>
|
||||
<p>"试炼的奖励。"GSD的声音突然响起。</p>
|
||||
<p>"GSD?!"</p>
|
||||
<p>"既然你通过了试炼,它就归你了。"</p>
|
||||
<p>林克站起身,走到石棺前,郑重地拿起了那把光剑。</p>
|
||||
<p>当他的手握住剑柄时,光剑发出一阵欢快的嗡鸣,仿佛在迎接新的主人。</p>
|
||||
<p>"从今以后,你就叫'晨曦'吧。"林克轻声说。</p>
|
||||
<p>---</p>
|
||||
<p>(第十章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-9.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-11.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter current">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(10)) {
|
||||
readChapters.push(10);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
525
alacarte-novel-website/chapters/chapter-11.html
Normal file
525
alacarte-novel-website/chapters/chapter-11.html
Normal file
@ -0,0 +1,525 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 11</div>
|
||||
<h1 class="chapter-title">剑魂转职仪式</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>暗黑雷鸣废墟的试炼结束后,林克和赛丽亚跟随GSD回到了赫顿玛尔。</p>
|
||||
<p>剑道馆内,GSD站在大厅中央,表情庄严。林克单膝跪在他面前,手中捧着那把刚刚获得的光剑"晨曦"。</p>
|
||||
<p>"林克,你已通过暗黑雷鸣废墟的试炼,证明了你的意志和剑术。"GSD的声音低沉而有力,"今日,我正式授予你剑魂之名。"</p>
|
||||
<p>他伸出手,轻轻点在林克的额头。</p>
|
||||
<p>"剑魂,以剑为魂,追求极致剑术之道。"</p>
|
||||
<p>---</p>
|
||||
<p>GSD转身,从身后的架子上取下五把不同的武器,一一摆在林克面前。</p>
|
||||
<p>"太刀、巨剑、短剑、钝器、光剑——在剑魂手中,万物皆可为剑。"</p>
|
||||
<p>---</p>
|
||||
<p>GSD开始详细讲解每种武器的特性:</p>
|
||||
<p>"太刀,灵活迅捷,适合单挑和快速连击。"</p>
|
||||
<p>"巨剑,力量型武器,破甲能力极强。对付硬甲敌人时,巨剑是最佳选择。"</p>
|
||||
<p>"短剑,带有魔法属性攻击。对付魔法防御低的敌人,短剑能发挥出意想不到的效果。"</p>
|
||||
<p>"钝器,能够产生震荡伤害,有概率眩晕目标。"</p>
|
||||
<p>"光剑,剑魂专属武器,极速连击,附加光属性伤害。它是剑魂的象征,也是你最强大的伙伴。"</p>
|
||||
<p>林克认真记下每一种武器的特性。</p>
|
||||
<p>"真正的剑魂,不会在战斗中局限于一把武器。"GSD强调,"根据敌人的特点,灵活切换最适合的武器,这才是剑魂的精髓。"</p>
|
||||
<p>"你的鬼手给了你强大的力量,但剑魂之道,不在于力量的大小,而在于剑术的境界。"</p>
|
||||
<p>"你要学会驾驭剑,而不是被剑驾驭。"</p>
|
||||
<p>---</p>
|
||||
<p>仪式进行到高潮,GSD将手放在林克的光剑"晨曦"上。</p>
|
||||
<p>"这把剑,从此刻起,正式成为你的伙伴。"</p>
|
||||
<p>"但记住,晨曦的力量远不止于此。"GSD说,"它与天空之城的光之核心有着神秘的联系。如果你想发挥它的真正力量,就必须去天空之城,找到答案。"</p>
|
||||
<p>林克握紧晨曦,感受着剑身上传来的温暖力量。</p>
|
||||
<p>"弟子明白。"</p>
|
||||
<p>"好。"GSD收回手,"从今天起,你就是正式的剑魂了。"</p>
|
||||
<p>---</p>
|
||||
<p>仪式结束后,GSD将一套装备交给了林克。</p>
|
||||
<p>"这是剑魂的标准装备——五把武器,涵盖所有类型。"</p>
|
||||
<p>林克接过装备,发现除了原本的霜刃和晨曦,还有三把新武器:</p>
|
||||
<p>• <strong>巨剑"破军"</strong>:沉重但威力巨大,剑身上刻满了战斗的痕迹</p>
|
||||
<p>• <strong>短剑"影牙"</strong>:漆黑如墨,剑刃上缠绕着暗影之力</p>
|
||||
<p>• <strong>钝器"碎骨"</strong>:巨大的铁锤,一锤下去连钢铁都能砸碎</p>
|
||||
<p>"这五把武器,将是你在天空之城的依仗。"GSD说,"好好使用它们。"</p>
|
||||
<p>"谢谢师父!"</p>
|
||||
<p>---</p>
|
||||
<p>转职仪式结束后的两天,林克在剑道馆内刻苦修炼。</p>
|
||||
<p>GSD亲自指导他如何在战斗中快速切换武器,如何根据敌人的特点选择最优解。</p>
|
||||
<p>"差不多了。"GSD点点头,"接下来,你该去天空之城了。"</p>
|
||||
<p>"但在那之前,先去一趟西海岸。"</p>
|
||||
<p>"西海岸?"</p>
|
||||
<p>"那里有位魔道学者,名叫莎兰。"GSD说,"她对天空之城了解很深,会告诉你一些我不知道的事情。"</p>
|
||||
<p>"而且……"GSD顿了顿,"她可能会告诉你关于晨曦的秘密。"</p>
|
||||
<p>---</p>
|
||||
<p>(第十一章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-10.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-12.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter current">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(11)) {
|
||||
readChapters.push(11);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
535
alacarte-novel-website/chapters/chapter-12.html
Normal file
535
alacarte-novel-website/chapters/chapter-12.html
Normal file
@ -0,0 +1,535 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 12</div>
|
||||
<h1 class="chapter-title">西海岸</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>转职仪式结束,林克和赛丽亚在赫顿玛尔休整了两天后,准备前往天空之城。</p>
|
||||
<p>按照GSD的指引,他们先来到了西海岸。</p>
|
||||
<p>西海岸位于赫顿玛尔的西边,是一座港口城市。与赫顿玛尔的繁华不同,这里充满了海洋的气息。空气中弥漫着咸咸的海风,街道上到处都是渔民和商人。</p>
|
||||
<p>"这里就是西海岸……"赛丽亚好奇地看着四周。</p>
|
||||
<p>"据说这里的海鲜很有名。"林克笑着说,"等从天空之城回来,我请你吃。"</p>
|
||||
<p>---</p>
|
||||
<p>莎兰住在城西的一座高塔里。</p>
|
||||
<p>那是一座魔法塔,外墙由蓝色的水晶构成,在阳光下闪烁着柔和的光芒。</p>
|
||||
<p>林克走到塔门前,轻轻敲了敲门。</p>
|
||||
<p>"进来吧,我已经等你们很久了。"</p>
|
||||
<p>门内传来一个优雅的女声。林克推开门,和赛丽亚一起走了进去。</p>
|
||||
<p>---</p>
|
||||
<p>塔内的装饰充满了魔法的气息。</p>
|
||||
<p>一个身穿紫色长袍的女子站在窗边。她有着一头银白色的长发,眼睛是深紫色的,像是蕴含着无尽的星空。</p>
|
||||
<p>"你就是林克?GSD的新弟子?"女子转过身来。</p>
|
||||
<p>"是的,莎兰小姐。"林克恭敬地行礼。</p>
|
||||
<p>"我知道你想去天空之城。"莎兰微微一笑,"坐吧,我们慢慢聊。"</p>
|
||||
<p>---</p>
|
||||
<p>莎兰开始讲述天空之城的事情。</p>
|
||||
<p>"天空之城,是数千年前天界与阿拉德大陆连接的通道。后来发生了'龙之战争',天界的暴君巴卡尔被封印,天空之城也因此封闭。"</p>
|
||||
<p>"那里的怪物比格兰之森强大得多——龙人、石巨人、人偶……各种各样的危险。"</p>
|
||||
<p>林克认真地听着。</p>
|
||||
<p>"对了,莎兰小姐。"林克想起什么,"GSD师父说,您可能会告诉我一些关于光剑的事情?"</p>
|
||||
<p>莎兰看向林克手中的晨曦。</p>
|
||||
<p>"这把剑……能让我看看吗?"</p>
|
||||
<p>林克拔出晨曦,递给莎兰。</p>
|
||||
<p>莎兰仔细端详着。</p>
|
||||
<p>"果然……"莎兰轻声说,"这把剑,和天空之城有关。"</p>
|
||||
<p>"什么意思?"</p>
|
||||
<p>"光剑的能量来源,是天空之城的'光之核心'。"莎兰说,"数千年前,一位剑魂从天空之城带出了一块光之核心的碎片,铸造了这把剑。"</p>
|
||||
<p>"如果你想发挥这把剑的真正力量,就必须去天空之城,找到光之核心。"</p>
|
||||
<p>---</p>
|
||||
<p>离开莎兰的魔法塔后,林克陷入了沉思。</p>
|
||||
<p>原来晨曦还有这样的来历……</p>
|
||||
<p>"林克?"赛丽亚担心地看着他。</p>
|
||||
<p>"我在想……我的剑道。"林克看着手中的晨曦,"GSD师父教我,剑魂要精通所有武器。但晨曦对我来说,似乎有着特殊的意义。"</p>
|
||||
<p>"走吧,去天空之城。"林克抬起头,眼中闪烁着坚定的光芒,"我要找到答案。"</p>
|
||||
<p>---</p>
|
||||
<p>两人来到西海岸的传送阵前。</p>
|
||||
<p>那是一个巨大的魔法阵,散发着淡淡的蓝色光芒。传送阵的中央,有一道直通天际的光柱——那就是通往天空之城的通道。</p>
|
||||
<p>"准备好了吗?"林克问赛丽亚。</p>
|
||||
<p>"准备好了!"</p>
|
||||
<p>就在这时,一个熟悉的声音从身后传来。</p>
|
||||
<p>"等等。"</p>
|
||||
<p>林克转身,惊讶地看到GSD正拄着拐杖走来。</p>
|
||||
<p>"师父?您怎么来了?"</p>
|
||||
<p>"天空之城不是你们现在的实力能单独闯荡的。"GSD说,"我陪你们走一趟。"</p>
|
||||
<p>"真的吗?"赛丽亚惊喜地问。</p>
|
||||
<p>"嗯。"GSD点点头,"正好……我也很久没去过那里了。"</p>
|
||||
<p>林克心中涌起一股暖流。有师父在,他就安心多了。</p>
|
||||
<p>"走吧。"GSD走到传送阵前,"跟紧我。"</p>
|
||||
<p>三人一起踏入传送阵,光芒闪烁中,他们的身影消失在西海岸。</p>
|
||||
<p>新的冒险,即将开始。</p>
|
||||
<p>---</p>
|
||||
<p>(第十二章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-11.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-13.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter current">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(12)) {
|
||||
readChapters.push(12);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
551
alacarte-novel-website/chapters/chapter-13.html
Normal file
551
alacarte-novel-website/chapters/chapter-13.html
Normal file
@ -0,0 +1,551 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 13</div>
|
||||
<h1 class="chapter-title">龙人之塔</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>踏入传送阵的瞬间,林克感觉身体被一股柔和的力量托起。</p>
|
||||
<p>眼前的景象快速变化——西海岸的街道消失了,取而代之的是一片云海。当他们再次睁开眼睛时,已经来到了一片完全陌生的天地。</p>
|
||||
<p>这里是一座巨大的石塔,塔身由白色的石材建成,在阳光的照射下泛着柔和的光芒。塔的四周是无尽的云海,偶尔能看到其他浮空建筑的轮廓。</p>
|
||||
<p>"这就是……天空之城?"赛丽亚惊叹道,"好壮观……"</p>
|
||||
<p>"小心,有东西来了!"林克拔出光剑晨曦,警惕地看着前方。</p>
|
||||
<p>从石塔的拐角处,走出几只怪物。</p>
|
||||
<p>它们有着人类的身形,但头部却是龙的样子,浑身覆盖着青色的鳞片,手中握着长枪。</p>
|
||||
<p>"龙人!"林克认出了这些怪物。莎兰提到过,它们是天空之城的守卫。</p>
|
||||
<p>龙人们发出尖锐的嘶叫,挥舞着长枪冲了过来!</p>
|
||||
<p>"来了!"林克握紧光剑,准备迎战。</p>
|
||||
<p>但GSD却轻轻抬起了手。</p>
|
||||
<p>"让我来吧。"他说,"你们看着就行。"</p>
|
||||
<p>---</p>
|
||||
<p>龙人们冲到了GSD面前,长枪齐齐刺出!</p>
|
||||
<p>但GSD连拐杖都没用。</p>
|
||||
<p>他只是轻轻抬起右手,一道无形的波动从他掌心扩散开来。</p>
|
||||
<p>"波动·地裂。"</p>
|
||||
<p>"轰——!!!"</p>
|
||||
<p>整个地面瞬间崩裂,强大的冲击波将十几只龙人全部掀飞!它们在空中翻滚着,重重撞在石塔的墙壁上,化作一团团血雾。</p>
|
||||
<p>一击……全灭?</p>
|
||||
<p>林克和赛丽亚瞪大了眼睛,难以置信地看着这一幕。</p>
|
||||
<p>"师父……您这也太强了吧?"林克咽了口唾沫。</p>
|
||||
<p>"这只是基础。"GSD收回手,淡淡地说,"走吧,前面还有更多。"</p>
|
||||
<p>---</p>
|
||||
<p>一路上,GSD展现出了让林克瞠目结舌的实力。</p>
|
||||
<p>遇到龙人围攻,他只是随手一挥,波动剑气就将它们全部斩杀。</p>
|
||||
<p>遇到飞行怪物,他连头都不抬,一道向上的波动斩就将它们切成两半。</p>
|
||||
<p>遇到陷阱,他像是提前知道一样,总能带着两人轻松避开。</p>
|
||||
<p>"师父,您明明看不见……"林克忍不住问,"为什么能像看得见一样?"</p>
|
||||
<p>"心眼。"GSD说,"放弃双眼,用心感受世界。这是阿修罗的修炼方式,但作为剑魂,也可以借鉴。"</p>
|
||||
<p>"心眼……"</p>
|
||||
<p>"你体内的鬼手,其实也是一种感知方式。"GSD解释道,"只是你一直太依赖眼睛,没有好好利用它。"</p>
|
||||
<p>林克若有所思。</p>
|
||||
<p>---</p>
|
||||
<p>当他们来到龙人之塔的中层时,龙人首领终于出现了。</p>
|
||||
<p>那是一只身高超过三米的巨大龙人,浑身覆盖着金色的鳞片,手中握着一把巨大的龙枪。</p>
|
||||
<p>它的眼中燃烧着愤怒的火焰,看到GSD后,竟然露出了一丝恐惧。</p>
|
||||
<p>"你……你是当年的那个瞎子……"龙人首领的声音有些颤抖。</p>
|
||||
<p>"你认识我?"GSD微微侧头。</p>
|
||||
<p>"二十年前……你一个人闯到了天空之海深海……"龙人首领后退了一步,"连赛格哈特大人都没有拦住你……"</p>
|
||||
<p>"哦,我记起来了。"GSD点点头,"那时候的你,还只是个小家伙。"</p>
|
||||
<p>龙人首领怒吼一声,举起龙枪冲向GSD!</p>
|
||||
<p>"去死吧,瞎子!"</p>
|
||||
<p>GSD叹了口气。</p>
|
||||
<p>"这么多年了,天空之城的怪物还是这么不长进。"</p>
|
||||
<p>他抬起手,没有任何蓄力,一道巨大的波动剑气凭空出现!</p>
|
||||
<p>"波动·爆炎。"</p>
|
||||
<p>"轰——!!!"</p>
|
||||
<p>剑气瞬间吞噬了龙人首领,将它连带着身后的一片石塔墙壁一起摧毁!</p>
|
||||
<p>当烟尘散去时,龙人首领已经消失不见,只留下一地金色的鳞片。</p>
|
||||
<p>---</p>
|
||||
<p>林克站在原地,久久说不出话来。</p>
|
||||
<p>这就是GSD的真正实力?</p>
|
||||
<p>一剑……就把那么强大的龙人首领秒杀了?</p>
|
||||
<p>"师父……"林克的声音有些干涩,"您到底有多强?"</p>
|
||||
<p>GSD收起手,淡淡地说:"我只是一个瞎了眼的老头子而已。"</p>
|
||||
<p>"您太谦虚了……"</p>
|
||||
<p>"不,我说的是真的。"GSD转身看向林克,"真正的强者,不是看谁的力量更大,而是看谁能更好地运用自己的力量。"</p>
|
||||
<p>"你的剑魂之路还很长。等你什么时候能理解这句话,你就离真正的强者不远了。"</p>
|
||||
<p>---</p>
|
||||
<p>离开龙人之塔时,GSD将一枚金色的鳞片交给了林克。</p>
|
||||
<p>"龙人首领的鳞片,可以用来强化你的武器。"他说,"特别是光剑晨曦,它和龙族的力量有着某种共鸣。"</p>
|
||||
<p>林克接过鳞片,郑重地点头。</p>
|
||||
<p>"谢谢师父。"</p>
|
||||
<p>"不用谢。"GSD转身向传送阵走去,"人偶玄关在上一层,那里的敌人比龙人更危险。你们先休整一下,明天继续。"</p>
|
||||
<p>"您还要带我们?"赛丽亚惊喜地问。</p>
|
||||
<p>"嗯。"GSD头也不回,"既然来了,就把你们送到安全的地方再说。"</p>
|
||||
<p>林克看着GSD的背影,心中涌起一股暖流。</p>
|
||||
<p>这个看似冷漠的老人,其实一直在用自己的方式保护着他们。</p>
|
||||
<p>---</p>
|
||||
<p>(第十三章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-12.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-14.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter current">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(13)) {
|
||||
readChapters.push(13);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
561
alacarte-novel-website/chapters/chapter-14.html
Normal file
561
alacarte-novel-website/chapters/chapter-14.html
Normal file
@ -0,0 +1,561 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 14</div>
|
||||
<h1 class="chapter-title">人偶玄关</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>第二天,GSD带着林克和赛丽亚来到人偶玄关。</p>
|
||||
<p>与龙人之塔不同,这里是一座巨大的宫殿,到处都是精致的雕像和人偶。但空气中弥漫着一股诡异的气息,让人不寒而栗。</p>
|
||||
<p>"这里是……人偶玄关?"赛丽亚紧紧跟在GSD身后,"感觉好阴森……"</p>
|
||||
<p>"小心点。"GSD停下脚步,"这里的怪物和龙人不同,它们……曾经是活生生的人。"</p>
|
||||
<p>"什么?"林克一惊。</p>
|
||||
<p>"被天空之城的魔力侵蚀,变成了人偶。"GSD的声音有些低沉,"很久以前,有一支冒险队来这里探险,结果全军覆没。他们的灵魂被囚禁在人偶里,永远无法解脱。"</p>
|
||||
<p>"那我们……"</p>
|
||||
<p>"帮他们解脱吧。"GSD抬起拐杖,"这是唯一能做的事。"</p>
|
||||
<p>---</p>
|
||||
<p>刚走进宫殿大厅,四周的雕像突然动了!</p>
|
||||
<p>那些精致的人偶睁开了眼睛,空洞的眼眶中闪烁着幽绿色的光芒。它们缓缓站起身,手中出现了各种各样的武器。</p>
|
||||
<p>"来了。"GSD说,"这次你们来试试,我在旁边看着。"</p>
|
||||
<p>林克握紧光剑,点点头。</p>
|
||||
<p>"好!"</p>
|
||||
<p>---</p>
|
||||
<p>人偶们的攻击方式比龙人更加诡异。</p>
|
||||
<p>它们没有痛觉,不知疲倦,即使被斩断手臂也会继续攻击。而且它们配合默契,像是受过严格训练的士兵。</p>
|
||||
<p>"这些家伙……"林克挥舞光剑斩断一只人偶的头颅,但更多的人偶涌了上来。</p>
|
||||
<p>"数量太多了!"</p>
|
||||
<p>他立刻切换武器,拔出太刀霜刃,身形变得飘忽不定。</p>
|
||||
<p>"不错。"GSD在一旁点评,"但你的攻击太单一了。"</p>
|
||||
<p>"什么意思?"</p>
|
||||
<p>"人偶的核心不止一个。"GSD说,"看好了。"</p>
|
||||
<p>他抬起手,一道波动剑气射出,直接贯穿了它们胸口的水晶!</p>
|
||||
<p>"那是……核心?"</p>
|
||||
<p>"每个人偶的胸口都有一块魔力水晶,那才是它们的真正要害。"GSD说,"你的剑很快,但如果不命中要害,只是浪费体力。"</p>
|
||||
<p>林克恍然大悟。</p>
|
||||
<p>---</p>
|
||||
<p>就在这时,宫殿深处传来一阵低沉的笑声。</p>
|
||||
<p>"呵呵呵……有趣的小鬼……"</p>
|
||||
<p>一个身穿华丽铠甲的人偶从阴影中走出。它比其他人大得多,手中握着一把巨大的战斧。</p>
|
||||
<p>"人偶之王……"GSD的表情变得严肃,"终于出现了。"</p>
|
||||
<p>"那个瞎子……"人偶之王看着GSD,声音中带着怨恨,"二十年前,你就是从这里杀出去的……"</p>
|
||||
<p>"你记得我?"GSD微微侧头。</p>
|
||||
<p>"怎么可能忘记!"人偶之王举起战斧,"当年的那支冒险队,就是我的队伍!是你害死了他们!"</p>
|
||||
<p>GSD沉默了一会儿,然后叹了口气。</p>
|
||||
<p>"原来如此……你就是当年的那个队长。"</p>
|
||||
<p>"闭嘴!"人偶之王怒吼,"我要杀了你,为我的兄弟们报仇!"</p>
|
||||
<p>---</p>
|
||||
<p>"林克,赛丽亚,退后。"GSD说,"这个家伙,让我来。"</p>
|
||||
<p>他第一次拔出了腰间的剑。</p>
|
||||
<p>那是一把通体漆黑的长剑,剑身上缠绕着暗红色的纹路,散发着令人心悸的气息。</p>
|
||||
<p>"阿修罗之剑。"GSD轻声说,"我已经很久没用过它了。"</p>
|
||||
<p>人偶之王的战斧斩下,带着撕裂空气的呼啸声。</p>
|
||||
<p>但GSD只是轻轻抬剑,就挡住了这一击!</p>
|
||||
<p>"你的力量比二十年前强了不少。"GSD说,"但……还是不够。"</p>
|
||||
<p>他的剑身上突然爆发出耀眼的光芒——不,那不是光,而是纯粹的波动之力!</p>
|
||||
<p>"觉醒·暗天波动眼。"</p>
|
||||
<p>GSD的身后,出现了一个巨大的眼睛虚影。那是一只紧闭的眼睛,但当它缓缓睁开时,整个世界都仿佛陷入了黑暗!</p>
|
||||
<p>"这……这是什么?!"人偶之王惊恐地后退。</p>
|
||||
<p>"阿修罗的觉醒技能。"GSD说,"用波动之力,创造一个属于我的世界。"</p>
|
||||
<p>在那只巨眼的注视下,人偶之王的身体开始崩解。</p>
|
||||
<p>"不……不可能……"人偶之王跪倒在地,"我明明已经变得这么强了……"</p>
|
||||
<p>"力量本身没有对错。"GSD收起剑,"但你选择了错误的道路。"</p>
|
||||
<p>"现在,安息吧。"</p>
|
||||
<p>"轰——!!!"</p>
|
||||
<p>人偶之王的身体在波动之力中彻底消散。</p>
|
||||
<p>---</p>
|
||||
<p>当一切恢复平静时,林克和赛丽亚依然愣在原地。</p>
|
||||
<p>刚才那一幕……太震撼了。</p>
|
||||
<p>GSD身后的那只巨眼,那种仿佛能掌控一切的力量……</p>
|
||||
<p>"师父……"林克的声音有些颤抖,"那就是……觉醒?"</p>
|
||||
<p>"嗯。"GSD点点头,"阿修罗的觉醒技能——暗天波动眼。"</p>
|
||||
<p>"好强……"</p>
|
||||
<p>"你也有一天能达到这个境界的。"GSD拍了拍林克的肩膀,"剑魂的觉醒,叫做'极·鬼剑术'。当你真正掌握剑魂的精髓时,就能领悟它。"</p>
|
||||
<p>"极·鬼剑术……"</p>
|
||||
<p>林克握紧拳头,眼中闪烁着渴望的光芒。</p>
|
||||
<p>总有一天,他也要变得像师父一样强!</p>
|
||||
<p>---</p>
|
||||
<p>离开人偶玄关时,GSD将一块人偶之王的魔力核心交给了林克。</p>
|
||||
<p>"这个可以用来强化你的短剑影牙。"他说。</p>
|
||||
<p>"谢谢师父!"</p>
|
||||
<p>"不用谢。"GSD转身看向天空之城的更高处,"接下来的路,就要靠你们自己了。"</p>
|
||||
<p>"您不继续带我们了吗?"赛丽亚问。</p>
|
||||
<p>"嗯。"GSD点点头,"石巨人塔以上的区域,对你们来说还太危险。你们先在龙人之塔和人偶玄关修炼,等实力足够了再往上走。"</p>
|
||||
<p>"我明白了。"林克郑重地说,"我们不会让您失望的。"</p>
|
||||
<p>GSD微微一笑,转身向传送阵走去。</p>
|
||||
<p>"我等着你们的好消息。"</p>
|
||||
<p>---</p>
|
||||
<p>(第十四章完)</p>
|
||||
<p><em>未完待续……</em></p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-13.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-15.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter current">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(14)) {
|
||||
readChapters.push(14);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
650
alacarte-novel-website/chapters/chapter-15.html
Normal file
650
alacarte-novel-website/chapters/chapter-15.html
Normal file
@ -0,0 +1,650 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 15</div>
|
||||
<h1 class="chapter-title">石巨人塔</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>离开人偶玄关时,天空之城的阳光依旧明媚。</p>
|
||||
<p>但林克的心情并不轻松。GSD的离去意味着接下来的路必须靠他们自己,而石巨人塔——那座传闻中比龙人之塔和人偶玄关更加危险的区域,正等待着他们。</p>
|
||||
<p>"先去赫顿玛尔。"林克收起晨曦,"出发前,我想找一个人。"</p>
|
||||
<p>"谁?"赛丽亚问。</p>
|
||||
<p>"诺顿。"</p>
|
||||
<p>赛丽亚露出疑惑的表情。</p>
|
||||
<p>"西海岸的莎兰提到过,"林克解释道,"诺顿是赫顿玛尔最博学的炼金术师,对天空之城的研究比任何人都深。而且……"</p>
|
||||
<p>他顿了顿:"我在冒险家公会看到公告,诺顿正在招募人手收集石巨人的心脏。"</p>
|
||||
<p>赛丽亚点点头:"有情报总比没有好。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>赫顿玛尔,诺顿的炼金工坊。</p>
|
||||
<p>这间位于后街的小屋弥漫着各种草药和化学药剂的味道。架子上摆满了瓶瓶罐罐,有的冒着诡异的烟雾,有的发出微弱的光芒。</p>
|
||||
<p>"石巨人塔?"诺顿推了推厚厚的眼镜,打量着眼前的两个年轻人。这位年迈的炼金术师有着一头蓬乱的白发,实验袍上沾满了各种污渍。</p>
|
||||
<p>"你们想去那里?以你们现在的等级,太危险了。"</p>
|
||||
<p>"我们有必须去的理由。"林克平静地说。</p>
|
||||
<p>诺顿盯着他看了片刻,突然笑了起来:"有意思。我在你身上感觉到了一股特别的气息……是光剑?"</p>
|
||||
<p>林克没有否认。</p>
|
||||
<p>"难怪。"诺顿点点头,"那把剑和天空之城有着很深的渊源。好吧,我可以告诉你们石巨人塔的情报,但作为交换——"</p>
|
||||
<p>他从抽屉里取出一张清单。</p>
|
||||
<p>"帮我收集一些石巨人心脏。这是研究天空之城核心机关的重要材料。"</p>
|
||||
<p>【接受任务:收集石巨人的心脏 x5】</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>诺顿从书架上抽出一本厚重的笔记,翻开其中一页。</p>
|
||||
<p>"石巨人塔的危险程度远超你们之前去过的地方。那里的石巨人不是普通的怪物——它们是被魔力驱动的傀儡。"</p>
|
||||
<p>"傀儡?"赛丽亚问。</p>
|
||||
<p>"没错。"诺顿指着笔记上的一幅插图,那是一个穿着长袍的人偶形象,"看到这个了吗?石巨人操控师。它们是石巨人的控制核心。"</p>
|
||||
<p>林克仔细观察插图。那个人偶有着精致的面容,但双眼空洞,手中握着一根法杖。</p>
|
||||
<p>"只要操控师还在,石巨人就是不死的。"诺顿严肃地说,"无论你们怎么攻击,它们都会不断重组。"</p>
|
||||
<p>"那该怎么办?"</p>
|
||||
<p>"找到操控师,优先击杀。"诺顿敲了敲桌子,"一旦操控师死亡,石巨人就会失去魔力支撑,变成'灵魂状态'。那种状态下的石巨人防御力大幅下降,很容易对付。"</p>
|
||||
<p>林克默默记下这个关键信息。</p>
|
||||
<p>"还有,"诺顿继续说,"石巨人的心脏位于它们的胸口,是一颗发光的魔法石。只有彻底击败它们后才能取出。"</p>
|
||||
<p>他从抽屉里又拿出一个小瓶:"这是魔力探测剂,可以帮助你们找到隐藏的操控师。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>回到天空之城,石巨人塔的入口近在眼前。</p>
|
||||
<p>与龙人之塔和人偶玄关不同,这里的建筑完全由灰色石材构成,巨大的石柱支撑着高耸的穹顶。空气中弥漫着一种古老的、令人窒息的气息。</p>
|
||||
<p>"好安静……"赛丽亚轻声说。</p>
|
||||
<p>林克点点头,握紧了晨曦。诺顿给的情报让他更加警惕——这里的敌人不是普通的怪物,而是有组织的傀儡军团。</p>
|
||||
<p>他们小心翼翼地进入塔内。</p>
|
||||
<p>走廊尽头,两只石巨人正静静站立着。它们的身躯由坚硬的岩石构成,关节处镶嵌着古老的符文,散发着淡淡的蓝光。</p>
|
||||
<p>"来了。"林克低声说道。</p>
|
||||
<p>石巨人发现了入侵者,迈着沉重的步伐冲了过来。巨大的石拳带着呼啸的风声砸向林克!</p>
|
||||
<p>林克侧身躲过,同时观察着周围的环境——诺顿说过,操控师通常隐藏在石巨人身后或高处,用法杖远程控制傀儡。</p>
|
||||
<p>"赛丽亚,用探测剂!"</p>
|
||||
<p>赛丽亚取出诺顿给的小瓶,将液体洒向空中。淡绿色的光芒扩散开来,照亮了走廊的每一个角落。</p>
|
||||
<p>在右侧的石柱后,一个模糊的身影显现了出来——正是石巨人操控师!</p>
|
||||
<p>"找到了!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克瞬间做出判断。</p>
|
||||
<p>他收起晨曦,拔出太刀霜刃——太刀的速度最适合这种突袭。</p>
|
||||
<p>"掩护我!"</p>
|
||||
<p>赛丽亚举起法杖,一道绿色的光芒射向石巨人,吸引它们的注意力。林克趁机从侧面绕过去,身形如鬼魅般穿过石巨人的攻击范围。</p>
|
||||
<p>操控师发现了他的意图,举起法杖想要反击。但它的速度太慢了。</p>
|
||||
<p>霜刃划过一道寒光,精准地斩断了操控师的脖子。</p>
|
||||
<p>"咔嚓——"</p>
|
||||
<p>人偶的身体倒下,两只石巨人同时停下了动作。它们身上的符文光芒开始闪烁,岩石身躯逐渐变得透明——灵魂状态。</p>
|
||||
<p>"有效!"</p>
|
||||
<p>林克没有犹豫,切换回晨曦。光剑刺入石巨人的胸口,轻松地击碎了它们的心脏。</p>
|
||||
<p>两颗发光的魔法石掉落在地,这就是任务所需的石巨人心脏。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>有了诺顿的情报和探测剂,他们在石巨人塔中稳步前进。</p>
|
||||
<p>每一层都遵循着相同的模式:先用探测剂找到隐藏的操控师,击杀后让石巨人进入灵魂状态,然后轻松收割。</p>
|
||||
<p>但林克并没有掉以轻心。他能感觉到,越往上走,石巨人的数量越多,操控师的位置也越来越隐蔽。</p>
|
||||
<p>"这已经是第四层了。"赛丽亚收起刚刚采集的心脏,"还差一颗就完成任务了。"</p>
|
||||
<p>林克点点头,目光望向通往上一层的楼梯。</p>
|
||||
<p>"上面就是BOSS所在的位置。黄金巨人普拉塔尼……诺顿说它是石巨人塔最强大的存在,甚至可能拥有自己的意识。"</p>
|
||||
<p>"准备好了吗?"赛丽亚问。</p>
|
||||
<p>林克深吸一口气,握紧了晨曦。</p>
|
||||
<p>"走吧。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>石巨人塔顶层,与下方的空间完全不同。</p>
|
||||
<p>这里是一个巨大的圆形大厅,穹顶高不见顶,四周的墙壁上刻满了古老的符文。大厅中央,一个庞大的身影静静伫立。</p>
|
||||
<p>黄金巨人普拉塔尼。</p>
|
||||
<p>它比普通石巨人大出两倍,全身呈现出耀眼的金色,表面刻满了复杂的符文。两颗红宝石般的眼睛燃烧着火焰般的红光。</p>
|
||||
<p>最引人注目的是,它的胸口嵌着一颗巨大的魔法石,散发着令人心悸的能量波动。</p>
|
||||
<p>"入侵者……"普拉塔尼的声音低沉而沙哑,"又是来打扰吾主安宁的愚蠢人类吗……"</p>
|
||||
<p>林克心中一凛。诺顿说得对,这个BOSS确实拥有自己的意识!</p>
|
||||
<p>"等等,"普拉塔尼突然抬起头,燃烧的红宝石眼睛死死盯着林克手中的晨曦,"那把剑……光之剑……"</p>
|
||||
<p>它的声音中带着一丝颤抖:"不可能……那把剑怎么会……出现在这里……"</p>
|
||||
<p>林克心中一动。又是关于晨曦的反应!</p>
|
||||
<p>"你认识这把剑?"</p>
|
||||
<p>"认识……"普拉塔尼缓缓抬起巨大的手臂,"它……本应属于……天空之城……属于……光之核心……"</p>
|
||||
<p>光之核心!</p>
|
||||
<p>林克想起莎兰说过的话——晨曦与天空之城的某种力量有着共鸣。而现在,这个石巨人塔的最强者也提到了同样的词汇。</p>
|
||||
<p>"告诉我,"林克沉声问道,"光之核心是什么?"</p>
|
||||
<p>但普拉塔尼没有回答。它的眼中闪过一丝痛苦,随后被愤怒取代。</p>
|
||||
<p>"无论如何……不能让你……通过这里……"</p>
|
||||
<p>"这是……吾主的……命令……"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗瞬间爆发。</p>
|
||||
<p>普拉塔尼的速度远超普通石巨人,金色的拳头带着毁灭性的力量砸向林克。林克举剑格挡,巨大的冲击力让他连连后退。</p>
|
||||
<p>"没有操控师……它是自主行动的!"赛丽亚惊呼。</p>
|
||||
<p>确实,普拉塔尼与普通石巨人完全不同。它不需要任何控制,每一个动作都充满了战斗的智慧。</p>
|
||||
<p>林克不断闪避,同时寻找着破绽。但黄金巨人的防御几乎没有死角,金色的岩石身躯比钢铁还要坚硬。</p>
|
||||
<p>"普通的攻击……无效!"</p>
|
||||
<p>他尝试着切换不同的武器——霜刃的速度、破军的力量的、影牙的暗影属性——但都无法对普拉塔尼造成实质性的伤害。</p>
|
||||
<p>"林克!它的胸口!"赛丽亚突然喊道。</p>
|
||||
<p>林克目光一凝。普拉塔尼胸口的巨大魔法石——那是它的力量源泉,也是它的核心!</p>
|
||||
<p>但那个位置被厚厚的金色岩石保护着,普通攻击根本无法触及。</p>
|
||||
<p>"需要一个……机会……"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克开始改变战术。</p>
|
||||
<p>他不再盲目进攻,而是专注于闪避和观察。普拉塔尼的攻击虽然强大,但每次全力出击后都会有短暂的停顿。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>在一次闪避后,林克收起晨曦,拔出了钝器碎骨。</p>
|
||||
<p>"碎骨,给我砸开它的防御!"</p>
|
||||
<p>钝器带着震荡的力量砸向普拉塔尼的胸口。巨大的冲击力让黄金巨人的身躯摇晃了一下,胸口的岩石出现了细微的裂痕。</p>
|
||||
<p>"有效!"</p>
|
||||
<p>但还没等林克追击,普拉塔尼的反击就到了。金色的拳头擦过林克的肩膀,强大的力量让他整个人飞了出去,重重撞在墙上。</p>
|
||||
<p>"林克!"赛丽亚冲过来,治愈术的光芒笼罩着他。</p>
|
||||
<p>"我没事……"林克擦掉嘴角的血迹,"它的胸口……有机会……"</p>
|
||||
<p>他重新站起身,目光变得更加坚定。</p>
|
||||
<p>这一次,他要使用全部的力量。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克收起碎骨,缓缓拔出晨曦。</p>
|
||||
<p>但同时,他的左手握住了短剑影牙。鬼手开始躁动,暗影之力与光剑的光芒在他身上交织。</p>
|
||||
<p>"赛丽亚,掩护我!"</p>
|
||||
<p>"明白!"</p>
|
||||
<p>赛丽亚举起法杖,一道耀眼的白光射向普拉塔尼的眼睛。黄金巨人本能地抬手遮挡,胸口的防御出现了破绽。</p>
|
||||
<p>"就是现在——!"</p>
|
||||
<p>林克爆发出全部的速度。晨曦与影牙同时斩出,光与暗的力量在普拉塔尼的胸口交汇。</p>
|
||||
<p>"光暗交错·双重斩!"</p>
|
||||
<p>这是他临时创造的招式——利用两种相反属性的力量产生爆炸性的冲击。</p>
|
||||
<p>"轰——!!!"</p>
|
||||
<p>巨大的爆炸声中,普拉塔尼胸口的岩石铠甲终于破碎,露出了里面那颗跳动的魔法核心。</p>
|
||||
<p>"不……可能……"普拉塔尼的声音变得虚弱。</p>
|
||||
<p>林克没有给它喘息的机会。他收起影牙,双手握住晨曦,将剑尖对准了暴露的核心。</p>
|
||||
<p>"结束了!"</p>
|
||||
<p>光剑刺入核心的瞬间,晨曦爆发出前所未有的光芒。林克感觉到,这把剑在与普拉塔尼体内的某种力量产生共鸣——那是一种纯净的光明之力,与晨曦如出一辙。</p>
|
||||
<p>"光之……核心……"普拉塔尼喃喃自语,"原来……你是……被选中的人……"</p>
|
||||
<p>它的声音渐渐消失,庞大的身躯在光芒中崩解,化作无数金色的碎片散落一地。</p>
|
||||
<p>一颗巨大的心脏掉落在林克面前——那是普拉塔尼的核心,也是任务所需的最后一件材料。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束了。</p>
|
||||
<p>林克跪在地上,大口大口地喘着粗气。刚才那一战几乎耗尽了他全部的体力和精力,尤其是最后的光暗双重斩,对身体的负担极大。</p>
|
||||
<p>"林克!"赛丽亚跑过来,焦急地为他检查伤势。</p>
|
||||
<p>"没事……"林克勉强笑了笑,"只是有点累……"</p>
|
||||
<p>他低头看着手中的晨曦。剑身上的光芒渐渐平息,但刚才那种感觉——与普拉塔尼体内光明之力的共鸣——让他难以忘怀。</p>
|
||||
<p>"被选中的人……是什么意思?"赛丽亚皱着眉头。</p>
|
||||
<p>林克摇了摇头:"不知道。但肯定和天空之城的秘密有关。"他站起身,目光投向石巨人塔的更高处,"也许……城主宫殿里能找到答案。"</p>
|
||||
<p>赛丽亚点点头,轻轻握住他的手。</p>
|
||||
<p>"不管前面有什么,我们一起面对。"</p>
|
||||
<p>林克看着她,嘴角扬起一个温暖的弧度。</p>
|
||||
<p>"嗯,一起。"</p>
|
||||
<p>他们收集好五颗石巨人心脏——包括普拉塔尼的巨大核心——踏上了返回赫顿玛尔的路。</p>
|
||||
<p>诺顿还在等着他们。</p>
|
||||
<p>而天空之城的秘密,也正在一步步揭开……</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第十五章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-14.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-16.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter current">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(15)) {
|
||||
readChapters.push(15);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
680
alacarte-novel-website/chapters/chapter-16.html
Normal file
680
alacarte-novel-website/chapters/chapter-16.html
Normal file
@ -0,0 +1,680 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 16</div>
|
||||
<h1 class="chapter-title">黑暗玄廊</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>赫顿玛尔,诺顿的炼金工坊。</p>
|
||||
<p>当林克将五颗石巨人心脏放在工作台上时,诺顿的眼睛瞪大了。</p>
|
||||
<p>"这是……普拉塔尼的核心?"老炼金术师小心翼翼地捧起那颗巨大的魔法石,"你们真的击败了黄金巨人?"</p>
|
||||
<p>"是的。"林克平静地说,"它比我们想象的更难对付。"</p>
|
||||
<p>诺顿盯着魔法石看了许久,突然皱起眉头。</p>
|
||||
<p>"不对劲……"他喃喃自语,"这颗核心里的魔力……正在变化。"</p>
|
||||
<p>"什么意思?"赛丽亚问。</p>
|
||||
<p>诺顿将魔法石放入一个特制的检测装置中,各种颜色的光芒在房间里闪烁。</p>
|
||||
<p>"光之核心……原本应该是纯净的光明之力。"诺顿的声音变得严肃,"但从这颗核心来看,它正在产生'腐化'。"</p>
|
||||
<p>"腐化?"林克心中一凛。</p>
|
||||
<p>"光明与黑暗本是一体两面。"诺顿调出一张复杂的魔法图谱,"当光明过于强烈时,就会产生阴影。而光之核心……似乎正在走向极端。"</p>
|
||||
<p>他转向林克:"你说过,普拉塔尼认出了你的光剑?"</p>
|
||||
<p>林克点点头。</p>
|
||||
<p>"那就对了。"诺顿深吸一口气,"晨曦光剑与光之核心同源。如果核心正在腐化,那么……"</p>
|
||||
<p>"那么什么?"</p>
|
||||
<p>"那么天空之城的平衡正在崩溃。"诺顿的眼神中闪过一丝担忧,"你们接下来要去的地方——黑暗玄廊,就是这种腐化的产物。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"黑暗玄廊原本是天空之城的荣耀回廊。"诺顿展开一张古老的地图,"那里曾经灯火通明,是通往城主宫殿的必经之路。"</p>
|
||||
<p>"但现在,那里变成了永恒的黑暗。"</p>
|
||||
<p>诺顿指着地图上的一个标记:"唯一的光源是这些古老的灯柱。它们用特殊的水晶制成,可以暂时驱散黑暗。"</p>
|
||||
<p>"但要注意的是——"他严肃地看着两人,"灯柱的能量有限,点亮后会逐渐熄灭。你们必须在光芒消失前找到下一盏灯柱。"</p>
|
||||
<p>"还有更危险的。"诺顿从抽屉里取出一本破旧的日记,"黑暗玄廊里游荡着'驱逐者'。"</p>
|
||||
<p>"驱逐者?"</p>
|
||||
<p>"曾经守护天空之城的骑士团。"诺顿翻开日记,上面画着身穿铠甲的战士形象,"光之核心腐化后,他们被黑暗吞噬,变成了亡灵的形态。"</p>
|
||||
<p>"他们仍然保留着生前的战斗技巧,但心智已经被黑暗侵蚀。"</p>
|
||||
<p>林克接过日记,看着那些骑士的画像。他们曾经应该是正义的守护者,现在却变成了敌人。</p>
|
||||
<p>"最后,"诺顿的声音变得更低,"黑暗玄廊的尽头,是驱逐者的首领——天之驱逐者。"</p>
|
||||
<p>"他曾经是光之城主的亲卫队长,是最强大的骑士。现在的他……是黑暗玄廊中最可怕的存在。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>离开赫顿玛尔,林克和赛丽亚再次前往天空之城。</p>
|
||||
<p>这一次,他们的目标是石巨人塔上方的区域——黑暗玄廊的入口。</p>
|
||||
<p>"林克。"赛丽亚突然开口,"你有没有觉得……晨曦最近有些奇怪?"</p>
|
||||
<p>林克低头看着手中的光剑。确实,自从击败普拉塔尼后,晨曦的光芒就变得不太稳定——有时比平时更亮,有时又会微微闪烁。</p>
|
||||
<p>"诺顿说它和光之核心同源。"林克轻声说,"也许……它在回应某种召唤。"</p>
|
||||
<p>他们来到黑暗玄廊的入口。</p>
|
||||
<p>与之前所有区域都不同,这里没有任何光线。即使外面是永恒的阳光,入口内部却是一片纯粹的黑暗,仿佛光线被某种力量吞噬了。</p>
|
||||
<p>"好冷……"赛丽亚不自觉地靠近林克。</p>
|
||||
<p>不仅是视觉上的黑暗,还有一种深入骨髓的寒意。那不是普通的冷,而是一种来自灵魂深处的阴冷。</p>
|
||||
<p>林克举起晨曦。光剑的光芒在黑暗中显得格外明亮,但奇怪的是,光线似乎无法传播太远,像是被什么东西压制着。</p>
|
||||
<p>"走吧。"林克握紧赛丽亚的手,"小心点。"</p>
|
||||
<p>他们踏入了黑暗玄廊。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>第一步踏入黑暗玄廊,林克就感觉到不对劲。</p>
|
||||
<p>这里的黑暗不是普通的无光状态,而是一种"活着"的黑暗。它像是有实体一般,压迫着人的精神和意志。</p>
|
||||
<p>"前面……有东西在发光。"赛丽亚指着不远处。</p>
|
||||
<p>那是一盏灯柱。</p>
|
||||
<p>高约两米的石柱顶端,镶嵌着一颗发光的水晶。但那颗水晶的光芒极其微弱,仿佛随时会熄灭。</p>
|
||||
<p>林克走近灯柱,发现柱身上刻着古老的符文。</p>
|
||||
<p>"这是……启动装置?"</p>
|
||||
<p>他尝试将一丝魔力注入符文。瞬间,水晶爆发出明亮的光芒,将周围十几米的范围照亮。</p>
|
||||
<p>在光芒的照耀下,他们看清了周围的环境——这是一条宽阔的回廊,墙壁和地面都由白色石材建成,但现在已经布满了黑色的污渍,像是被什么东西腐蚀过。</p>
|
||||
<p>"这里曾经是……"赛丽亚看着那些精美的雕刻,"很美丽的地方。"</p>
|
||||
<p>"现在只剩下残骸了。"林克说。</p>
|
||||
<p>他注意到,在灯光的边缘,黑暗中似乎有什么东西在移动。</p>
|
||||
<p>"小心。"林克拔出晨曦,"有东西在看着我们。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>驱逐者从黑暗中现身了。</p>
|
||||
<p>他们身穿残破的铠甲,头盔下的面孔是一片虚无的黑暗,只有两只眼睛散发着幽蓝的光芒。他们手持长剑和盾牌,动作整齐划一,仿佛仍然保持着生前的纪律。</p>
|
||||
<p>最让林克震惊的是——他们的铠甲上,还残留着曾经的徽章。</p>
|
||||
<p>"那是……光之城主的标志?"赛丽亚认出了那个图案。</p>
|
||||
<p>"曾经的守护者,现在的囚徒。"林克低声说。</p>
|
||||
<p>驱逐者们没有给他们更多感慨的时间。他们举起长剑,无声地冲了过来。</p>
|
||||
<p>林克迎战。</p>
|
||||
<p>晨曦与驱逐者的长剑碰撞,发出刺耳的声响。这些亡灵骑士的力量比想象中更强,而且他们的战斗技巧极其精湛——每一剑都攻守兼备,没有丝毫破绽。</p>
|
||||
<p>"他们是真正的骑士……"林克在交手后意识到,"即使变成了亡灵,战斗本能依然保留着。"</p>
|
||||
<p>这意味着不能轻视他们。</p>
|
||||
<p>林克深吸一口气,体内剑魂的力量开始运转。武器奥义的被动加持让他的每一次攻击都更加精准有力。</p>
|
||||
<p>"里·鬼剑术!"</p>
|
||||
<p>晨曦在他手中化作一道流光,剑招连绵不绝。光剑的特性被发挥到极致——极速的二连斩击,每一剑都瞄准驱逐者铠甲的缝隙。这是剑魂的核心技能,将普通攻击转化为连续的剑气斩击。</p>
|
||||
<p>驱逐者被这突如其来的攻势压制,连连后退。但他们很快调整了姿态,举起盾牌格挡。</p>
|
||||
<p>"光剑的速度确实很快……"林克观察着对手的防御,"但对付重甲敌人,需要更强的爆发力。"</p>
|
||||
<p>他切换成巨剑破军,以力量压制。沉重的剑身带着武器奥义的加持,砸在驱逐者的盾牌上,发出震耳的轰鸣。</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>巨剑带着上挑的力道,将驱逐者的盾牌直接击飞,露出了胸口的破绽。</p>
|
||||
<p>赛丽亚的精灵之箭从侧面射来,精准地命中那个驱逐者的头盔缝隙。那个驱逐者摇晃了一下,但并没有倒下。</p>
|
||||
<p>"他们的弱点是……"林克观察着,"关节!铠甲的关节处没有保护!"</p>
|
||||
<p>他收起破军,拔出太刀霜刃,以极快的速度切入驱逐者的防御空隙。太刀的灵活特性配合里·鬼剑术的快速斩击,形成了一套完美的连击。</p>
|
||||
<p>"霜刃·里鬼连斩!"</p>
|
||||
<p>太刀精准地斩断了驱逐者的膝关节,那个亡灵骑士轰然倒地,身上的黑暗气息开始消散。</p>
|
||||
<p>"有效!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>击败第一批驱逐者后,林克和赛丽亚继续前进。</p>
|
||||
<p>黑暗玄廊的结构很复杂,回廊交错,很容易迷失方向。但赛丽亚的精灵感知在黑暗中发挥了重要作用——她能感觉到灯柱的位置,引导他们前进。</p>
|
||||
<p>"左边,大约三十米。"赛丽亚闭着眼睛,感受着周围的魔力流动。</p>
|
||||
<p>他们找到第二盏灯柱,点亮它。</p>
|
||||
<p>就这样,他们一层一层地推进。每点亮一盏灯柱,就能暂时驱散周围的黑暗,但驱逐者们总是会在光芒的边缘徘徊,等待灯柱熄灭的那一刻发动攻击。</p>
|
||||
<p>"这些骑士……"在一次战斗后,赛丽亚看着倒下的驱逐者,"他们生前一定很厉害。"</p>
|
||||
<p>"是啊。"林克收起剑,"为了保护天空之城,变成了这种样子。"</p>
|
||||
<p>他蹲下身,从驱逐者的铠甲上取下那枚残破的徽章。</p>
|
||||
<p>"如果有机会……我想让他们解脱。"</p>
|
||||
<p>赛丽亚轻轻握住他的手:"我们会的。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>当他们来到黑暗玄廊的最深处时,所有的灯柱都熄灭了。</p>
|
||||
<p>不是因为能量耗尽,而是被某种更强大的力量压制。晨曦的光芒在这里也变得极其微弱,只能照亮林克自己的脚下。</p>
|
||||
<p>"来了……"林克低声说。</p>
|
||||
<p>黑暗中,一个高大的身影缓缓显现。</p>
|
||||
<p>与其他驱逐者不同,这个身影穿着完整的铠甲,头盔上戴着象征身份的羽饰。他手中的长剑散发着幽蓝的光芒,与驱逐者们不同,那是更加纯粹、更加强大的黑暗之力。</p>
|
||||
<p>天之驱逐者。</p>
|
||||
<p>曾经的光之城主亲卫队长,现在黑暗玄廊的统治者。</p>
|
||||
<p>"人类……"天之驱逐者的声音低沉而空洞,"你们……带来了……光……"</p>
|
||||
<p>他抬起头,头盔下的黑暗中,两只眼睛如同蓝色的火焰。</p>
|
||||
<p>"但是……在这里……光……是不被允许的……"</p>
|
||||
<p>他举起长剑,轻轻一挥。</p>
|
||||
<p>林克感觉到,周围仅剩的光线——包括晨曦的光芒——都在迅速消失。</p>
|
||||
<p>"熄灭吧……"天之驱逐者的声音回荡在黑暗中,"一切……归于黑暗……"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>纯粹的黑暗降临了。</p>
|
||||
<p>林克发现自己什么都看不见,连身边的赛丽亚都消失了踪影。晨曦的光芒被压制到了极限,只能勉强照亮剑身周围几厘米的范围。</p>
|
||||
<p>"这就是……天之驱逐者的力量?"</p>
|
||||
<p>他听到了剑刃破空的声音,本能地举剑格挡。</p>
|
||||
<p>"铛——!"</p>
|
||||
<p>巨大的冲击力让他连连后退。在黑暗中,他完全无法判断敌人的位置,只能被动防御。</p>
|
||||
<p>又是一剑从背后袭来。</p>
|
||||
<p>林克勉强躲过,但肩膀还是被划出一道伤口。</p>
|
||||
<p>"林克!"赛丽亚的声音从远处传来,"他在利用黑暗!你需要光!"</p>
|
||||
<p>光……</p>
|
||||
<p>林克看着手中微弱的晨曦,突然想起了什么。</p>
|
||||
<p>诺顿说过,晨曦与光之核心同源。而光之核心……即使在最深的黑暗中,也不会熄灭。</p>
|
||||
<p>"光……不是被赐予的……"林克闭上眼睛,感受着晨曦的温度,"而是……发自内心的……"</p>
|
||||
<p>他不再抗拒周围的黑暗,而是将全部的精神集中在晨曦之上。</p>
|
||||
<p>想起了阿甘左的教导——剑术的极致是心如止水。</p>
|
||||
<p>想起了GSD的教诲——波动之力,源于内心。</p>
|
||||
<p>想起了自己选择剑魂的那一刻——以剑为魂,追求极致。</p>
|
||||
<p>晨曦开始颤动。</p>
|
||||
<p>然后,爆发出前所未有的光芒。</p>
|
||||
<p>那光芒不再是被动的防御,而是主动的绽放。纯净的、温暖的、不可动摇的光明,从剑身中喷涌而出,将周围的黑暗撕裂。</p>
|
||||
<p>"什么……"天之驱逐者的声音中带着震惊,"这光……不可能……"</p>
|
||||
<p>林克睁开双眼。</p>
|
||||
<p>在晨曦的照耀下,他终于看清了天之驱逐者的全貌——那个曾经英勇的骑士队长,现在被黑暗侵蚀得面目全非。</p>
|
||||
<p>但更重要的是,他看到了天之驱逐者胸口的一个空洞。</p>
|
||||
<p>那里原本应该有一颗心脏,现在只剩下虚无。</p>
|
||||
<p>"原来如此……"林克明白了,"你失去的不只是生命,还有'心'。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"但即使是这样……"林克举起晨曦,"也不能成为你堕落的理由!"</p>
|
||||
<p>他冲向天之驱逐者。</p>
|
||||
<p>这一次,黑暗无法再压制他。晨曦的光芒如同利剑,将一切阴影斩断。</p>
|
||||
<p>"里·鬼剑术·改!"</p>
|
||||
<p>林克将光剑的极速特性发挥到极致。在武器奥义的加持下,里·鬼剑术的斩击速度更快、威力更强。连续的二连斩在空中划出完美的弧线,每一剑都精准地命中天之驱逐者的铠甲缝隙。</p>
|
||||
<p>天之驱逐者疯狂地反击,他的剑术同样精湛——毕竟是曾经的光之城主亲卫队长。</p>
|
||||
<p>两剑相撞,火花四溅。</p>
|
||||
<p>"不错的剑术……"天之驱逐者的声音中带着一丝赞赏,但随即被疯狂取代,"但还不够!"</p>
|
||||
<p>他挥剑斩出一道黑色的剑气,林克侧身躲过,那道剑气将身后的石柱切成两半。</p>
|
||||
<p>"黑暗……会吞噬一切……"</p>
|
||||
<p>"不!"林克的眼神变得锐利,"光明终将驱散黑暗!"</p>
|
||||
<p>他收起晨曦,拔出巨剑破军。</p>
|
||||
<p>"破军升龙击——!"</p>
|
||||
<p>巨剑带着一往无前的气势上挑,将全身的力量灌注在这一击中。在武器奥义和光剑共鸣的双重加持下,这一击的威力远超以往。</p>
|
||||
<p>"轰——!"</p>
|
||||
<p>天之驱逐者被这一击震退数步,胸口的铠甲出现了裂痕。</p>
|
||||
<p>"为什么……"天之驱逐者一边后退一边嘶吼,"为什么你能……发出这种光……"</p>
|
||||
<p>"因为我有必须守护的人。"林克斩出一剑,"有必须坚持的信念!"</p>
|
||||
<p>"而那些……是黑暗永远夺不走的!"</p>
|
||||
<p>他再次切换回晨曦,将体内剩余的魔力全部注入光剑。</p>
|
||||
<p>"最后一击——光剑精通·极光斩!"</p>
|
||||
<p>晨曦爆发出前所未有的光芒,剑身周围环绕着纯净的光明之力。这是林克基于光剑掌握和里·鬼剑术自创的招式——将光剑的特性与自身的剑气完美结合。</p>
|
||||
<p>光剑刺入天之驱逐者的胸口,光芒从他体内爆发,将所有的黑暗净化。</p>
|
||||
<p>天之驱逐者的身躯开始崩溃,但在彻底消失之前,他的眼中闪过一丝清明。</p>
|
||||
<p>"原来……如此……"他的声音不再空洞,而是恢复了人类的感觉,"你……是……被选中的人……"</p>
|
||||
<p>"光之……核心……在等待……你的到来……"</p>
|
||||
<p>"但是……要小心……城主……他已经……"</p>
|
||||
<p>话未说完,天之驱逐者的身体化作了光点消散。</p>
|
||||
<p>只留下一枚完整的徽章,和那把幽蓝的长剑,静静地躺在地上。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束后,黑暗玄廊的黑暗开始消退。</p>
|
||||
<p>虽然还没有恢复光明,但那种压迫人心的阴冷感已经消失。灯柱的光芒可以正常传播了,驱逐者们也不再出现。</p>
|
||||
<p>林克跪在地上,大口喘着气。刚才那一战消耗了他大量的精力,尤其是最后绽放光明的那一击,几乎耗尽了他的全部魔力。</p>
|
||||
<p>"林克!"赛丽亚跑过来扶住他,"你没事吧?"</p>
|
||||
<p>"没事……"林克勉强笑了笑,"只是有点累……"</p>
|
||||
<p>他看向天之驱逐者消失的地方,那枚徽章和长剑还在。</p>
|
||||
<p>"他最后说的话……是什么意思?"赛丽亚捡起徽章。</p>
|
||||
<p>林克摇摇头:"不太清楚。但他提到了城主,还说要小心……"</p>
|
||||
<p>两人对视一眼,都看到了对方眼中的担忧。</p>
|
||||
<p>光之城主赛格哈特……到底发生了什么?</p>
|
||||
<p>林克站起身,看向黑暗玄廊的尽头。那里有一扇巨大的门,门上刻着光之城主的徽章。</p>
|
||||
<p>穿过那扇门,就是城主宫殿。</p>
|
||||
<p>一切的真相,都在那里等待。</p>
|
||||
<p>"走吧。"林克握紧晨曦,"答案就在眼前。"</p>
|
||||
<p>赛丽亚点点头,与他并肩前行。</p>
|
||||
<p>黑暗玄廊的冒险结束了,但更大的挑战——与光之城主的会面,即将开始。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第十六章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-15.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-17.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter current">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(16)) {
|
||||
readChapters.push(16);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
667
alacarte-novel-website/chapters/chapter-17.html
Normal file
667
alacarte-novel-website/chapters/chapter-17.html
Normal file
@ -0,0 +1,667 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 17</div>
|
||||
<h1 class="chapter-title">城主宫殿</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>黑暗玄廊的尽头,是一扇巨大的石门。</p>
|
||||
<p>门上刻着天空之城的徽章——一只展翅的雄鹰,口中衔着发光的太阳。这是光之城主的标志,也是整个天空之城最高权力的象征。</p>
|
||||
<p>林克站在门前,感受着从门缝中渗出的强大魔力波动。</p>
|
||||
<p>"里面……就是城主宫殿。"赛丽亚轻声说,"我感觉到一股非常古老的力量。"</p>
|
||||
<p>林克点点头,握紧了晨曦。自从进入天空之城以来,这把剑就不停地颤动,仿佛在回应着什么召唤。而现在,站在城主宫殿的门前,那种颤动变得更加强烈。</p>
|
||||
<p>"准备好了吗?"他问。</p>
|
||||
<p>赛丽亚深吸一口气:"嗯。"</p>
|
||||
<p>林克伸手推开了石门。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>与预想中的阴暗不同,城主宫殿内部是一片耀眼的光芒。</p>
|
||||
<p>巨大的穹顶高耸入云,无数水晶灯柱悬挂在空中,散发着柔和的金色光芒。地面由洁白的大理石铺成,墙壁上绘满了精美的壁画——那是天空之城的历史,从建造到繁荣,再到现在的衰落。</p>
|
||||
<p>但最引人注目的,是宫殿中央的那个存在。</p>
|
||||
<p>光之城主赛格哈特。</p>
|
||||
<p>他悬浮在半空中,身穿金色的铠甲,背后展开六只光之羽翼。他的面容被头盔遮挡,只能看到两只散发着纯粹光芒的眼睛。</p>
|
||||
<p>在他身下,是一个巨大的魔法阵。魔法阵的中央,悬浮着一颗拳头大小的水晶——那正是光之核心,整个天空之城的力量源泉。</p>
|
||||
<p>"终于来了……"赛格哈特的声音回荡在宫殿中,如同天籁,"被选中的人……"</p>
|
||||
<p>林克警惕地握住晨曦:"你知道我会来?"</p>
|
||||
<p>"当然。"赛格哈特缓缓降落,光之羽翼在背后轻轻扇动,"从你们进入天空之城的那一刻起,我就一直在观察你们。"</p>
|
||||
<p>他的目光落在林克手中的晨曦上:"尤其是那把剑……那把本属于这里的剑。"</p>
|
||||
<p>"晨曦……到底和天空之城有什么关系?"林克问道。</p>
|
||||
<p>赛格哈特沉默了片刻,然后缓缓开口:"在回答这个问题之前,让我先给你们讲一个故事。一个关于天空之城、光之核心,以及……末日预言的故事。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"很久很久以前,天界和阿拉德大陆是相连的。"赛格哈特的声音带着古老的回响,"那时的天空之城,是连接两个世界的桥梁,是繁荣与和平的象征。"</p>
|
||||
<p>他指着墙壁上的壁画:"看,这就是那个时代。天界的科技与阿拉德的魔法相结合,创造出了无数奇迹。"</p>
|
||||
<p>林克顺着他的手指看去。壁画上描绘着繁华的城市、飞翔的船只、以及和平相处的人类与天族。</p>
|
||||
<p>"但和平没有持续太久。"赛格哈特的声音变得沉重,"一场灾难降临了——'那场战争'。"</p>
|
||||
<p>"天界和阿拉德大陆陷入了全面的冲突。天空之城成为了战场,无数生命在这里消逝。"</p>
|
||||
<p>"为了结束战争,天界的科学家和阿拉德的魔法师联手创造了光之核心——一个能够操控光的终极武器。"</p>
|
||||
<p>赛格哈特看向身下的魔法阵:"但它的力量太过强大,强大到无法被任何人控制。战争虽然结束了,但光之核心开始失控。"</p>
|
||||
<p>"为了防止灾难蔓延,当时的城主做出了一个决定——将天空之城升入云端,永远与世隔绝。"</p>
|
||||
<p>"而我……"赛格哈特的声音带着一丝悲伤,"我被选为守护者,永远镇守在这里,确保光之核心不会再次失控。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"那晨曦呢?"林克追问道,"它和光之核心有什么关系?"</p>
|
||||
<p>"晨曦……"赛格哈特的目光变得复杂,"是光之核心的'碎片'。"</p>
|
||||
<p>"什么?"林克和赛丽亚同时惊呼。</p>
|
||||
<p>"当年光之核心失控时,有一部分力量分离了出来。"赛格哈特解释道,"那部分力量被封印在了一把剑中,就是晨曦。"</p>
|
||||
<p>"它承载着光之核心最纯净的部分——希望与守护的意志。"</p>
|
||||
<p>"但为什么……"赛格哈特的声音变得困惑,"为什么它会在你手中?它应该被封印在天空之城的最深处才对。"</p>
|
||||
<p>林克想起了莎兰的话:"是莎兰给我的。她说这把剑选择了我。"</p>
|
||||
<p>"选择……"赛格哈特喃喃自语,"原来如此……预言是真的。"</p>
|
||||
<p>"什么预言?"赛丽亚问。</p>
|
||||
<p>赛格哈特抬起头,目光穿透宫殿,望向远方:"当光之核心开始腐化,当天空之城再次面临危机,会有一位持剑者出现。他将带来晨曦的光芒,净化被污染的核心,决定天空之城的命运。"</p>
|
||||
<p>"那位持剑者……"他的目光落在林克身上,"就是你。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>宫殿陷入了沉默。</p>
|
||||
<p>林克低头看着手中的晨曦,剑身上的光芒与光之核心产生了共鸣,两种光芒交织在一起,形成了一幅美丽的画面。</p>
|
||||
<p>"但为什么……"林克抬起头,"光之核心会腐化?普拉塔尼和天之驱逐者都提到过,核心正在变得不正常。"</p>
|
||||
<p>赛格哈特的身体微微颤抖。</p>
|
||||
<p>"因为……我累了。"他的声音第一次出现了波动,"几百年的孤独守望,几百年的与世隔绝……我开始怀疑,这一切是否还有意义。"</p>
|
||||
<p>"光之核心感应到了我的迷茫。"他苦笑着,"光明与黑暗本是一体,当守护者的心中出现阴影,核心也会开始腐化。"</p>
|
||||
<p>林克明白了。</p>
|
||||
<p>光之核心的腐化,不是因为外部的原因,而是因为赛格哈特内心的动摇。</p>
|
||||
<p>"所以……"林克缓缓说道,"解决的方法不是战斗,而是让你重新找回信念?"</p>
|
||||
<p>"不。"赛格哈特的声音突然变得冰冷,"解决方法……是完成预言。"</p>
|
||||
<p>他的光之羽翼猛然展开,强大的威压席卷整个宫殿。</p>
|
||||
<p>"持剑者必须证明自己的资格!"赛格哈特举起手中的光之长枪,"只有通过战斗,才能证明你是否有能力净化核心!"</p>
|
||||
<p>"来吧,让我看看……你是否配得上晨曦的力量!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗瞬间爆发。</p>
|
||||
<p>赛格哈特的速度远超任何敌人。他的身影化作一道金光,瞬间出现在林克面前,光之长枪直刺而来!</p>
|
||||
<p>"好快!"</p>
|
||||
<p>林克举剑格挡,但巨大的冲击力让他连退数步。赛格哈特的力量比普拉塔尼和天之驱逐者加起来还要强大。</p>
|
||||
<p>"这就是……天空之城最强者的实力?"</p>
|
||||
<p>没有时间犹豫。林克深吸一口气,体内的剑魂之力全力运转。</p>
|
||||
<p>"里·鬼剑术!"</p>
|
||||
<p>晨曦化作流光,连续的二连斩击与赛格哈特的长枪碰撞,火花四溅。武器奥义的被动加持让他的每一剑都精准有力,但在赛格哈特面前,依然显得有些吃力。</p>
|
||||
<p>"不错的剑术!"赛格哈特赞赏道,但攻击却没有停止,"但还不够!"</p>
|
||||
<p>他的光之羽翼猛然扇动,无数光之羽毛如同利箭般射向林克。</p>
|
||||
<p>"不好!"</p>
|
||||
<p>林克切换成巨剑破军,"破军升龙击!"</p>
|
||||
<p>巨剑带着上挑的力道,将射来的光之羽毛全部震散。这一招他在Lv.25时学会,经过黑暗玄廊的战斗后,已经掌握得更加熟练。</p>
|
||||
<p>但赛格哈特的攻击还没有结束。</p>
|
||||
<p>"光之审判!"</p>
|
||||
<p>天空中出现无数光之矛,朝着林克倾泻而下。</p>
|
||||
<p>林克不断闪避,但光之矛的速度太快,他的肩膀和腿部都被擦伤。</p>
|
||||
<p>"林克!"赛丽亚想要帮忙,但赛格哈特随手一挥,一道光墙就将她隔绝在外。</p>
|
||||
<p>"这是属于持剑者的试炼。"赛格哈特的声音回荡着,"外人不能插手。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克半跪在地上,喘着粗气。</p>
|
||||
<p>赛格哈特的实力远超他的想象。即使已经掌握了里·鬼剑术和破军升龙击,在天空之城的统治者面前,他依然处于下风。</p>
|
||||
<p>"怎么?"赛格哈特悬浮在空中,俯视着他,"就这点实力吗?如果是这样,你无法净化核心,只会让腐化更加严重!"</p>
|
||||
<p>林克咬紧牙关,缓缓站起身。</p>
|
||||
<p>"我不会放弃的。"他的声音虽然疲惫,但充满坚定,"我答应过赛丽亚,会保护她。我答应过诺顿,会找出真相。我答应过自己……会变得更强!"</p>
|
||||
<p>他举起晨曦,将全部的魔力注入其中。</p>
|
||||
<p>"这些承诺……我不能违背!"</p>
|
||||
<p>晨曦爆发出前所未有的光芒。那光芒不再是单纯的光明,而是带着某种温暖的、充满生命力的色彩。</p>
|
||||
<p>赛格哈特的眼神变了。</p>
|
||||
<p>"这是……"</p>
|
||||
<p>"里·鬼剑术·极限!"林克大喝一声,身形化作一道流光冲向赛格哈特。</p>
|
||||
<p>这是他目前最强的攻击——将武器奥义、光剑掌握、里·鬼剑术三者完美结合的一击。虽然是Lv.26的剑魂还无法完全掌控的技巧,但在这一刻,他超越了自己的极限。</p>
|
||||
<p>赛格哈特举起长枪格挡,但这一次,他被震退了。</p>
|
||||
<p>"什么……"</p>
|
||||
<p>林克的攻击没有停止。里·鬼剑术的极速二连斩,配合光剑的穿透特性,在赛格哈特的铠甲上留下了一道又一道痕迹。</p>
|
||||
<p>"你的剑……"赛格哈特的声音中带着震惊,"不只是技巧……还有'心'!"</p>
|
||||
<p>最后一剑。</p>
|
||||
<p>林克将晨曦刺向赛格哈特的胸口——那里是光之核心的连接点。</p>
|
||||
<p>但就在剑尖即将触及的瞬间,赛格哈特突然收起了所有的防御。</p>
|
||||
<p>"你……通过了试炼。"他的声音恢复了平静。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束了。</p>
|
||||
<p>赛格哈特缓缓降落,光之羽翼收拢。他身上的铠甲虽然布满了伤痕,但他的眼神中却带着欣慰。</p>
|
||||
<p>"几百年了……"他轻声说,"我终于等到了。"</p>
|
||||
<p>林克大口喘着气,几乎站立不稳:"这是……什么意思?"</p>
|
||||
<p>"试炼的真正目的,不是为了测试你的实力。"赛格哈特解释道,"而是为了测试你的心。"</p>
|
||||
<p>"几百年来,我一直在等待一个能够理解'守护'真正含义的人。"他的目光变得柔和,"你通过了。"</p>
|
||||
<p>他转身走向光之核心:"现在,去完成你的使命吧。"</p>
|
||||
<p>林克看着那颗悬浮的水晶,感受到晨曦与它之间的强烈共鸣。</p>
|
||||
<p>"我该怎么做?"</p>
|
||||
<p>"将晨曦插入核心。"赛格哈特说,"剑中的纯净之力会净化核心的腐化。但要注意的是……"</p>
|
||||
<p>他顿了顿:"这个过程会消耗巨大的能量。晨曦可能会暂时失去光芒,甚至……彻底损坏。"</p>
|
||||
<p>林克低头看着手中的剑。</p>
|
||||
<p>晨曦陪伴他走过了这么长的路,从暗黑雷鸣废墟到天空之城。它不仅是武器,更是他的伙伴。</p>
|
||||
<p>"我懂了。"他抬起头,目光坚定,"有些事情,比一把剑更重要。"</p>
|
||||
<p>他走向光之核心,将晨曦缓缓举起。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>当晨曦触及光之核心的瞬间,整个宫殿被耀眼的光芒笼罩。</p>
|
||||
<p>林克感觉到一股巨大的力量从核心涌入剑身,然后通过剑身流入他的身体。那是一种温暖而纯净的力量,与他体内的剑魂之力产生了完美的共鸣。</p>
|
||||
<p>他看到了幻象——</p>
|
||||
<p>天空之城的过去,那个繁荣昌盛的时代。</p>
|
||||
<p>无数人在城中欢笑、生活。</p>
|
||||
<p>然后战争降临,血与火染红了天空。</p>
|
||||
<p>再到后来,赛格哈特独自守在宫殿中,日复一日,年复一年。</p>
|
||||
<p>孤独、疲惫、迷茫……</p>
|
||||
<p>但在这所有的负面情绪中,依然有一丝光芒在坚持。</p>
|
||||
<p>那是希望。</p>
|
||||
<p>是对和平的渴望。</p>
|
||||
<p>是对未来的期盼。</p>
|
||||
<p>"我明白了……"林克喃喃自语,"这就是……光之核心的真正力量。"</p>
|
||||
<p>光芒越来越强烈,核心的腐化正在被一点点净化。黑色的气息从核心中逸出,然后在光芒中消散。</p>
|
||||
<p>但正如赛格哈特所说,这个过程消耗了巨大的能量。</p>
|
||||
<p>晨曦的光芒开始变得暗淡。剑身上的符文一个接一个熄灭,仿佛生命正在流逝。</p>
|
||||
<p>"林克!"赛丽亚惊呼。</p>
|
||||
<p>"继续!"赛格哈特大声说,"不要停!"</p>
|
||||
<p>林克咬紧牙关,将全部的精神都集中在净化上。他能感觉到晨曦在颤抖,在挣扎,但它依然没有放弃。</p>
|
||||
<p>"坚持住……"林克在心中默念,"我们一起……坚持住……"</p>
|
||||
<p>最后一刻,光之核心爆发出最强烈的光芒,将所有的腐化彻底净化。</p>
|
||||
<p>而晨曦……在完成了使命后,光芒彻底熄灭,化作一把普通的铁剑。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>当光芒散去,宫殿恢复了平静。</p>
|
||||
<p>光之核心悬浮在魔法阵中,散发着纯净而温暖的光芒。那种阴冷、压抑的感觉彻底消失了,取而代之的是让人感到安心的光明。</p>
|
||||
<p>赛格哈特看着净化后的核心,眼中闪烁着泪光:"终于……结束了……"</p>
|
||||
<p>林克跪在地上,手中握着已经失去光芒的晨曦。</p>
|
||||
<p>"它……"他的声音有些沙哑。</p>
|
||||
<p>"完成了它的使命。"赛格哈特走到他身边,"但也许……还有希望。"</p>
|
||||
<p>他伸出手,一缕纯净的光之力从核心中分离,流入晨曦的剑身。</p>
|
||||
<p>"光之核心会孕育新的力量。"赛格哈特说,"也许有一天,它会重新绽放光芒。"</p>
|
||||
<p>林克点点头,小心翼翼地将晨曦收起。</p>
|
||||
<p>即使暂时失去了力量,它依然是他的伙伴。</p>
|
||||
<p>"谢谢你。"赛格哈特真诚地说,"你不仅净化了核心,也净化了我的心。"</p>
|
||||
<p>"这几百年的守望……终于有了意义。"</p>
|
||||
<p>他看向宫殿的大门:"天空之城将再次开放。阿拉德大陆的人们,可以重新踏上这片土地。"</p>
|
||||
<p>"而你……"他看着林克,"你将被称为'晨曦的继承者',天空之城永远的朋友。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>离开城主宫殿时,天空之城的天空从未如此晴朗。</p>
|
||||
<p>阳光穿透云层,洒在这座古老的浮空城市上。被净化的光之核心将光芒传递到每一个角落,驱逐了所有的黑暗和阴霾。</p>
|
||||
<p>林克和赛丽亚站在宫殿的台阶上,俯瞰着整座天空之城。</p>
|
||||
<p>"结束了。"赛丽亚轻声说。</p>
|
||||
<p>"不。"林克摇摇头,"是开始了。"</p>
|
||||
<p>他看向手中的晨曦:"这把剑会重新发光的。而我……也会变得更强。"</p>
|
||||
<p>"还有更多的冒险在等着我们。"</p>
|
||||
<p>赛丽亚微笑着握住他的手:"不管去哪里,我都陪着你。"</p>
|
||||
<p>两人相视而笑,然后并肩走下台阶。</p>
|
||||
<p>天空之城的故事告一段落,但他们的旅程……才刚刚开始。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第十七章完)</p>
|
||||
<p>(天空之城篇 完结)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-16.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-18.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter current">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(17)) {
|
||||
readChapters.push(17);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
613
alacarte-novel-website/chapters/chapter-18.html
Normal file
613
alacarte-novel-website/chapters/chapter-18.html
Normal file
@ -0,0 +1,613 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 18</div>
|
||||
<h1 class="chapter-title">番外·悬空城</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>天空之城重新开放的消息,很快传遍了整个阿拉德大陆。</p>
|
||||
<p>冒险家们从各地涌来,想要探索这座传说中的浮空城市。而林克和赛丽亚,作为"晨曦的继承者",自然成为了众人关注的焦点。</p>
|
||||
<p>但林克的心情并不轻松。</p>
|
||||
<p>晨曦失去了光芒,变成了一把普通的铁剑。虽然他依然可以使用其他武器,但总感觉少了些什么。</p>
|
||||
<p>"还在想晨曦的事?"赛丽亚走到他身边。</p>
|
||||
<p>林克点点头:"赛格哈特说它会重新发光,但……我不知道要等多久。"</p>
|
||||
<p>"会好起来的。"赛丽亚安慰道,"对了,凯丽让我转告你,她有些东西要给你看。"</p>
|
||||
<p>"凯丽?"</p>
|
||||
<p>"赫顿玛尔的强化师。"赛丽亚解释道,"她说和晨曦有关。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>赫顿玛尔,凯丽的工坊。</p>
|
||||
<p>这位天界来的强化师,正站在工作台前,手中拿着一块发光的碎片。</p>
|
||||
<p>"来得正好。"凯丽看到林克,露出一个意味深长的笑容,"我有个消息要告诉你。"</p>
|
||||
<p>"关于晨曦?"</p>
|
||||
<p>"不完全是。"凯丽将碎片放在桌上,"这是从天空之城深处找到的。你猜猜看,它来自哪里?"</p>
|
||||
<p>林克仔细观察那块碎片。它散发着微弱的光芒,质地和晨曦有些相似,但又有些不同。</p>
|
||||
<p>"光之核心的碎片?"</p>
|
||||
<p>"聪明。"凯丽点点头,"但这块碎片来自一个更古老的地方——悬空城。"</p>
|
||||
<p>"悬空城?"</p>
|
||||
<p>"天空之城的最深处,连赛格哈特都没有完全探索过的区域。"凯丽调出一张古老的地图,"传说那里是天空之城最初建造时的核心区域,藏着比光之核心更古老的秘密。"</p>
|
||||
<p>林克的心跳加速了:"你是说……那里可能有恢复晨曦的方法?"</p>
|
||||
<p>"不确定。"凯丽坦诚地说,"但那里肯定有与光之核心同源的力量。如果你的晨曦能够吸收那种力量……"</p>
|
||||
<p>她没有说完,但林克明白了。</p>
|
||||
<p>"怎么去悬空城?"</p>
|
||||
<p>凯丽指着地图上的一个标记:"从城主宫殿的地下通道可以到达。但要注意的是……"</p>
|
||||
<p>她的表情变得严肃:"那里的怪物比城主宫殿还要强大。而且,据说有某种'古老的存在'在守护着最核心的秘密。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>通过城主宫殿的地下通道,林克和赛丽亚来到了悬空城。</p>
|
||||
<p>与上方的宫殿不同,这里给人一种更加古老、更加神秘的感觉。建筑风格与天空之城其他区域完全不同,墙壁上刻满了他们看不懂的符文。</p>
|
||||
<p>"这些符文……"赛丽亚伸手触摸墙壁,"比光之核心的年代还要久远。"</p>
|
||||
<p>林克举起已经失去光芒的晨曦。奇怪的是,在这里,剑身似乎有了一丝反应——虽然很微弱,但确实存在。</p>
|
||||
<p>"有效果。"林克的眼中闪过一丝希望,"这里的力量确实与晨曦同源。"</p>
|
||||
<p>他们继续前进。</p>
|
||||
<p>悬空城的怪物与之前遇到的完全不同。这里游荡着一种半透明的生物,凯丽称它们为"元素精灵"——是光之核心形成之前就存在的古老生命。</p>
|
||||
<p>"它们没有实体,普通攻击无效!"赛丽亚提醒道。</p>
|
||||
<p>林克尝试用太刀霜刃攻击,但刀刃直接穿过了元素精灵的身体,没有造成任何伤害。</p>
|
||||
<p>"要用属性攻击!"他想起了诺顿的教导。</p>
|
||||
<p>但晨曦已经失去了光芒,他无法使用光属性攻击。</p>
|
||||
<p>"试试这个!"赛丽亚抛给他一个小瓶。</p>
|
||||
<p>那是凯丽给的光属性药剂,可以暂时让武器附带光属性。</p>
|
||||
<p>林克将药剂涂抹在短剑影牙上。黑色的剑身立刻被一层淡淡的光芒包裹。</p>
|
||||
<p>"影牙·光袭!"</p>
|
||||
<p>这一次,攻击奏效了。光属性的斩击让元素精灵发出刺耳的尖叫,身体开始崩解。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>随着深入悬空城,林克发现这里的结构越来越奇怪。</p>
|
||||
<p>回廊似乎是环绕着一个中心点建造的,而那个中心点散发着越来越强烈的光芒。</p>
|
||||
<p>"前面有东西。"赛丽亚指着远处。</p>
|
||||
<p>那是一个巨大的圆形大厅,大厅的中央悬浮着一颗小型的光球。那颗光球比光之核心小得多,但散发出的能量却更加古老、更加纯粹。</p>
|
||||
<p>"那是……"林克瞪大了眼睛。</p>
|
||||
<p>"光之核心的原型。"一个声音从身后传来。</p>
|
||||
<p>林克和赛丽亚猛地转身,看到一个身穿白袍的老者正站在入口处。</p>
|
||||
<p>老者的面容模糊不清,仿佛被光芒笼罩。他的身影有些透明,不像是实体。</p>
|
||||
<p>"你是……"</p>
|
||||
<p>"我是这座城市的建造者之一。"老者的声音温和而古老,"或者说,是我的意志残留。"</p>
|
||||
<p>他看向林克手中的晨曦:"那把剑……我认得出它的气息。它是从核心中分离出的碎片,承载着我们的希望。"</p>
|
||||
<p>"您知道如何恢复它的光芒吗?"林克急切地问道。</p>
|
||||
<p>老者点点头:"知道。但首先,你必须证明自己配得上那份力量。"</p>
|
||||
<p>他挥了挥手,大厅中的光球开始剧烈颤动。</p>
|
||||
<p>"那颗原型核心会释放它的守护者。只有战胜守护者,你才能获得恢复晨曦的力量。"</p>
|
||||
<p>"小心,年轻人。"老者的身影开始消散,"守护者……是我那个时代最强的战士。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>光球爆裂,一个巨大的身影从光芒中走出。</p>
|
||||
<p>那是一个身穿古老铠甲的战士,他的身躯半透明,显然也是意志残留的形态。但即使如此,他身上散发出的威压依然让人窒息。</p>
|
||||
<p>"挑战者……"守护者的声音如同雷鸣,"想要获得原型的力量,就先战胜我!"</p>
|
||||
<p>战斗开始。</p>
|
||||
<p>守护者的速度极快,而且能够随意操控周围的光元素。他的攻击带着纯粹的光属性,即使只是擦到也会让林克感到剧痛。</p>
|
||||
<p>"光属性的敌人……"林克咬牙,"用影牙的光属性药剂!"</p>
|
||||
<p>他再次涂抹药剂,与守护者展开激战。</p>
|
||||
<p>里·鬼剑术的二连斩、破军升龙击的上挑、太刀霜刃的灵活迂回——林克用尽了所有技巧,但在守护者面前,依然处于下风。</p>
|
||||
<p>"太弱了!"守护者一拳击退林克,"凭这种程度,配不上原型的力量!"</p>
|
||||
<p>林克半跪在地上,大口喘着气。</p>
|
||||
<p>药剂的效果正在消退,影牙上的光芒越来越暗淡。</p>
|
||||
<p>"难道……真的没有办法吗?"</p>
|
||||
<p>他看向手中的晨曦。那把失去光芒的剑,此刻显得如此平凡。</p>
|
||||
<p>但就在这时,他感觉到了什么。</p>
|
||||
<p>晨曦……在颤动。</p>
|
||||
<p>不是因为外部的力量,而是来自内部——来自林克自己。</p>
|
||||
<p>"对了……"林克想起了赛格哈特的话,"晨曦承载着希望与守护的意志。那种力量……不是来自核心,而是来自持剑者的心!"</p>
|
||||
<p>他重新站起身,握紧晨曦。</p>
|
||||
<p>即使没有光芒,即使变成普通的铁剑,它依然是他最重要的伙伴。</p>
|
||||
<p>"再来!"</p>
|
||||
<p>这一次,林克没有依赖任何药剂或外部力量。他只是单纯地挥舞着晨曦,将自己全部的信念注入其中。</p>
|
||||
<p>"里·鬼剑术·心斩!"</p>
|
||||
<p>奇迹发生了。</p>
|
||||
<p>晨曦的剑身上,重新亮起了微弱的光芒。</p>
|
||||
<p>那光芒虽然不强,但无比纯净——那是林克自己的意志,是他对伙伴的信任,对守护的坚持。</p>
|
||||
<p>守护者的动作停住了。</p>
|
||||
<p>"这是……"他的声音中带着震惊,"持剑者自身的光芒?"</p>
|
||||
<p>林克没有给他反应的时间。他带着晨曦,冲向守护者。</p>
|
||||
<p>这一次,他的每一剑都带着真正的光属性——不是来自核心,而是来自他自己。</p>
|
||||
<p>"原来如此……"守护者笑了,"我明白了。你……确实配得上那份力量。"</p>
|
||||
<p>他收起防御,任由晨曦刺入自己的胸口。</p>
|
||||
<p>"去吧,年轻人。"守护者的身体开始化作光点,"原型核心的力量……是你的了。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束后,原型核心缓缓飘向林克。</p>
|
||||
<p>它散发出的古老力量,开始流入晨曦的剑身。失去的光芒一点一点恢复,虽然还不如以前那么强烈,但已经能够正常使用。</p>
|
||||
<p>更重要的是,林克感觉到自己和晨曦之间的联系更加紧密了。</p>
|
||||
<p>那种联系不再依赖于光之核心,而是来自于他们共同经历的战斗,来自于彼此的信任。</p>
|
||||
<p>"晨曦……"林克轻声说,"欢迎回来。"</p>
|
||||
<p>剑身上的光芒微微闪烁,仿佛在回应他。</p>
|
||||
<p>建造者的意志再次出现,他的表情中带着欣慰。</p>
|
||||
<p>"你通过了试炼。"他说,"从现在开始,你不再只是光之核心的继承者,而是真正的'光之骑士'。"</p>
|
||||
<p>"晨曦的力量会随着时间的流逝完全恢复。而在那之前……"</p>
|
||||
<p>他看向远方:"更大的挑战正在等着你。天帷巨兽的苏醒,将使徒的气息带到了阿拉德大陆。"</p>
|
||||
<p>"使徒?"赛丽亚皱眉。</p>
|
||||
<p>"古老的邪恶存在。"建造者的声音变得沉重,"光之核心的创造,原本就是为了对抗它们。"</p>
|
||||
<p>他的身影开始消散:"去吧,年轻的骑士。属于你的传奇……才刚刚开始。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>离开悬空城时,晨曦已经恢复了大约三成的光芒。</p>
|
||||
<p>虽然还达不到以前的强度,但林克已经非常满意。更重要的是,他找到了让晨曦完全恢复的方法——不是依赖外部的力量,而是通过与伙伴共同成长。</p>
|
||||
<p>"接下来去哪?"赛丽亚问。</p>
|
||||
<p>林克看向东方。那里,天帷巨兽的巨大身影正在云层中若隐若现。</p>
|
||||
<p>"天帷巨兽。"他说,"建造者提到了使徒。如果那种存在真的苏醒了……我们必须去阻止它。"</p>
|
||||
<p>赛丽亚微笑着握住他的手:"不管去哪里,我都陪着你。"</p>
|
||||
<p>两人相视而笑,然后向着新的冒险出发。</p>
|
||||
<p>悬空城的秘密已经揭开,但更大的挑战——使徒的威胁,正在前方等待着他们。</p>
|
||||
<p>天空之城篇,至此真正完结。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第十八章:番外·悬空城 完)</p>
|
||||
<p>(天空之城篇 正式完结)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-17.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-19.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter current">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(18)) {
|
||||
readChapters.push(18);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
626
alacarte-novel-website/chapters/chapter-19.html
Normal file
626
alacarte-novel-website/chapters/chapter-19.html
Normal file
@ -0,0 +1,626 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 19</div>
|
||||
<h1 class="chapter-title">天帷巨兽·神殿外围</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>天空之城重新开放后,林克和赛丽亚在赫顿玛尔休整了几天。</p>
|
||||
<p>晨曦恢复了三成光芒,虽然还不如巅峰时期,但已经能够正常使用光属性攻击。这对于即将面临的新挑战来说,无疑是个好消息。</p>
|
||||
<p>"接下来去哪?"赛丽亚一边整理装备一边问道。</p>
|
||||
<p>林克看着窗外的天空:"我听说天帷巨兽出现了异常。"</p>
|
||||
<p>"天帷巨兽?"</p>
|
||||
<p>"一只巨大的飞行生物,背上建满了古代神殿。"林克解释道,"它一直在阿拉德大陆上空游荡,但最近……有人看到它在西海岸附近徘徊。"</p>
|
||||
<p>"而且,"他的表情变得严肃,"有传言说上面发生了某种'异变'。"</p>
|
||||
<p>就在这时,旅馆的门被猛地推开。</p>
|
||||
<p>一个年轻的女孩跌跌撞撞地冲了进来,她的衣服破烂不堪,脸上带着惊恐的表情。</p>
|
||||
<p>"求求你们……"女孩抓住林克的手臂,"请帮帮我……帮帮GBL教……"</p>
|
||||
<p>说完,她就晕了过去。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>女孩名叫奥菲利亚,是GBL教的信徒。</p>
|
||||
<p>GBL教——"Grand Blue Lore",意为"伟大的蓝色知识"——是一个崇拜知识的宗教组织。他们的总部建在天帷巨兽的背上,收集和研究着来自世界各地的知识。</p>
|
||||
<p>"几天前的晚上,"奥菲利亚坐在旅馆的椅子上,捧着热茶的手还在颤抖,"一切都变了。"</p>
|
||||
<p>"发生了什么?"林克问道。</p>
|
||||
<p>"教主……教主他突然发狂了。"奥菲利亚的眼中闪过恐惧,"他声称听到了'神'的声音,然后……然后所有的信徒都跟着发狂了。"</p>
|
||||
<p>"他们开始互相攻击,破坏神殿,甚至……"她咬紧嘴唇,"甚至献祭活人。"</p>
|
||||
<p>赛丽亚倒吸一口冷气:"献祭?"</p>
|
||||
<p>"我不知道那是什么力量,"奥菲利亚摇头,"但它控制了整个GBL教。我是唯一逃出来的人。"</p>
|
||||
<p>她看向林克,眼中充满恳求:"求你……求你阻止这一切。如果再这样下去,天帷巨兽会坠落到阿拉德大陆的!"</p>
|
||||
<p>林克和赛丽亚对视一眼。</p>
|
||||
<p>"那个控制他们的'神',"林克沉声问道,"你知道是什么吗?"</p>
|
||||
<p>奥菲利亚摇摇头:"不知道。但我听到教主说过……'使徒'这个词。"</p>
|
||||
<p>使徒。</p>
|
||||
<p>林克想起了悬空城建造者的话——光之核心原本就是为了对抗使徒而创造的。</p>
|
||||
<p>"看来,我们得去一趟天帷巨兽了。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>通过西海岸的传送阵,林克和赛丽亚来到了天帷巨兽的背部。</p>
|
||||
<p>眼前的景象让他们震惊。</p>
|
||||
<p>天帷巨兽的背上建满了宏伟的神殿和图书馆,但现在已经变成了废墟。到处都是破碎的石柱和倒塌的书架,曾经宁静的圣地现在弥漫着血腥和疯狂的气息。</p>
|
||||
<p>"这就是……GBL教总部?"赛丽亚难以置信地看着眼前的惨状。</p>
|
||||
<p>"曾经是。"奥菲利亚的声音低沉,"现在只是一座死城。"</p>
|
||||
<p>他们小心翼翼地前进。</p>
|
||||
<p>神殿外围原本应该是GBL教的接待区和初级图书馆,但现在,这里到处游荡着发狂的信徒。</p>
|
||||
<p>那些信徒穿着GBL教的蓝白色长袍,但长袍上沾满了血迹和污渍。他们的眼睛呈现不正常的红色,口中喃喃自语着听不懂的话。</p>
|
||||
<p>"他们被控制了。"林克握紧晨曦,"而且程度很深。"</p>
|
||||
<p>一个信徒发现了他们,发出野兽般的嘶吼,然后冲了过来。</p>
|
||||
<p>林克迎上去。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>晨曦的剑身被一层淡淡的红光包裹,攻击力大幅提升。</p>
|
||||
<p>发狂的信徒挥舞着匕首刺来,但动作毫无章法。林克侧身躲过,同时发动了新学会的技能。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>进入流心姿态后,林克的身形变得飘忽不定。他以极快的速度突进,晨曦如同一道闪电刺入信徒的肩膀。</p>
|
||||
<p>那个信徒发出痛苦的嚎叫,但并没有倒下,反而更加疯狂地攻击。</p>
|
||||
<p>"普通的攻击……无法让他们恢复理智?"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>更多的发狂信徒从四面八方涌来。</p>
|
||||
<p>林克意识到不能留手,这些信徒已经被某种力量彻底侵蚀,普通的击晕无法阻止他们。</p>
|
||||
<p>"流心·跃!"</p>
|
||||
<p>他高高跃起,在空中翻转的同时斩出一道剑气。光属性攻击对发狂的信徒有着特殊的效果——被光芒照射到的信徒发出凄厉的惨叫,眼中的红光稍微暗淡了一些。</p>
|
||||
<p>"光属性有效!"林克心中一喜。</p>
|
||||
<p>虽然晨曦只恢复了三成力量,但光属性攻击对这些被黑暗侵蚀的敌人依然有着克制作用。</p>
|
||||
<p>"赛丽亚,用光魔法支援我!"</p>
|
||||
<p>"明白!"</p>
|
||||
<p>赛丽亚举起法杖,一道道光之箭射向发狂的信徒。被光芒照射到的信徒纷纷倒地,虽然没有死亡,但都陷入了昏迷。</p>
|
||||
<p>林克趁机突进,"破军升龙击!"</p>
|
||||
<p>巨剑破军带着一往无前的气势上挑,将面前的几个信徒全部击飞。</p>
|
||||
<p>然后,在敌人浮空的瞬间,他切换回晨曦。</p>
|
||||
<p>"流心·升!"</p>
|
||||
<p>上挑连击!晨曦在空中划出一道完美的弧线,将被击飞的信徒全部斩落。</p>
|
||||
<p>战斗结束后,周围暂时安静下来。</p>
|
||||
<p>奥菲利亚震惊地看着林克:"你……你是什么人?那种剑术……"</p>
|
||||
<p>"只是一个冒险家而已。"林克收起晨曦,"走吧,我们得找到那个'使徒'。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>随着深入神殿外围,周围的环境变得越来越诡异。</p>
|
||||
<p>墙壁上开始出现奇怪的触手图案,空气中弥漫着一种潮湿的、令人作呕的气息。更奇怪的是,赛丽亚开始感到不适。</p>
|
||||
<p>"林克……"她的脸色苍白,"我感觉到……某种东西……在试图进入我的意识……"</p>
|
||||
<p>林克立即挡在她身前:"是精神控制!那个使徒在试图控制你!"</p>
|
||||
<p>"我……我会没事的……"赛丽亚咬紧牙关,精灵之力在她体内运转,抵抗着外来的精神入侵。</p>
|
||||
<p>奥菲利亚惊恐地看着这一幕:"这就是……控制GBL教的力量?它连精灵都能影响?"</p>
|
||||
<p>"精灵的精神力比人类更强,"林克沉声说,"如果连赛丽亚都感到吃力,那个使徒的精神控制能力……远超我们的想象。"</p>
|
||||
<p>他们继续前进,终于来到了神殿外围的尽头。</p>
|
||||
<p>那里是一个巨大的广场,广场中央有一座祭坛。祭坛周围,聚集着数百个发狂的GBL教信徒,他们正在进行某种可怕的仪式。</p>
|
||||
<p>而在祭坛之上,一个身穿紫色长袍的肥胖身影正挥舞着权杖,指挥着这一切。</p>
|
||||
<p>"更多的祭品……更多!"那人的声音尖锐而疯狂,"罗特斯大人需要更多力量!"</p>
|
||||
<p>"那是……大祭司维加!"奥菲利亚惊呼,"他是GBL教地位仅次于教主的人!"</p>
|
||||
<p>林克握紧晨曦:"必须阻止他!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗开始。</p>
|
||||
<p>维加的实力远超那些普通信徒。他虽然身形肥胖,但动作却异常敏捷。更重要的是,他能够操控周围的信徒,让他们成为自己的盾牌。</p>
|
||||
<p>"杀了他们!"维加大喊,"用他们的血献给罗特斯大人!"</p>
|
||||
<p>数十个发狂的信徒朝林克涌来。</p>
|
||||
<p>"麻烦……"林克咬牙,"必须先解决那些信徒!"</p>
|
||||
<p>"我来帮你!"赛丽亚举起法杖,一道道光之箭射向信徒群,"你去对付大祭司!"</p>
|
||||
<p>林克点头,发动流心姿态,身形如同鬼魅般穿过人群,朝维加冲去。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>晨曦刺向维加的胸口,但维加挥舞权杖,一道精神屏障挡住了攻击。</p>
|
||||
<p>"愚蠢!"维加狞笑,"你以为能伤到我?"</p>
|
||||
<p>他的权杖爆发出黑色的光芒,一股强大的精神冲击朝林克袭来。</p>
|
||||
<p>林克感到一阵剧烈的头痛,动作不由得慢了下来。</p>
|
||||
<p>"不好!"</p>
|
||||
<p>维加的权杖已经砸了下来。林克勉强举剑格挡,巨大的冲击力让他连连后退。</p>
|
||||
<p>"这种力量……比黑暗玄廊的驱逐者还要难缠!"</p>
|
||||
<p>林克深吸一口气,强迫自己集中精神。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>BUFF开启,晨曦的光芒变得更加明亮。</p>
|
||||
<p>"里·鬼剑术!"</p>
|
||||
<p>二连斩击!光剑的高速连击配合光属性攻击,终于对维加的精神屏障造成了实质性的伤害。</p>
|
||||
<p>维加发出愤怒的嚎叫:"光……我讨厌光!"</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>巨剑破军上挑,将维加击飞。然后,在空中的瞬间——</p>
|
||||
<p>"流心·跃!接·升!"</p>
|
||||
<p>连续的技能衔接!流心的姿态切换配合里·鬼剑术的斩击,形成了完美的空中连击。</p>
|
||||
<p>维加的身体重重摔在地上,身上的使徒气息开始消散。</p>
|
||||
<p>"不……不可能……"他喃喃自语,"罗特斯大人……会为我报仇的……"</p>
|
||||
<p>然后,他眼中的黑色褪去,恢复了人类的神采。</p>
|
||||
<p>"我……我做了什么……"维加虚弱地问道,泪水从他肥胖的脸上滑落。</p>
|
||||
<p>"你没事了。"林克收起晨曦,"一切都结束了。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>随着维加被击败,周围的发狂信徒纷纷倒地,眼中的红光逐渐消退。</p>
|
||||
<p>维加虽然恢复了理智,但他对发生的事情记忆犹新——正是他亲手策划了这场献祭仪式。</p>
|
||||
<p>"我有罪……"他跪在地上,浑身颤抖,"我被罗特斯控制了……但我……我还是杀了那么多人……"</p>
|
||||
<p>奥菲利亚别过脸,不愿看他。</p>
|
||||
<p>"那个声音……来自天帷巨兽的最深处。"维加艰难地说,"第二脊椎……罗特斯就在那里……控制着我们所有人……"</p>
|
||||
<p>"第二脊椎?"奥菲利亚惊呼,"那是天帷巨兽最危险的区域,从来没有人从那里活着回来!"</p>
|
||||
<p>"使徒……"林克低声说,"这就是我们要找的东西。"</p>
|
||||
<p>他看向赛丽亚:"你还好吗?"</p>
|
||||
<p>赛丽亚点点头,虽然脸色还有些苍白:"我没事。但那个精神控制……真的很可怕。如果不是我的精灵之力,恐怕已经被控制了。"</p>
|
||||
<p>林克握紧晨曦:"我们必须小心。这个使徒……比我们遇到的任何敌人都要危险。"</p>
|
||||
<p>就在这时,整个天帷巨兽突然剧烈震动。</p>
|
||||
<p>一个低沉、古老、充满威严的声音在所有人脑海中响起:</p>
|
||||
<p>"有趣的……凡人……"</p>
|
||||
<p>"竟然能抵抗……我的精神控制……"</p>
|
||||
<p>"来吧……到第二脊椎来……"</p>
|
||||
<p>"让我看看……你们能坚持多久……"</p>
|
||||
<p>声音消失了,但那种压迫感依然留在每个人心中。</p>
|
||||
<p>林克和赛丽亚对视一眼,都看到了对方眼中的凝重。</p>
|
||||
<p>这个使徒……罗特斯……正在等着他们。</p>
|
||||
<p>天帷巨兽篇的冒险,才刚刚开始。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第十八章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-18.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-20.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter current">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(19)) {
|
||||
readChapters.push(19);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
597
alacarte-novel-website/chapters/chapter-2.html
Normal file
597
alacarte-novel-website/chapters/chapter-2.html
Normal file
@ -0,0 +1,597 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 2</div>
|
||||
<h1 class="chapter-title">洛兰深处</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>林克再次醒来时,发现自己躺在一个简陋的山洞里。</p>
|
||||
<p>洞外传来"叮叮当当"的声音,像是金属碰撞。他撑起身体,左肩和肋下的伤口已经包扎好了。</p>
|
||||
<p>"醒了就出来。"</p>
|
||||
<p>阿甘左的声音从外面传来。</p>
|
||||
<p>林克走出山洞,看到阿甘左正在一块空地上练剑。他的动作看似简单,每一次挥剑都带着一种难以言喻的韵律,仿佛与天地融为一体。</p>
|
||||
<p>"你的基础太差了。"阿甘左收起剑,转过身来,"三年来,你都在干什么?"</p>
|
||||
<p>"在……找你。"林克低下头。</p>
|
||||
<p>阿甘左沉默了一会儿,然后叹了口气。</p>
|
||||
<p>"坐下,我有话跟你说。"</p>
|
||||
<p>两人在洞口的石头上坐下。阿甘左从腰间取下酒壶,喝了一口。</p>
|
||||
<p>"鬼手,是卡赞 syndrome 的产物。"他说,"被诅咒的人,左手会变成血红色,获得鬼神之力的同时,也会被诅咒侵蚀。最终……会发狂,变成只知杀戮的怪物。"</p>
|
||||
<p>林克心中一沉。</p>
|
||||
<p>"但也不是没有办法。"阿甘左继续说,"鬼剑士通过修炼,可以掌控这份力量,甚至将其转化为自身的战力。狂战士、鬼泣、阿修罗、剑魂……都是鬼剑士的转职方向。"</p>
|
||||
<p>"转职?"</p>
|
||||
<p>"那是后话。"阿甘左站起身,"现在的你,连最基础的剑术都没掌握。想要活下去,先学会用剑。"</p>
|
||||
<p>他扔给林克一把木剑。</p>
|
||||
<p>"从今天开始,我教你剑术基础。"</p>
|
||||
<p>---</p>
|
||||
<p>接下来的七天,林克在阿甘左的指导下刻苦修炼。</p>
|
||||
<p>从握剑的姿势,到挥剑的角度,从步伐的移动,到呼吸的配合。阿甘左的要求极其严格,稍有不对就会让他重来。</p>
|
||||
<p>"剑不是用来砍的,是用来刺的。"</p>
|
||||
<p>"你的重心太靠后了,这样发力不足。"</p>
|
||||
<p>"呼吸!挥剑的时候要配合呼吸!"</p>
|
||||
<p>林克浑身酸痛,但没有一句怨言。</p>
|
||||
<p>他知道,这是他变强的唯一机会。</p>
|
||||
<p>第七天的傍晚,阿甘左终于点了点头。</p>
|
||||
<p>"基础勉强合格了。"他说,"明天,去洛兰深处。"</p>
|
||||
<p>"洛兰深处?"</p>
|
||||
<p>"那里有一只哥布林头目,比普通哥布林强十倍。"阿甘左看着他,"杀了他,证明你有资格继续走下去。"</p>
|
||||
<p>林克握紧手中的霜刃。</p>
|
||||
<p>"我明白了。"</p>
|
||||
<p>---</p>
|
||||
<p>洛兰深处比外围更加阴森。</p>
|
||||
<p>树木更加茂密,光线几乎无法穿透。地上到处都是哥布林留下的陷阱和标记,空气中弥漫着一股腐臭的味道。</p>
|
||||
<p>林克小心翼翼地前进,每一步都踩得极轻。</p>
|
||||
<p>三天前,他被这里的哥布林围攻到濒死。今天,他要一雪前耻。</p>
|
||||
<p>"嘎——嘎——"</p>
|
||||
<p>前方传来了哥布林的叫声。林克屏住呼吸,悄悄靠近。</p>
|
||||
<p>那是一个小型的哥布林营地,七八只哥布林围坐在火堆旁,似乎在分食什么东西。而在营地中央,站着一个比其他哥布林高大得多的身影。</p>
|
||||
<p>那是一只哥布林头目。</p>
|
||||
<p>身高接近两米,浑身肌肉虬结,皮肤呈现出暗绿色。它手里拿着一把巨大的石斧,眼中闪烁着嗜血的光芒。</p>
|
||||
<p>林克深吸一口气,从藏身处走出。</p>
|
||||
<p>"叽叽?"</p>
|
||||
<p>哥布林们发现了他,纷纷拿起武器。</p>
|
||||
<p>头目也转过头来,看到林克后,发出一声刺耳的咆哮。</p>
|
||||
<p>"吼——!!!"</p>
|
||||
<p>战斗瞬间爆发。</p>
|
||||
<p>哥布林们一拥而上,挥舞着短刀和木棍冲向林克。</p>
|
||||
<p>但这一次,林克没有慌乱。</p>
|
||||
<p>他按照阿甘左教的方法,调整呼吸,控制节奏。霜刃在他手中化作一道银色的光芒,每一次挥出都精准地命中目标。</p>
|
||||
<p>"噗嗤——"</p>
|
||||
<p>第一只哥布林倒下。</p>
|
||||
<p>"唰——"</p>
|
||||
<p>第二只、第三只……</p>
|
||||
<p>鲜血飞溅,但林克的眼神越来越冷静。他能感觉到,体内的某种力量正在苏醒。</p>
|
||||
<p>左手的鬼手开始发烫,但他没有压制,而是试着去引导它……</p>
|
||||
<p>"吼!!!"</p>
|
||||
<p>哥布林头目终于按捺不住,挥舞着石斧冲了过来!</p>
|
||||
<p>那一斧来势汹汹,带着呼啸的风声。林克连忙举刀格挡,巨大的力量震得他手臂发麻。</p>
|
||||
<p>"好强……"</p>
|
||||
<p>头目得势不饶人,石斧如雨点般落下。林克不断闪避,但营地的空间太小,他很快就退到了角落。</p>
|
||||
<p>"叽叽叽!"其他哥布林在一旁助威,眼中闪烁着残忍的光芒。</p>
|
||||
<p>"不能这样下去……"</p>
|
||||
<p>林克咬紧牙关,感受着体内那股躁动的力量。</p>
|
||||
<p>鬼手……如果借用鬼手的力量……</p>
|
||||
<p>"不要依赖它。"</p>
|
||||
<p>阿甘左的话突然在脑海中响起。</p>
|
||||
<p>"鬼手是双刃剑,借用它的力量,就是在向诅咒妥协。只有当你真正掌控它的时候,才能使用。"</p>
|
||||
<p>"现在,用你自己的力量!"</p>
|
||||
<p>林克猛然醒悟。</p>
|
||||
<p>他深吸一口气,将全部的注意力集中在手中的霜刃上。</p>
|
||||
<p>不是鬼手,不是诅咒,而是剑……他手中的剑!</p>
|
||||
<p>"斩——!"</p>
|
||||
<p>霜刃划出一道完美的弧线,在头目挥斧的瞬间,精准地切入它的喉咙!</p>
|
||||
<p>"咕噜……"</p>
|
||||
<p>头目瞪大了眼睛,不敢相信眼前的一切。它的石斧掉在地上,双手捂住喉咙,但鲜血还是喷涌而出。</p>
|
||||
<p>"轰——"</p>
|
||||
<p>巨大的身躯倒下,砸起一片尘土。</p>
|
||||
<p>其他哥布林见状,吓得魂飞魄散,四散逃窜。</p>
|
||||
<p>林克跪在地上,大口大口地喘着粗气。</p>
|
||||
<p>他赢了。</p>
|
||||
<p>用他自己的力量,战胜了强大的敌人。</p>
|
||||
<p>---</p>
|
||||
<p>"做得不错。"</p>
|
||||
<p>阿甘左的声音从树上传来。他不知什么时候到了那里,将整个过程都看在眼里。</p>
|
||||
<p>"你……一直在看着?"林克抬头问。</p>
|
||||
<p>"如果你连一只哥布林头目都打不过,说明我这三年的教导白费了。"阿甘左从树上跃下,"不过,你最后的选择让我有些意外。"</p>
|
||||
<p>"什么选择?"</p>
|
||||
<p>"你没有使用鬼手的力量。"阿甘左看着他,眼中闪过一丝赞赏,"大多数人面对生死关头,都会选择借用鬼神之力。但你没有。"</p>
|
||||
<p>"因为您说过,那是妥协。"林克站起身,擦去脸上的血迹,"我想靠自己的力量变强。"</p>
|
||||
<p>阿甘左沉默了很久。</p>
|
||||
<p>"走吧。"他转过身,"艾尔文防线还有人在等你。"</p>
|
||||
<p>林克愣了一下,随即明白过来。</p>
|
||||
<p>赛丽亚……</p>
|
||||
<p>---</p>
|
||||
<p>回到艾尔文防线时,已经是傍晚。</p>
|
||||
<p>赛丽亚正在旅馆门口焦急地张望着,看到林克的身影后,她脸上绽放出灿烂的笑容。</p>
|
||||
<p>"你回来了!"</p>
|
||||
<p>"嗯,我回来了。"林克点点头,"答应过你的。"</p>
|
||||
<p>"太好了……"赛丽亚眼眶微红,"我还以为……"</p>
|
||||
<p>"以为我不会回来了?"</p>
|
||||
<p>"嗯……"赛丽亚低下头,"很多冒险者都是这样,出去了就再也没回来……"</p>
|
||||
<p>林克看着她,心中涌起一股暖意。</p>
|
||||
<p>"我不会死的。"他说,"至少在还清你这顿饭之前。"</p>
|
||||
<p>赛丽亚破涕为笑。</p>
|
||||
<p>"那就说好了,今晚我请你吃饭!"</p>
|
||||
<p>---</p>
|
||||
<p>夜幕降临,艾尔文防线渐渐安静下来。</p>
|
||||
<p>林克站在旅馆的屋顶,看着满天繁星。阿甘左已经离开了,说是要去调查格兰之森的异动。</p>
|
||||
<p>"三个月后,去赫顿玛尔找我。"这是他留下的最后一句话。</p>
|
||||
<p>三个月……</p>
|
||||
<p>林克握紧拳头。</p>
|
||||
<p>他要变得更强。强到能够掌控鬼手,强到能够保护重要的人。</p>
|
||||
<p>左手的绷带下,鬼手依然在微微发烫。</p>
|
||||
<p>但那股力量,他不会再畏惧了。</p>
|
||||
<p>---</p>
|
||||
<p>(第二章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-1.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-3.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter current">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(2)) {
|
||||
readChapters.push(2);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
594
alacarte-novel-website/chapters/chapter-20.html
Normal file
594
alacarte-novel-website/chapters/chapter-20.html
Normal file
@ -0,0 +1,594 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 20</div>
|
||||
<h1 class="chapter-title">树精丛林</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>离开神殿外围,林克一行人进入了天帷巨兽的更深区域。</p>
|
||||
<p>与神殿的宏伟建筑不同,这里是一片原始森林。巨大的树木遮天蔽日,藤蔓如同巨蛇般缠绕在树干之间,空气中弥漫着潮湿腐朽的气息。</p>
|
||||
<p>"这里就是……树精丛林?"赛丽亚环顾四周,眉头微皱。</p>
|
||||
<p>她能感觉到,这片森林中充满了痛苦的情绪。那些植物……似乎在哀嚎。</p>
|
||||
<p>"这些树……"赛丽亚伸手触摸身旁的树干,"它们原本是普通的植物,但现在……被某种力量扭曲了。"</p>
|
||||
<p>林克握紧晨曦。剑身上的光芒在这片阴暗的森林中显得格外明亮,而且——他似乎感觉到,晨曦的光芒比之前更亮了一些。</p>
|
||||
<p>"你的剑……"奥菲利亚惊讶地看着晨曦,"它在发光?比之前更亮了?"</p>
|
||||
<p>"嗯。"林克点点头,"自从进入天帷巨兽,每战斗一次,它的光芒就会恢复一些。"</p>
|
||||
<p>维加被捆绑着跟在后面,他的精神状态依然很差,但已经能够正常交流了。</p>
|
||||
<p>"树精丛林……"他喃喃自语,"这里曾经是GBL教的植物研究区。我们在这里培育各种珍稀植物,研究它们的药用价值。"</p>
|
||||
<p>"那现在呢?"林克问。</p>
|
||||
<p>维加的表情变得恐惧:"现在……它们是罗特斯的仆从了。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>深入丛林不久,他们就遭遇了第一只树精。</p>
|
||||
<p>那是一棵原本应该普通的大树,但现在它的树干上长出了眼睛和嘴巴,枝条如同手臂般挥舞着,根部从土中拔出,化作移动的双腿。</p>
|
||||
<p>"小心!"林克大喊。</p>
|
||||
<p>树精的枝条如同鞭子般抽来,速度快得惊人。林克举剑格挡,晨曦斩断了几根枝条,但更多的枝条从四面八方涌来。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>林克突进到树精身前,精准地刺向它的主干。但树精的树皮坚硬如铁,晨曦只刺入了几寸就无法深入。</p>
|
||||
<p>"好硬……"</p>
|
||||
<p>"用火烧!"赛丽亚喊道,"植物怕火!"</p>
|
||||
<p>林克明白了。他将魔力注入晨曦,剑身上的光芒变得更加炽热。</p>
|
||||
<p>"里·鬼剑术!"</p>
|
||||
<p>光剑的二连斩击带着灼热的光芒,每一次斩击都在树精的树干上留下焦黑的痕迹。树精发出痛苦的哀嚎,枝条疯狂地挥舞着。</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>巨剑破军带着上挑的力道,将树精庞大的身躯击飞。树精重重摔在地上,身上的火焰越烧越旺,最终化作一堆焦炭。</p>
|
||||
<p>"有效……"林克喘着气,"光属性的灼热效果对植物类怪物有奇效。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>继续前进,周围的树精越来越多。</p>
|
||||
<p>它们似乎被晨曦的光芒吸引,纷纷从丛林深处涌来。林克不得不频繁使用流心姿态在树木间穿梭,躲避树精的攻击。</p>
|
||||
<p>"这里有太多树精了!"奥菲利亚惊恐地说,"我们会被淹没的!"</p>
|
||||
<p>"跟我来!"维加突然喊道,"我知道一条小路,可以绕过大部分树精!"</p>
|
||||
<p>林克犹豫了一下,但眼下没有其他选择。他跟着维加,在密集的丛林中穿行。</p>
|
||||
<p>维加虽然被捆绑着,但对这片区域显然很熟悉。他带着众人穿过几道藤蔓屏障,来到了一个隐蔽的山洞前。</p>
|
||||
<p>"这里……"维加的表情变得复杂,"是GBL教的秘密研究设施。"</p>
|
||||
<p>他们进入山洞,发现里面是一个地下实验室。各种玻璃容器和实验器材散落在地上,墙壁上挂满了植物的解剖图和研究笔记。</p>
|
||||
<p>但最让人震惊的,是实验室中央的那个巨大容器。</p>
|
||||
<p>容器中漂浮着一个扭曲的生物——一半是植物,一半是章鱼般的触手。</p>
|
||||
<p>"这是……"林克瞪大了眼睛。</p>
|
||||
<p>"使徒融合实验。"维加的声音颤抖,"我们……试图将罗特斯的力量与植物融合,创造出听话的使徒士兵。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>赛丽亚看着那个扭曲的生物,感到一阵恶心。</p>
|
||||
<p>"你们……怎么能做这种事?"</p>
|
||||
<p>"我们被控制了……"维加跪在地上,"罗特斯的精神控制让我们失去了理智。那些实验……都是在他指引下进行的。"</p>
|
||||
<p>林克拿起一份研究笔记,上面记录着可怕的实验数据:</p>
|
||||
<p>"实验体第47号……将罗特斯的触手细胞注入树精体内……成功率12%……存活时间3天……"</p>
|
||||
<p>"实验体第89号……人类与使徒细胞融合……全部死亡……"</p>
|
||||
<p>林克的手在颤抖。GBL教……这个崇拜知识的教派,竟然在进行如此残忍的禁忌实验。</p>
|
||||
<p>"那个……"奥菲利亚指着实验室深处的一扇门,"那后面是什么?"</p>
|
||||
<p>维加的脸色变得惨白:"那里……是实验体的培养区。最危险的东西……都在那里。"</p>
|
||||
<p>就在这时,整个实验室突然震动起来。</p>
|
||||
<p>那扇门的后面,传来了巨大的脚步声——每一步都让地面颤抖。</p>
|
||||
<p>"不好……"维加惊恐地后退,"是树精王……它醒了!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>门被猛地撞开,一个庞然大物出现在众人面前。</p>
|
||||
<p>树精王——原本是天帷巨兽上最古老的巨树,被GBL教作为守护者培育了数百年。但现在,它已经被罗特斯的力量彻底腐蚀,变成了一个扭曲的怪物。</p>
|
||||
<p>它的身高超过十米,树干上长满了章鱼的吸盘,枝条变成了带有倒刺的触手,根部盘绕在一起,形成了巨大的移动肢体。</p>
|
||||
<p>最可怕的是它的眼睛——那是一双充满了疯狂和痛苦的巨大眼睛,直勾勾地盯着林克。</p>
|
||||
<p>"杀了……入侵者……"树精王发出沙哑的声音,"保护……罗特斯大人……"</p>
|
||||
<p>它挥舞着触手枝条,朝林克砸来。</p>
|
||||
<p>林克迅速闪避,但触手的速度太快了,他的肩膀被擦中,顿时感到一阵剧痛——那些倒刺上有毒!</p>
|
||||
<p>"林克!"赛丽亚冲过来,用治愈术为他解毒。</p>
|
||||
<p>"这家伙……比神殿外围的维加强太多了!"林克咬牙。</p>
|
||||
<p>树精王继续攻击,它的每一次挥击都能摧毁大片的实验设备。林克不得不在废墟中穿梭,寻找反击的机会。</p>
|
||||
<p>"必须……攻击它的核心!"维加大喊,"树精的核心在树干中央!那里有GBL教植入的控制装置!"</p>
|
||||
<p>林克抬头看去。树精王的树干太粗了,普通的攻击根本无法触及核心。</p>
|
||||
<p>"需要……从内部攻击……"他喃喃自语。</p>
|
||||
<p>然后,他想到了一个疯狂的主意。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"赛丽亚,掩护我!"林克大喊。</p>
|
||||
<p>他发动流心姿态,身形如同鬼魅般朝树精王冲去。</p>
|
||||
<p>树精王的触手疯狂挥舞,但林克凭借着流心·跃的空中机动性,一次次躲过攻击。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>他跃到树精王的身前,不是攻击,而是直接钻进了它树干上的裂缝——那是实验留下的伤口,还没有完全愈合。</p>
|
||||
<p>"林克!你疯了吗!"奥菲利亚尖叫。</p>
|
||||
<p>树精王体内是一片扭曲的空间,到处都是蠕动的触手和腐蚀性的液体。林克强忍着恶心,在树干内部穿行。</p>
|
||||
<p>他看到了——在树精王的核心位置,有一个发光的装置。那是GBL教植入的控制器,也是罗特斯力量的传导装置。</p>
|
||||
<p>"找到了……"</p>
|
||||
<p>林克举起晨曦,将全部的魔力注入其中。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>剑身上的光芒达到了前所未有的亮度。在这黑暗的内部,晨曦如同一轮小太阳。</p>
|
||||
<p>"里·鬼剑术·极限!"</p>
|
||||
<p>连续的二连斩击!光属性的灼热效果在树精王体内爆发,那些触手和腐蚀液都被点燃。</p>
|
||||
<p>树精王发出震耳欲聋的哀嚎,整个身体都在颤抖。</p>
|
||||
<p>"最后一击!"</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>从上往下的斩击!晨曦刺入控制器,纯净的光明之力将罗特斯的腐蚀彻底净化。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>当林克从树精王体内钻出来时,这个庞然大物已经倒在地上,身上的触手正在枯萎脱落。</p>
|
||||
<p>它的眼睛中,疯狂正在褪去,取而代之的是一种解脱的平静。</p>
|
||||
<p>"谢……谢……"树精王发出最后的声音,"终于……解脱了……"</p>
|
||||
<p>然后,它的身体开始崩解,化作无数光点消散在空气中。</p>
|
||||
<p>赛丽亚走到林克身边,轻轻握住他的手:"你做到了。你解放了它。"</p>
|
||||
<p>林克看着手中的晨曦。剑身上的光芒比之前更亮了——几乎恢复到了五成。</p>
|
||||
<p>"它在恢复……"他喃喃自语,"每次使用,它就变得更强。"</p>
|
||||
<p>维加跪在地上,泪流满面:"我们……我们都错了……GBL教追求的禁忌知识……最终只会带来毁灭……"</p>
|
||||
<p>奥菲利亚走到他身边,表情复杂:"但至少……你愿意帮助我们纠正错误。"</p>
|
||||
<p>林克收起晨曦,看向实验室深处:"走吧。第二脊椎还在等着我们。"</p>
|
||||
<p>"罗特斯……必须被阻止。"</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-19.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-21.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter current">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(20)) {
|
||||
readChapters.push(20);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
598
alacarte-novel-website/chapters/chapter-21.html
Normal file
598
alacarte-novel-website/chapters/chapter-21.html
Normal file
@ -0,0 +1,598 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 21</div>
|
||||
<h1 class="chapter-title">炼狱</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>离开树精丛林的地下实验室,林克一行人继续向天帷巨兽的深处进发。</p>
|
||||
<p>周围的温度开始急剧上升。原本潮湿的丛林空气变得干燥炽热,每一步都让人感觉像是踏在火炉上。</p>
|
||||
<p>"好热……"赛丽亚擦着额头的汗水,"这里怎么会这么热?"</p>
|
||||
<p>维加的脸色变得苍白:"前面……是炼狱。"</p>
|
||||
<p>"炼狱?"</p>
|
||||
<p>"GBL教的地下净化设施。"维加的声音颤抖,"我们……试图用极端高温净化被使徒污染的实验体。"</p>
|
||||
<p>奥菲利亚瞪大了眼睛:"用火烧?"</p>
|
||||
<p>"不只是普通的火。"维加低下头,"是魔法火焰,温度足以熔化钢铁。我们想……如果高温能杀死使徒细胞,就能阻止污染的扩散。"</p>
|
||||
<p>林克皱起眉头:"结果呢?"</p>
|
||||
<p>维加没有回答,但他的表情已经说明了一切。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>当他们来到炼狱的入口时,所有人都倒吸了一口冷气。</p>
|
||||
<p>眼前是一个巨大的地下洞穴,到处都是流淌的熔岩。曾经应该是净化设施的地方,现在变成了真正的地狱——墙壁上布满了焦黑的痕迹,地面上到处都是裂缝,从中喷出炽热的气流。</p>
|
||||
<p>最可怕的是,那些熔岩中有什么东西在游动。</p>
|
||||
<p>"那些是……"赛丽亚瞪大了眼睛。</p>
|
||||
<p>熔岩中浮现出一个个扭曲的身影。他们是夜叉——被炼狱的高温环境和使徒力量扭曲的恶魔。他们有着绿色的皮肤、巨大的爪子和满口獠牙,眼中燃烧着嗜血的红光。</p>
|
||||
<p>"夜叉……"维加的声音如同耳语,"炼狱的原始居民,被使徒的力量强化了。"</p>
|
||||
<p>一只夜叉发现了入侵者,发出刺耳的嚎叫,从熔岩中跃起,朝他们扑来!</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"散开!"林克大喊。</p>
|
||||
<p>夜叉的身躯砸在他们刚才站立的位置,熔岩四溅。炽热的气浪让林克感到皮肤刺痛。</p>
|
||||
<p>"这种速度……比想象中更快!"</p>
|
||||
<p>夜叉张开大口,一道毒液喷射而出。林克连忙闪避,但夜叉的利爪已经挥了过来。</p>
|
||||
<p>"啊!"</p>
|
||||
<p>林克勉强举剑格挡,但巨大的冲击力让他连连后退。夜叉的爪子上有毒,被划伤的地方开始发黑。</p>
|
||||
<p>"林克!"赛丽亚冲过来,用治愈术为他解毒。</p>
|
||||
<p>"谢谢……"林克咬牙站起身,"必须想个办法……这些家伙的弱点是什么?"</p>
|
||||
<p>"头部!"维加大喊,"夜叉的头部是他们的弱点!攻击那里能造成致命伤害!"</p>
|
||||
<p>林克点点头,握紧晨曦。</p>
|
||||
<p>剑身上的光芒比之前更亮了——在击败树精王后,晨曦已经恢复到了六成。现在,它的光芒在这片黑暗的地狱中显得格外耀眼。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>BUFF开启,晨曦的光芒变得更加炽热。</p>
|
||||
<p>"流心·跃!"</p>
|
||||
<p>林克跃起,跳过一道熔岩河,直接落在夜叉的身后。</p>
|
||||
<p>夜叉疯狂地转身,挥舞着利爪。但林克的动作更快。</p>
|
||||
<p>"里·鬼剑术!"</p>
|
||||
<p>连续的二连斩击!光属性的攻击精准地斩向夜叉的头部。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>上挑!巨剑破军带着一往无前的气势斩向夜叉的头部,将它彻底消灭。</p>
|
||||
<p>夜叉发出最后的哀嚎,身体开始崩解,化作一堆灰烬。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>随着深入炼狱,温度越来越高。</p>
|
||||
<p>林克感觉自己的体力在快速消耗,每一次呼吸都像是在吸入火焰。赛丽亚的情况也不太好,她的治愈术在这种高温下效果大打折扣。</p>
|
||||
<p>"前面……有东西。"奥菲利亚指着远处。</p>
|
||||
<p>在炼狱的最深处,有一个巨大的熔岩池。熔岩池的中央,有一个岩石平台,平台上站着一个妖异的身影。</p>
|
||||
<p>那是夜叉王——炼狱的统治者,夜叉族群中最强大的存在。</p>
|
||||
<p>他比普通夜叉大出数倍,全身肌肉虬结,皮肤呈现出岩浆般的赤红色。他的背后生着巨大的蝙蝠翅膀,手中握着一把由熔岩凝结而成的巨斧,斧身上缠绕着黑色的诅咒气息。</p>
|
||||
<p>"那是……夜叉的王。"维加的声音充满了恐惧,"普通的夜叉就已经很可怕了,而他……是夜叉中的王者,实力远超普通的夜叉。"</p>
|
||||
<p>夜叉王发现了他们,发出震耳的咆哮。</p>
|
||||
<p>"更多的……祭品……"他的声音如同雷鸣,震得整个洞穴都在颤抖,"罗特斯大人……会喜欢你们的……"</p>
|
||||
<p>他展开翅膀,从岩石平台上飞起,手中的熔岩巨斧猛地挥出!</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"散开!"林克大喊。</p>
|
||||
<p>熔岩巨斧砸在他们刚才站立的位置,地面瞬间被砸出一个大坑,熔岩从裂缝中喷涌而出。</p>
|
||||
<p>"这种力量……"林克咬牙,"比赛格哈特还要强!"</p>
|
||||
<p>夜叉王在空中盘旋,发出震耳的笑声。他突然俯冲下来,速度快得只留下一道红色残影。</p>
|
||||
<p>"流心·跃!"</p>
|
||||
<p>林克跃起躲避,但夜叉王的反应更快。他在空中转身,巨斧如影随形地追来。</p>
|
||||
<p>"不好!"</p>
|
||||
<p>林克勉强举剑格挡,但巨斧的冲击力将他击飞出去。他重重摔在地上,感到胸口一阵剧痛。</p>
|
||||
<p>"林克!"赛丽亚想要冲过来,但夜叉王挥动翅膀,掀起一阵热风,将她逼退。</p>
|
||||
<p>"别过来!"林克大喊,"我能应付!"</p>
|
||||
<p>他咬牙站起身,强迫自己集中精神。</p>
|
||||
<p>夜叉王的攻击模式很特殊——他能在空中自由移动,速度极快,而且那把熔岩巨斧的攻击力惊人。普通的剑术很难对他造成伤害。</p>
|
||||
<p>"必须……想办法把他逼到地面!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克开始改变战术。</p>
|
||||
<p>他不再主动进攻,而是利用流心姿态的高速移动在熔岩池周围穿梭,引诱夜叉王追击。</p>
|
||||
<p>夜叉王果然上当。他发出震耳的笑声,展开翅膀紧追不舍,手中的熔岩巨斧不断砸向林克。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>林克突然停下,反身突刺。夜叉王没想到他会反击,慌忙闪避,动作不由得慢了下来。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>上挑!巨剑破军带着一往无前的气势斩向夜叉王。夜叉王勉强用翅膀格挡,但巨大的冲击力将他从空中击落。</p>
|
||||
<p>他重重摔在地上,发出愤怒的咆哮。</p>
|
||||
<p>"你……该死!"</p>
|
||||
<p>夜叉王从地上爬起,眼中的火焰燃烧得更加旺盛。他张开嘴,喷出一道炽热的火焰!</p>
|
||||
<p>林克侧身躲过,同时发动反击。</p>
|
||||
<p>"里·鬼剑术!"</p>
|
||||
<p>二连斩击!晨曦的光属性攻击在夜叉王身上留下深深的伤痕,发出"嗤嗤"的灼烧声。</p>
|
||||
<p>夜叉王发出痛苦的咆哮。他想要飞回空中,但林克不给机会。</p>
|
||||
<p>"流心·跃!接·升!"</p>
|
||||
<p>空中连击!林克跃起,斩向夜叉王的翅膀。连续的攻击终于将他的左翼重创,让他无法飞行。</p>
|
||||
<p>夜叉王跌落在地上,再也无法保持那副高高在上的姿态。</p>
|
||||
<p>"结束了。"林克举起晨曦。</p>
|
||||
<p>"不……不可能……"夜叉王惊恐地后退,"罗特斯大人……会为我报仇的……"</p>
|
||||
<p>"那就让他来吧。"</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>林克突进到夜叉王身前,晨曦如同一道闪电刺入他的胸口。纯净的光明之力在夜叉王体内爆发,恶魔发出最后的哀嚎,身体开始崩解,化作一堆熔岩和灰烬。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>夜叉王被击败了。</p>
|
||||
<p>维加走到那堆灰烬前,松了一口气:"夜叉王……炼狱最强大的存在……终于死了。"</p>
|
||||
<p>"他是天生的还是……"林克问。</p>
|
||||
<p>"天生的。"维加摇头,"夜叉是炼狱的原生生物,而夜叉王是他们中最强大的。被使徒力量强化后,变得更加可怕。"</p>
|
||||
<p>"这不是你的错。"奥菲利亚轻声说,"是罗特斯控制了你们。"</p>
|
||||
<p>"但实验是我们做的。"维加摇头,"我们必须承担这个责任。"</p>
|
||||
<p>林克看向手中的晨曦。剑身上的光芒比之前更亮了——几乎恢复到了七成。</p>
|
||||
<p>"晨曦……"他轻声说,"你也在变强啊。"</p>
|
||||
<p>他站起身,看向炼狱的更深处。在那里,有一个通往更深层的通道,从通道中传来了更加强大的使徒气息。</p>
|
||||
<p>"极昼……"维加喃喃自语,"那上面是极昼区域。罗特斯的力量……在那里最强。"</p>
|
||||
<p>林克握紧晨曦,目光坚定:"走吧。不管前面有什么,我们都要面对。"</p>
|
||||
<p>"为了阻止罗特斯,为了结束这一切。"</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十一章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-20.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-22.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter current">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(21)) {
|
||||
readChapters.push(21);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
605
alacarte-novel-website/chapters/chapter-22.html
Normal file
605
alacarte-novel-website/chapters/chapter-22.html
Normal file
@ -0,0 +1,605 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 22</div>
|
||||
<h1 class="chapter-title">西海岸的闲暇</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>从炼狱的高温地狱中脱身,林克一行人决定暂时返回西海岸休整。</p>
|
||||
<p>天帷巨兽的冒险比想象中更加凶险,连续的战斗让每个人都身心俱疲。更重要的是,林克感觉到自己即将迎来一次突破——那种剑士在突破瓶颈前特有的预感。</p>
|
||||
<p>"我们需要准备更充分。"林克对赛丽亚说,"接下来的极昼区域,罗特斯的力量会更强。"</p>
|
||||
<p>赛丽亚点点头:"而且我也需要补充一些魔法材料。连续的治愈术消耗了我的储备。"</p>
|
||||
<p>奥菲利亚决定留在天帷巨兽的入口营地,继续照顾那些从GBL教控制中解放出来的信徒。维加则选择跟随林克,希望能为过去的错误赎罪。</p>
|
||||
<p>"西海岸吗……"维加喃喃自语,"好久没去过了。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>回到西海岸,阳光明媚的海滨城市与炼狱的恐怖形成了鲜明对比。</p>
|
||||
<p>海风带着咸湿的气息,街道上的行人熙熙攘攘,完全感受不到天帷巨兽上那种压抑的氛围。</p>
|
||||
<p>"终于回来了……"赛丽亚深深吸了一口气,"还是这里的空气舒服。"</p>
|
||||
<p>林克笑着点头。连续在阴暗危险的环境中战斗,突然回到这种平和的地方,让人有种不真实的感觉。</p>
|
||||
<p>"先去找莎兰吧。"他说,"她可能会知道如何进一步强化晨曦。"</p>
|
||||
<p>魔法公会的大厅里,莎兰正在研究一堆古老的卷轴。看到林克和赛丽亚进来,她露出了惊喜的表情。</p>
|
||||
<p>"你们回来了!"莎兰放下卷轴,"我听说了天帷巨兽的事情。GBL教……竟然被使徒控制了?"</p>
|
||||
<p>林克点点头,简要地讲述了他们在神殿外围、树精丛林和炼狱的经历。</p>
|
||||
<p>莎兰听完后,眉头紧锁:"比我想象的还要严重。罗特斯……第八使徒,竟然真的苏醒了。"</p>
|
||||
<p>"第八使徒?"林克问,"使徒还有很多吗?"</p>
|
||||
<p>"传说有十二位。"莎兰的声音变得低沉,"每一位都拥有毁灭世界的力量。卡赞的诅咒、天空之城的封印、还有现在的罗特斯……都与使徒有关。"</p>
|
||||
<p>她看向林克手中的晨曦:"你的剑恢复了不少光芒。但面对罗特斯,可能还不够。"</p>
|
||||
<p>"有什么办法能进一步强化它吗?"</p>
|
||||
<p>莎兰思考了一会儿:"有一种魔法粉末,可以增强光属性武器的力量。但需要几种稀有材料:光之结晶、精灵之泪,还有……"</p>
|
||||
<p>她列出了一串材料清单。</p>
|
||||
<p>"这些材料可以在天空之城的遗迹中找到。"莎兰说,"如果你愿意,可以帮我收集。作为回报,我会帮你强化晨曦。"</p>
|
||||
<p>林克接过清单:"交给我吧。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>离开魔法公会,林克决定先去找诺顿。</p>
|
||||
<p>诺顿的炼金术店里,老炼金术师正在摆弄一堆奇怪的仪器。看到林克带回来的GBL教研究资料,他的眼睛立刻亮了起来。</p>
|
||||
<p>"这是……GBL教的实验记录?"诺顿激动地翻阅着,"使徒细胞融合实验?天啊,他们真的做了这种疯狂的事!"</p>
|
||||
<p>"有什么发现吗?"林克问。</p>
|
||||
<p>诺顿推了推眼镜:"这些资料显示,罗特斯的力量本质上是一种精神控制。它能直接入侵生物的意识,改写他们的思想。"</p>
|
||||
<p>"有办法抵抗吗?"</p>
|
||||
<p>"精神力强大的生物可以抵抗。"诺顿看向赛丽亚,"比如精灵。但普通人类……很难。"</p>
|
||||
<p>他继续翻阅资料,突然停下了:"等等……这里提到一种药剂,可以暂时增强精神抗性。如果能制作出来……"</p>
|
||||
<p>诺顿列出另一份材料清单:"帮我收集这些,我就能制作抗精神控制药剂。对你们接下来的战斗会有帮助。"</p>
|
||||
<p>林克收好清单,现在他有两个支线任务了。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>走在西海岸的街道上,林克注意到一家装饰华丽的武器店。</p>
|
||||
<p>"那是卡坤的武器店。"维加说,"西海岸最好的武器商人。"</p>
|
||||
<p>林克推门进去。武器店里陈列着各种精美的武器,从普通的铁剑到附魔的稀有装备,应有尽有。</p>
|
||||
<p>柜台后面,一个身材修长、面容英俊的暗精灵正在擦拭一把匕首。他抬起头,看到赛丽亚时,眼睛明显亮了一下。</p>
|
||||
<p>"欢迎光临。"暗精灵站起身,目光却一直停留在赛丽亚身上,"我是卡坤,这家店的老板。有什么可以帮你的吗……美丽的精灵小姐?"</p>
|
||||
<p>赛丽亚微微一愣,礼貌地点头:"你好,我们只是来看看。"</p>
|
||||
<p>卡坤这才注意到林克,眼神中闪过一丝不易察觉的……敌意?</p>
|
||||
<p>"这位是?"卡坤问,语气明显冷淡了一些。</p>
|
||||
<p>"我是林克。"林克伸出手,"一名冒险家。"</p>
|
||||
<p>卡坤敷衍地握了握手,然后再次看向赛丽亚:"精灵小姐,您看起来有些疲惫。是刚经历了战斗吗?"</p>
|
||||
<p>"我们从天帷巨兽回来。"赛丽亚说。</p>
|
||||
<p>"天帷巨兽?"卡坤皱起眉头,"那里很危险。像您这样美丽的小姐,不应该去那种地方冒险。"</p>
|
||||
<p>林克感觉气氛有些微妙。卡坤对赛丽亚的态度……似乎不仅仅是礼貌。</p>
|
||||
<p>"我们准备得更充分一些。"林克说,"你的店里有什么好的武器吗?"</p>
|
||||
<p>卡坤这才把注意力转回林克身上,上下打量着他:"你看起来……是个剑魂?"</p>
|
||||
<p>"是的。"</p>
|
||||
<p>"武器大师吗……"卡坤若有所思,"正好,我手上有几把不错的剑,都是属性武器。"</p>
|
||||
<p>他走到货架后面,拿出一个精致的盒子。</p>
|
||||
<p>盒子里有四把剑:</p>
|
||||
<p>第一把是太刀,剑身燃烧着淡淡的火焰——烈焰之刃。</p>
|
||||
<p>第二把是巨剑,散发着寒气——霜寒之剑。</p>
|
||||
<p>第三把是短剑,剑身上缠绕着电弧——雷霆之锋。</p>
|
||||
<p>第四把是钝器,笼罩着暗影——暗影之牙。</p>
|
||||
<p>"火、冰、光、暗四种属性。"卡坤介绍道,"都是上等货色。不过……"</p>
|
||||
<p>他看向林克:"这些武器不卖。"</p>
|
||||
<p>"不卖?"林克疑惑。</p>
|
||||
<p>卡坤露出一个意味深长的笑容:"但可以送。前提是……你帮我完成一些任务。"</p>
|
||||
<p>他看向赛丽亚,眼神变得柔和:"为了美丽的精灵小姐,我愿意提供最好的装备。毕竟……"</p>
|
||||
<p>"我不想看到她在战斗中受伤。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>卡坤给出的任务清单并不简单:</p>
|
||||
<p>收集烈焰之心(来自烈焰格拉卡的深处)、冰霜结晶(来自冰心少年的领地)、雷霆之核(来自天空之城的雷龙)、暗影精华(来自暗黑雷鸣废墟)。</p>
|
||||
<p>"这些材料可以让我打造出更好的武器。"卡坤说,"完成后,我会送你一把适合你等级的武器。"</p>
|
||||
<p>林克看着清单,突然笑了:"你是想考验我吧?"</p>
|
||||
<p>卡坤没有否认:"如果你连这点实力都没有,怎么保护赛丽亚小姐?"</p>
|
||||
<p>空气中的火药味浓了起来。</p>
|
||||
<p>赛丽亚察觉到了两人之间的微妙气氛,轻轻拉了拉林克的袖子:"林克,我们走吧。武器的事情可以慢慢考虑。"</p>
|
||||
<p>"不。"林克收起清单,"我接受这个任务。"</p>
|
||||
<p>他直视卡坤的眼睛:"不是为了你,是为了赛丽亚。更好的装备,才能更好地保护她。"</p>
|
||||
<p>卡坤愣了一下,然后笑了起来:"有意思。我喜欢有骨气的人。"</p>
|
||||
<p>"任务完成后,我会给你一把配得上剑魂的武器。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>接下来的几天,林克在西海岸和各个地图之间奔波。</p>
|
||||
<p>他完成了莎兰的委托,收集到了光之结晶和精灵之泪。莎兰用这些材料制作了一种特殊的魔法油,涂抹在晨曦上后,剑身上的光芒明显更加稳定了。</p>
|
||||
<p>他完成了诺顿的委托,收集到了制作抗精神控制药剂的材料。诺顿成功制作出几瓶药剂,可以在短时间内增强精神抗性。</p>
|
||||
<p>他完成了卡坤的委托,历经艰险收集到了四种元素精华。卡坤看着这些材料,眼中闪过一丝惊讶。</p>
|
||||
<p>"比我想象的快。"卡坤说,"看来你确实有些实力。"</p>
|
||||
<p>他走进工坊,整整一天没有出来。当他再次出现时,手中拿着一把崭新的太刀。</p>
|
||||
<p>"烈焰之刃的升级版。"卡坤将太刀递给林克,"我加入了你收集的四种元素精华,它不仅拥有火属性攻击,还能根据使用者的意志切换属性。"</p>
|
||||
<p>林克接过太刀,感受到其中蕴含的强大力量。</p>
|
||||
<p>"谢谢。"他说。</p>
|
||||
<p>卡坤看向赛丽亚,轻声说:"保护好她。如果你让她受伤……"</p>
|
||||
<p>"我不会给你这个机会的。"林克平静地说。</p>
|
||||
<p>两个男人对视了一眼,都从对方眼中看到了某种……理解。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>完成所有支线任务的当晚,林克独自来到西海岸的海边。</p>
|
||||
<p>海风轻拂,月光洒在平静的海面上。连续几天的奔波和战斗,让他的身体和精神都达到了极限。</p>
|
||||
<p>但就在这时,他感觉到了那种突破的契机。</p>
|
||||
<p>"就是现在……"</p>
|
||||
<p>他拔出晨曦,开始演练剑术。里·鬼剑术、流心系列、破军升龙击……一套剑法行云流水般地施展出来。</p>
|
||||
<p>随着剑法的施展,他感觉到体内的魔力在涌动,在升华。</p>
|
||||
<p>突然,他停下了动作。</p>
|
||||
<p>在这一瞬间,他领悟了某种更高深的剑技——一种将全身力量集中在瞬间爆发出来的斩击。</p>
|
||||
<p>"拔刀……斩……"</p>
|
||||
<p>他缓缓拔出晨曦,动作看似缓慢,但剑身上却凝聚着前所未有的力量。</p>
|
||||
<p>然后,拔刀!</p>
|
||||
<p>一道巨大的剑气从剑身上爆发出来,划破夜空,将海面斩出一道深深的沟壑。海水在剑气的两边翻涌,久久不能合拢。</p>
|
||||
<p>林克站在原地,感受着体内涌动的力量。</p>
|
||||
<p>他突破了。</p>
|
||||
<p>Lv.35,拔刀斩。</p>
|
||||
<p>"这就是……新的力量吗……"</p>
|
||||
<p>他看着手中的晨曦,剑身上的光芒比以往任何时候都要明亮。</p>
|
||||
<p>明天,他们将再次踏上前往天帷巨兽的旅程。但这一次,他准备好了。</p>
|
||||
<p>为了赛丽亚,为了阻止罗特斯,为了守护这个世界。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十二章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-21.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-23.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter current">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(22)) {
|
||||
readChapters.push(22);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
628
alacarte-novel-website/chapters/chapter-23.html
Normal file
628
alacarte-novel-website/chapters/chapter-23.html
Normal file
@ -0,0 +1,628 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 23</div>
|
||||
<h1 class="chapter-title">极昼</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>离开炼狱,林克一行人沿着通道向上攀登。</p>
|
||||
<p>周围的温度开始下降,但空气中弥漫的精神压迫感却越来越强。每向上走一步,赛丽亚的脸色就苍白一分。</p>
|
||||
<p>"赛丽亚,你还好吗?"林克注意到她的异常。</p>
|
||||
<p>"我……我没事……"赛丽亚勉强笑了笑,但她的身体在微微颤抖。</p>
|
||||
<p>奥菲利亚担忧地看着她:"极昼是天帷巨兽的最高点,也是罗特斯力量最强的地方。那里的精神污染……普通人根本无法承受。"</p>
|
||||
<p>赛丽亚停下脚步,扶着墙壁大口喘气。她的额头上布满了冷汗,精灵之力在体内紊乱地波动。</p>
|
||||
<p>"赛丽亚!"林克扶住她。</p>
|
||||
<p>"林克……"赛丽亚抬起头,眼中满是歉意,"我……我可能……没法继续了……"</p>
|
||||
<p>她的声音很轻,但每一个字都像锤子一样敲在林克心上。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>他们找到了一处相对安全的平台休息。</p>
|
||||
<p>赛丽亚靠在墙边,脸色苍白如纸。即使是精灵强大的精神力,在罗特斯如此接近的威压下也难以支撑。</p>
|
||||
<p>"我必须……回去……"赛丽亚艰难地说,"如果我继续跟着……只会成为你们的负担……"</p>
|
||||
<p>"不,你不是负担。"林克握紧她的手。</p>
|
||||
<p>"但我说的是事实。"赛丽亚勉强露出一个微笑,"在这里,我的治愈术效果大打折扣,而且……我需要集中精力抵抗精神控制,无法分心战斗。"</p>
|
||||
<p>她看向林克,眼中满是不舍:"你接下来要去的地方……是GBL教的武器库,那里的敌人更加强大。我跟着只会让你分心保护我。"</p>
|
||||
<p>林克沉默了。</p>
|
||||
<p>他知道赛丽亚说的是对的。极昼区域的精神污染太强,即使是精灵也难以承受。让她继续跟着,确实太危险了。</p>
|
||||
<p>"我明白了。"林克深吸一口气,"你回西海岸等我们。"</p>
|
||||
<p>赛丽亚点点头,泪水在眼眶中打转:"一定要……平安回来……"</p>
|
||||
<p>"我答应你。"林克轻轻擦去她眼角的泪水,"等我解决了罗特斯,就去西海岸找你。"</p>
|
||||
<p>维加走上前:"我送赛丽亚小姐回去。我对天帷巨兽的路比较熟悉,可以确保安全。"</p>
|
||||
<p>林克看了他一眼,点头:"拜托了。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>目送赛丽亚和维加离开后,林克和奥菲利亚继续向极昼进发。</p>
|
||||
<p>通往极昼的道路是一条长长的阶梯,阶梯两旁是深不见底的深渊。空气中弥漫着一种奇怪的气息——既有GBL教特有的学术氛围,又有使徒力量的腐化痕迹。</p>
|
||||
<p>"极昼是GBL教的武器库。"奥菲利亚解释道,"也是天帷巨兽背上的最高点。那里存放着教团最先进的武器和飞行器。"</p>
|
||||
<p>"飞行器?"</p>
|
||||
<p>"多尼尔——GBL教研发的空中交通工具。"奥菲利亚说,"但在罗特斯控制下,它们都变成了攻击型武器。"</p>
|
||||
<p>他们终于来到了极昼的入口。</p>
|
||||
<p>与之前阴暗压抑的环境不同,极昼是一个巨大的露天平台。阳光从上方洒下,照在平台上各种奇异的机械装置上。这里曾经是GBL教展示科技实力的地方,现在却变成了战场。</p>
|
||||
<p>平台上到处都是GBL教的信徒——但他们都已经发狂,手持武器在平台上游荡。更可怕的是天空中盘旋的多尼尔飞行器,它们原本是交通工具,现在却被改装成了攻击型武器,装备了各种炮塔。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"小心!"奥菲利亚大喊。</p>
|
||||
<p>一架多尼尔发现了他们,机身上的狮口炮瞄准了林克的位置。</p>
|
||||
<p>"轰——!"</p>
|
||||
<p>炮弹在林克刚才站立的位置爆炸,碎石飞溅。</p>
|
||||
<p>林克迅速闪避,同时观察周围的环境。极昼平台很大,到处都是GBL教徒和各种机械装置。他必须小心应对。</p>
|
||||
<p>"流心·跃!"</p>
|
||||
<p>林克跃起,跳到一处高台上。从这个位置,他可以看到整个平台的布局。</p>
|
||||
<p>平台上的敌人分为几种:</p>
|
||||
<p>普通的GBL教徒,手持武器在近战范围内游荡;</p>
|
||||
<p>GBL教官,比普通信徒更强,会指挥其他信徒;</p>
|
||||
<p>GBL主教,能够使用魔法攻击;</p>
|
||||
<p>还有各种机械装置——龙口炮、狮口炮、喷火炮,自动攻击入侵者;</p>
|
||||
<p>最麻烦的是天空中盘旋的多尼尔飞行器,它们装备着各种炮塔,可以从空中发动攻击。</p>
|
||||
<p>"必须先把那些多尼尔打下来!"林克做出判断。</p>
|
||||
<p>他拔出晨曦,将魔力注入其中。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>BUFF开启,晨曦的光芒在阳光下格外耀眼。</p>
|
||||
<p>一架多尼尔俯冲下来,机身上的炮塔瞄准了林克。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>"拔刀斩!"</p>
|
||||
<p>这是林克在西海岸学会的新技能。一道巨大的剑气从晨曦上爆发,划过天空,直接将那架多尼尔斩成两半!</p>
|
||||
<p>多尼尔的残骸坠落在平台上,爆炸的火光照亮了周围。</p>
|
||||
<p>"有效!"林克眼中闪过一丝喜色。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗在极昼平台上展开。</p>
|
||||
<p>林克利用流心姿态在平台上快速移动,躲避着GBL教徒的攻击和炮塔的轰炸。每当有多尼尔俯冲下来,他就用拔刀斩将其击落。</p>
|
||||
<p>但敌人太多了。</p>
|
||||
<p>GBL教徒从四面八方涌来,龙口炮和狮口炮不断发射炮弹,天空中还有多尼尔在盘旋。即使是林克,也感到有些力不从心。</p>
|
||||
<p>"需要……改变战术!"</p>
|
||||
<p>他注意到平台上有一些可以遮挡的掩体。如果能利用这些掩体,就可以减少来自空中的攻击。</p>
|
||||
<p>"奥菲利亚,跟紧我!"</p>
|
||||
<p>林克带着奥菲利亚,利用掩体逐步推进。每当遇到大批敌人,他就用破军升龙击打开缺口;每当遇到炮塔,他就用流心·刺精准破坏。</p>
|
||||
<p>拔刀斩成为了对付多尼尔的利器。每一道剑气划过,都有一架多尼尔坠落。</p>
|
||||
<p>但最麻烦的还是那些GBL主教。他们能够使用魔法攻击,而且懂得互相配合。几个主教联手释放的魔法阵,让林克不得不频繁闪避。</p>
|
||||
<p>"这些主教……是GBL教的精英!"奥菲利亚喊道,"他们掌握着教团最高深的知识!"</p>
|
||||
<p>"知识……在使徒面前也变得疯狂了。"林克咬牙。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>随着深入平台,敌人越来越强。</p>
|
||||
<p>他们遇到了一种奇怪的生物——长着狼头的怪物,但眼睛却是瞎的。这些怪物依靠听觉和嗅觉攻击,动作敏捷且凶残。</p>
|
||||
<p>"瞎子狼人……"奥菲利亚惊恐地说,"它们是GBL教的实验产物,被使徒力量强化后变得更加可怕!"</p>
|
||||
<p>还有红色浪人——一种浑身赤红的流浪战士,他们原本是被GBL教收留的冒险者,现在也被使徒控制,成为了杀人机器。</p>
|
||||
<p>更诡异的是那些章鱼一样的生物。它们有着异形的触手,能够喷射毒液和缠绕敌人。</p>
|
||||
<p>"这些都是……GBL教的研究成果?"林克一边战斗一边问。</p>
|
||||
<p>"是的……"奥菲利亚的声音充满痛苦,"教团原本是想研究生命奥秘……却创造了这些怪物……"</p>
|
||||
<p>林克的心情变得沉重。GBL教,这个崇拜知识的教团,在使徒的控制下变成了制造怪物的工厂。</p>
|
||||
<p>他握紧晨曦,剑身上的光芒比之前更加明亮——在连续使用拔刀斩后,晨曦的力量似乎又恢复了一些。</p>
|
||||
<p>"不管前面有什么,我都要闯过去!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>终于,他们来到了极昼平台的最深处。</p>
|
||||
<p>那里停着一架巨大的多尼尔——比普通的多尼尔大出十倍不止。它的机身被改造得面目全非,装备了无数的炮塔和武器,整个机身散发着使徒的邪恶气息。</p>
|
||||
<p>EX多尼尔——GBL教最强大的空中兵器,现在已经被使徒的力量彻底腐化。</p>
|
||||
<p>它发现了林克,机身上的所有炮塔同时转动,瞄准了入侵者。</p>
|
||||
<p>"入侵者……清除……"一个机械合成的声音从EX多尼尔中传出,"罗特斯大人……不容侵犯……"</p>
|
||||
<p>然后,它开火了。</p>
|
||||
<p>无数炮弹如同雨点般朝林克倾泻而来。林克拼命闪避,但爆炸的冲击波还是将他震飞出去。</p>
|
||||
<p>"这种火力……"林克咳出一口血,"比之前的敌人强太多了!"</p>
|
||||
<p>EX多尼尔缓缓升空,然后猛地俯冲下来。它的机身带着霸体状态,任何攻击都无法阻挡它的冲锋。</p>
|
||||
<p>"霸体坠地突进!"奥菲利亚大喊,"快躲开!"</p>
|
||||
<p>林克勉强躲过,但EX多尼尔坠地产生的冲击波再次将他掀翻。</p>
|
||||
<p>更可怕的是,EX多尼尔的机身打开,释放出无数小型多尼尔和GBL教徒——它在召唤小怪!</p>
|
||||
<p>"必须……找到它的弱点……"林克咬牙站起身。</p>
|
||||
<p>他观察着EX多尼尔的结构。这么大的飞行器,一定有核心能源装置。如果能破坏核心……</p>
|
||||
<p>"奥菲利亚,它的核心在哪里?"</p>
|
||||
<p>"机身正中央!那里有一个发光的装置!"</p>
|
||||
<p>林克看到了——在EX多尼尔机身的正中央,确实有一个散发着暗红色光芒的装置,那就是它的核心。</p>
|
||||
<p>"明白了……"林克深吸一口气,"必须一击必杀!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克开始执行他的计划。</p>
|
||||
<p>他不再与EX多尼尔硬碰硬,而是利用流心姿态在战场上快速移动,一边躲避攻击,一边清理召唤出来的小怪。</p>
|
||||
<p>每当EX多尼尔使用霸体坠地突进,他就提前预判位置,在坠地的瞬间发动反击。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>"里·鬼剑术!"</p>
|
||||
<p>连续的攻击在EX多尼尔的机身上留下伤痕,但还不足以破坏核心。</p>
|
||||
<p>EX多尼尔似乎被激怒了,它的攻击变得更加疯狂。整个平台都在它的炮火下颤抖。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>EX多尼尔再次俯冲,林克没有躲避,而是迎着它冲了上去。</p>
|
||||
<p>"流心·跃!"</p>
|
||||
<p>他跃到EX多尼尔的机身上,在霸体坠地的冲击中稳住身形,然后举起晨曦。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>晨曦的光芒达到了前所未有的亮度。</p>
|
||||
<p>"拔刀斩·极限!"</p>
|
||||
<p>最大的剑气从晨曦上爆发,直接斩向机身正中央的核心!</p>
|
||||
<p>"轰——!"</p>
|
||||
<p>EX多尼尔的核心被击中,暗红色的光芒剧烈闪烁,然后彻底熄灭。</p>
|
||||
<p>巨大的飞行器失去动力,从空中坠落,在平台上砸出一个巨大的坑洞。</p>
|
||||
<p>林克从残骸中爬出,大口喘着气。他做到了——击败了极昼的统治者。</p>
|
||||
<p>但当他看向手中的晨曦时,发现剑身上的光芒比之前更加明亮了——几乎恢复到了八成。</p>
|
||||
<p>"晨曦……"他喃喃自语,"你也在等待这一战吗?"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>奥菲利亚跑过来扶起他:"你做到了!你击败了EX多尼尔!"</p>
|
||||
<p>林克点点头,看向极昼的更深处。在那里,有一个通往更下层的通道。</p>
|
||||
<p>"第一脊椎……"奥菲利亚喃喃自语,"罗特斯……就在下面……"</p>
|
||||
<p>林克握紧晨曦,目光坚定。</p>
|
||||
<p>"走吧。不管前面有什么,我都要面对。"</p>
|
||||
<p>"为了赛丽亚,为了阻止罗特斯,为了守护这个世界。"</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十三章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-22.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-24.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter current">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(23)) {
|
||||
readChapters.push(23);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
659
alacarte-novel-website/chapters/chapter-24.html
Normal file
659
alacarte-novel-website/chapters/chapter-24.html
Normal file
@ -0,0 +1,659 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 24</div>
|
||||
<h1 class="chapter-title">第一脊椎</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>离开极昼,林克和奥菲利亚沿着通道向下深入。</p>
|
||||
<p>与极昼明亮的露天平台不同,第一脊椎是一个阴暗潮湿的地下洞穴。空气中弥漫着海水的咸腥味,墙壁上到处都是黏糊糊的液体,脚下不时传来"咯吱咯吱"的声响——那是踩碎了什么东西的声音。</p>
|
||||
<p>"这里是……第一脊椎?"林克皱眉。</p>
|
||||
<p>"天帷巨兽的体内深处。"奥菲利亚的声音有些发抖,"据说这里连接着天帷巨兽的神经中枢,也是……罗特斯力量最强的地方之一。"</p>
|
||||
<p>林克握紧晨曦。剑身上的光芒在黑暗中显得格外明亮——已经恢复到了八成。</p>
|
||||
<p>但光芒也暴露了他的位置。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"嘶——"</p>
|
||||
<p>一个奇怪的声音从黑暗中传来。</p>
|
||||
<p>林克立即警觉起来。他拔出晨曦,光剑的光芒照亮了周围。</p>
|
||||
<p>然后,他看到了——在洞穴的墙壁上,爬满了蓝色的章鱼。它们只有拳头大小,但数量惊人,密密麻麻地覆盖了整个墙面。</p>
|
||||
<p>"蓝章鱼……"奥菲利亚倒吸一口冷气,"第一脊椎的原生生物,被使徒力量强化后变得非常具有攻击性。"</p>
|
||||
<p>仿佛听到了她的话,那些蓝章鱼同时转动身体,无数只眼睛盯住了林克。</p>
|
||||
<p>然后,它们同时喷射出墨汁!</p>
|
||||
<p>黑色的墨汁如同雨点般朝林克袭来。林克连忙闪避,但墨汁的范围太大了,他的衣角还是被沾到了。</p>
|
||||
<p>"小心!那些墨汁有毒!"奥菲利亚大喊。</p>
|
||||
<p>林克感到被墨汁沾到的地方传来一阵刺痛。他咬牙忍住,挥动晨曦。</p>
|
||||
<p>"拔刀斩!"</p>
|
||||
<p>剑气横扫,将一大片蓝章鱼斩落。但更多的蓝章鱼从黑暗中涌出,仿佛无穷无尽。</p>
|
||||
<p>"数量太多了!"林克皱眉,"必须快速通过这里!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克带着奥菲利亚在第一脊椎的洞穴中穿行。</p>
|
||||
<p>这里的地形极其复杂,到处都是岔路和死胡同。更麻烦的是,除了蓝章鱼,他们还遇到了另一种敌人——树精。</p>
|
||||
<p>与树精丛林的树精不同,这里的树精更加扭曲,身上长满了章鱼一样的触手,行动速度也更快。</p>
|
||||
<p>"这些是……被使徒力量融合的树精!"奥菲利亚惊恐地说,"罗特斯把树精和章鱼融合了!"</p>
|
||||
<p>一个融合树精挥舞着触手朝林克抽来。林克侧身躲过,同时发动反击。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>晨曦刺入树精的树干,但树精的触手同时缠绕过来,试图将林克束缚住。</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>上挑!将树精和它的触手一起击飞。</p>
|
||||
<p>但还没等林克追击,更多的蓝章鱼和融合树精从四面八方涌来。他们被包围了!</p>
|
||||
<p>"该死……"林克咬牙。没有赛丽亚的治愈术,他不能在这里消耗太多体力。</p>
|
||||
<p>就在这时——</p>
|
||||
<p>"圣光啊,赐予我力量!"</p>
|
||||
<p>一个洪亮的声音从洞穴深处传来。</p>
|
||||
<p>然后,一道金色的光芒照亮了整个洞穴。光芒所到之处,蓝章鱼纷纷退缩,融合树精发出痛苦的嚎叫。</p>
|
||||
<p>一个身影从光芒中走出。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>那是一个身穿银色铠甲的年轻男子,手中握着一把散发着圣光的长剑。他的铠甲上刻着赫顿玛尔圣堂的徽记,眼中闪烁着坚定的光芒。</p>
|
||||
<p>"你们没事吧?"他问道,声音中带着一种令人安心的力量。</p>
|
||||
<p>"你是……"林克警惕地看着他。</p>
|
||||
<p>"我是艾伦,赫顿玛尔圣堂的圣骑士。"年轻男子微微一笑,"我追踪使徒的气息来到这里,没想到会遇到其他冒险者。"</p>
|
||||
<p>他举起长剑,一道金色的光环从剑身上扩散开来,笼罩了林克和奥菲利亚。</p>
|
||||
<p>"圣光守护。"艾伦轻声说,"这道护盾可以暂时抵御使徒的侵蚀。"</p>
|
||||
<p>林克感到一股温暖的力量流入体内,刚才被蓝章鱼墨汁造成的刺痛感减轻了不少。</p>
|
||||
<p>"谢谢。"林克点头,"我是林克,一名剑魂。这是奥菲利亚,GBL教的幸存者。"</p>
|
||||
<p>"GBL教……"艾伦的表情变得严肃,"我在赫顿玛尔就听说了天帷巨兽的异变。没想到情况比想象的还要严重。"</p>
|
||||
<p>他看向洞穴深处:"我在前面发现了更强大的使徒气息。你们是要去那里吗?"</p>
|
||||
<p>"是的。"林克说,"我们要去阻止罗特斯。"</p>
|
||||
<p>艾伦的眼睛亮了起来:"那我们的目标一致。如果不介意,让我加入你们吧。圣骑士的使命就是对抗邪恶,保护无辜。"</p>
|
||||
<p>林克看着艾伦坚定的眼神,点头:"欢迎加入。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>有了艾伦的加入,队伍的战斗力大幅提升。</p>
|
||||
<p>艾伦不仅能够使用圣光攻击,还能为林克提供各种BUFF。</p>
|
||||
<p>"光之复仇!"艾伦举起长剑,一道金色的光芒笼罩了林克。</p>
|
||||
<p>林克感到全身充满了力量,攻击力明显提升。</p>
|
||||
<p>"这是……"</p>
|
||||
<p>"圣骑士的BUFF技能。"艾伦笑道,"可以提升你的攻击力。在我的BUFF加持下,你的剑会更加锋利。"</p>
|
||||
<p>林克感受着体内涌动的力量,握紧了晨曦。在光之复仇的加持下,晨曦的光芒变得更加耀眼。</p>
|
||||
<p>他们继续深入第一脊椎。有了艾伦的圣光攻击,蓝章鱼和融合树精变得容易对付多了。圣光对这些被使徒污染的生物有着天然的克制效果。</p>
|
||||
<p>"你是专门追踪使徒来到这里的吗?"林克问。</p>
|
||||
<p>艾伦点头:"赫顿玛尔圣堂收到了天帷巨兽异变的报告。教主派我来调查。没想到……情况比想象的还要糟糕。"</p>
|
||||
<p>他看向奥菲利亚:"GBL教被使徒控制,这是我见过的最严重的使徒污染事件。"</p>
|
||||
<p>"罗特斯……"奥菲利亚低声说,"第八使徒。他的精神控制能力太可怕了。"</p>
|
||||
<p>"第八使徒?"艾伦皱眉,"传说中最擅长精神控制的使徒……难怪连GBL教这种知识型教团都无法抵抗。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>随着深入,周围的环境变得越来越诡异。</p>
|
||||
<p>洞穴的墙壁上开始出现巨大的肉瘤,那些肉瘤跳动着,仿佛有着生命。地面上流淌着黏稠的液体,散发着令人作呕的气味。</p>
|
||||
<p>"这里是天帷巨兽的……内脏?"林克皱眉。</p>
|
||||
<p>"第一脊椎是天帷巨兽的神经中枢区域。"奥菲利亚说,"罗特斯就盘踞在最深处,通过这里控制整个天帷巨兽。"</p>
|
||||
<p>突然,地面剧烈震动起来。</p>
|
||||
<p>"小心!"艾伦大喊。</p>
|
||||
<p>洞穴的前方,一个巨大的阴影正在靠近。那是一只体型堪比房屋的巨大章鱼,全身漆黑如墨,无数只触手在空中挥舞,每一只触手都比成年人的腰还粗。</p>
|
||||
<p>巨型黑章鱼——第一脊椎的统治者。</p>
|
||||
<p>它发现了入侵者,无数只眼睛同时盯住了林克他们。然后,它张开血盆大口,发出震耳的咆哮。</p>
|
||||
<p>"入侵者……死……"一个沙哑的声音从章鱼口中传出,"罗特斯大人……需要祭品……"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗开始。</p>
|
||||
<p>巨型黑章鱼的体型太大了,普通的攻击对它几乎没有效果。它挥舞着触手,每一次抽击都能将岩石击碎。</p>
|
||||
<p>林克发动流心姿态,在触手的攻击间隙中穿梭。但巨型黑章鱼的触手太多了,铺天盖地,几乎没有躲闪的空间。</p>
|
||||
<p>"圣光十字!"艾伦举起长剑,一道金色的十字光芒斩向巨型黑章鱼。</p>
|
||||
<p>圣光对使徒污染的生物有着克制效果,巨型黑章鱼发出痛苦的嚎叫,被击中的触手冒起黑烟。</p>
|
||||
<p>"有效!"艾伦喊道,"林克,攻击它被圣光击中的地方!"</p>
|
||||
<p>林克明白了。他等待着艾伦的下一轮攻击。</p>
|
||||
<p>"光之复仇!"艾伦再次为林克加持BUFF。</p>
|
||||
<p>林克感到全身充满了力量。他跃起,避开一条抽来的触手,然后——</p>
|
||||
<p>"拔刀斩!"</p>
|
||||
<p>巨大的剑气斩向巨型黑章鱼被圣光击伤的触手。金色的光芒与晨曦的光属性融合,产生了惊人的效果。</p>
|
||||
<p>巨型黑章鱼的一只触手被斩断,黑色的血液喷涌而出。</p>
|
||||
<p>"吼——!"巨型黑章鱼发出愤怒的咆哮。</p>
|
||||
<p>它张开大口,喷出一大团黑色的墨汁。墨汁在空中扩散,形成了一片毒雾。</p>
|
||||
<p>"快躲!"奥菲利亚大喊,"那墨汁有剧毒!"</p>
|
||||
<p>林克和艾伦连忙闪避。但巨型黑章鱼的攻击还没结束——它的身体开始旋转,无数只触手如同风车般挥舞起来。</p>
|
||||
<p>"死亡大转盘!"奥菲利亚惊恐地喊道,"快找掩体!"</p>
|
||||
<p>巨型黑章鱼的旋转攻击覆盖了整个洞穴,没有任何死角。林克和艾伦被旋转的触手逼到了墙角。</p>
|
||||
<p>"这种攻击……根本无法躲避!"林克咬牙。</p>
|
||||
<p>"让我来!"艾伦站在林克身前,举起长剑,"圣光守护!"</p>
|
||||
<p>一道金色的护盾在两人身前展开。巨型黑章鱼的触手抽击在护盾上,发出震耳的轰鸣,但护盾坚持住了。</p>
|
||||
<p>"趁现在!"艾伦大喊,"我撑不了太久!"</p>
|
||||
<p>林克点头。他等待着巨型黑章鱼旋转停止的瞬间。</p>
|
||||
<p>旋转终于停止,巨型黑章鱼的动作出现了短暂的僵直。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>林克突进到巨型黑章鱼的身下,上挑!晨曦带着光之复仇的加持,斩向巨型黑章鱼的腹部。</p>
|
||||
<p>但巨型黑章鱼的反应更快。它的触手突然缠绕过来,将林克紧紧包裹住!</p>
|
||||
<p>"林克!"艾伦大惊。</p>
|
||||
<p>林克被触手缠绕,感到全身被巨大的力量挤压。他拼命挣扎,但触手越缠越紧。</p>
|
||||
<p>巨型黑章鱼将林克举到眼前,无数只眼睛盯着他,口中流出黏稠的唾液。</p>
|
||||
<p>"美味的……祭品……"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克感到呼吸困难,意识开始模糊。</p>
|
||||
<p>触手的挤压力量太大了,他的肋骨发出"咯咯"的声响。更可怕的是,触手正在分泌某种黏液,那种黏液正在侵蚀他的皮肤。</p>
|
||||
<p>"不……不能在这里结束……"</p>
|
||||
<p>他想起了赛丽亚,想起了他们之间的约定。</p>
|
||||
<p>"我答应过她……会平安回去……"</p>
|
||||
<p>一股强大的意志力从他体内涌出。他握紧晨曦,将全部的魔力注入其中。</p>
|
||||
<p>晨曦感应到了主人的意志,剑身上的光芒暴涨——恢复到了九成!</p>
|
||||
<p>"给我……断开!"</p>
|
||||
<p>"里·鬼剑术·极限!"</p>
|
||||
<p>无数道剑光从触手的缝隙中爆发,将缠绕着林克的触手全部斩断!</p>
|
||||
<p>林克从空中落下,半跪在地上大口喘气。</p>
|
||||
<p>巨型黑章鱼发出痛苦的嚎叫,被斩断的触手喷涌出黑色的血液。</p>
|
||||
<p>"就是现在!"艾伦大喊,"圣光啊,赐予我们胜利!"</p>
|
||||
<p>他举起长剑,全身散发出耀眼的金光。</p>
|
||||
<p>"光之复仇·终极!"</p>
|
||||
<p>最强的BUFF加持在林克身上。林克感到全身的力量达到了前所未有的巅峰。</p>
|
||||
<p>他站起身,举起晨曦。</p>
|
||||
<p>"这一剑……为了所有被使徒伤害的人!"</p>
|
||||
<p>"拔刀斩·奥义!"</p>
|
||||
<p>最大的剑气从晨曦上爆发,直接斩向巨型黑章鱼的头部。</p>
|
||||
<p>巨型黑章鱼想要躲避,但受伤的身体无法快速移动。</p>
|
||||
<p>剑气斩中了它的头部,将它的一只眼睛彻底摧毁。</p>
|
||||
<p>"吼——!"</p>
|
||||
<p>巨型黑章鱼发出最后的哀嚎,庞大的身躯轰然倒地,激起一片黑色的血雾。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束了。</p>
|
||||
<p>林克跪在地上,大口喘着气。这场战斗消耗了他大量的体力和魔力。</p>
|
||||
<p>艾伦走过来,为他施展治愈术:"你没事吧?刚才真是太危险了。"</p>
|
||||
<p>"没事……"林克勉强笑了笑,"谢谢你,艾伦。如果没有你的BUFF,我不可能击败它。"</p>
|
||||
<p>艾伦微笑:"我们是队友,互相帮助是应该的。"</p>
|
||||
<p>他看向林克手中的晨曦,眼中闪过一丝惊讶:"你的剑……光芒比之前更亮了。"</p>
|
||||
<p>林克低头看去。晨曦的剑身散发着明亮的光芒——已经恢复到了九成。</p>
|
||||
<p>"它在恢复……"林克轻声说,"每一次战斗,它都变得更加强大。"</p>
|
||||
<p>奥菲利亚走到巨型黑章鱼的尸体前,表情复杂:"第一脊椎的统治者……也被击败了。"</p>
|
||||
<p>她看向洞穴的更深处:"接下来……就是第二脊椎了。罗特斯……就在那里。"</p>
|
||||
<p>林克站起身,握紧晨曦,正要向前迈步,艾伦却突然伸手拦住了他。</p>
|
||||
<p>"等等。"艾伦的表情异常严肃,"我们不能就这样去第二脊椎。"</p>
|
||||
<p>林克停下脚步,皱眉看向他:"什么意思?"</p>
|
||||
<p>"罗特斯是第八使徒,他的精神控制能力是传说级别的。"艾伦的声音低沉,"即使是圣骑士的我,在没有准备的情况下也会被瞬间控制。"</p>
|
||||
<p>奥菲利亚点头,脸色苍白:"艾伦说得对。我们GBL教有很多关于罗特斯的记载。据说,即使是教团最强大的祭司,在接近罗特斯时也会瞬间失去理智,变成他的傀儡。"</p>
|
||||
<p>林克沉默了。他想起了赛丽亚在极昼时的痛苦,想起了那些被使徒控制的GBL教信徒。</p>
|
||||
<p>"那我们该怎么办?"他问。</p>
|
||||
<p>"我们需要能够抵抗精神控制的装备。"艾伦说,"在赫顿玛尔,有一位来自天界的装备强化师——凯丽。她掌握着天界的科技,也许能帮助我们。"</p>
|
||||
<p>"而且,"奥菲利亚补充道,"我们也需要休整和补充物资。连续战斗了这么久,大家的体力和魔力都消耗巨大,以现在的状态去挑战罗特斯,无异于送死。"</p>
|
||||
<p>林克思考了一会儿,看向第二脊椎的方向,眼中满是不甘。</p>
|
||||
<p>"罗特斯……"他低声说,"就让你再活几天。"</p>
|
||||
<p>他转身,做出了决定:"好,我们先回赫顿玛尔。"</p>
|
||||
<p>艾伦点头,举起长剑:"以圣光之名,我一定会帮你消灭使徒。但在那之前,我们必须做好万全的准备。"</p>
|
||||
<p>三人最后看了一眼第二脊椎的入口,然后转身离开。</p>
|
||||
<p>真正的最终战斗,还在等待着他们。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十四章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-23.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-25.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter current">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(24)) {
|
||||
readChapters.push(24);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
570
alacarte-novel-website/chapters/chapter-25.html
Normal file
570
alacarte-novel-website/chapters/chapter-25.html
Normal file
@ -0,0 +1,570 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 25</div>
|
||||
<h1 class="chapter-title">赫顿玛尔的准备</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>从第一脊椎返回,林克、艾伦和奥菲利亚马不停蹄地赶往赫顿玛尔。</p>
|
||||
<p>第二脊椎就在前方,罗特斯——第八使徒,正盘踞在那里。但他们都知道,以现在的状态前往,无异于送死。</p>
|
||||
<p>"罗特斯的精神控制能力太强了。"艾伦面色凝重,"即使是圣骑士,在没有准备的情况下也会被控制。"</p>
|
||||
<p>"我们需要找到抵抗精神控制的方法。"林克说。</p>
|
||||
<p>奥菲利亚突然想起了什么:"凯丽!她来自天界,掌握着先进的科技。也许她能制造出抵抗精神控制的装备!"</p>
|
||||
<p>从第一脊椎返回赫顿玛尔,花了整整两天时间。</p>
|
||||
<p>在艾伦的提醒下,林克做出了明智的决定——在没有准备好对抗精神控制的装备前,贸然挑战罗特斯无异于送死。</p>
|
||||
<p>这两天里,三人一边赶路一边休整。艾伦向林克详细介绍了罗特斯的可怕之处:作为第八使徒,他的精神控制能力可以瞬间覆盖并控制任何比他弱小的生物。如果没有防护措施,他们会在见到罗特斯的瞬间就变成他的傀儡。</p>
|
||||
<p>"那我们该怎么办?"林克问。</p>
|
||||
<p>"天界曾经与使徒战斗过,发展出了对抗精神控制的技术。"艾伦说,"我们需要找到掌握这种技术的人。"</p>
|
||||
<p>奥菲利亚眼前一亮:"赫顿玛尔的凯丽!她来自天界,肯定知道怎么制造防护装备!"</p>
|
||||
<p>林克点点头。凯丽——那个对赛丽亚有好感的暗精灵女枪手,确实掌握着很多稀奇古怪的天界科技。</p>
|
||||
<p>"而且她看在赛丽亚的面子上,应该会愿意帮忙。"林克说。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>凯丽的装备店位于赫顿玛尔的中心区域。</p>
|
||||
<p>当林克一行人走进店里时,凯丽正在擦拭一把左轮手枪。看到林克,她挑了挑眉:"哟,冒险家回来了?听说你去天帷巨兽了?"</p>
|
||||
<p>"是的。"林克点头,"我们遇到了麻烦,需要你的帮助。"</p>
|
||||
<p>凯丽放下手枪,双手抱胸:"说吧,什么事?"</p>
|
||||
<p>"我们要去第二脊椎,对付罗特斯。"林克直视她的眼睛,"但罗特斯的精神控制能力太强,我们需要能够抵抗精神控制的装备。"</p>
|
||||
<p>听到"罗特斯"三个字,凯丽的表情变得严肃起来。</p>
|
||||
<p>"第八使徒……"她低声说,"那可是连卡勒特都不敢招惹的存在。"</p>
|
||||
<p>她走到柜台后面,翻找着什么东西:"你们算是找对人了。在天界,我们确实有一种技术可以抵抗精神控制。"</p>
|
||||
<p>凯丽拿出一个奇怪的装置,它看起来像是一个手环,上面镶嵌着各种精密的机械零件和发光的晶石。</p>
|
||||
<p>"干扰发射器。"凯丽介绍道,"天界科技产物,可以发射特定频率的干扰波,阻挡外部的精神控制。"</p>
|
||||
<p>"能给我们制作几个吗?"林克问。</p>
|
||||
<p>凯丽摇头:"材料不够。这种装置需要稀有的晶石和特殊的金属材料,我手头的存货只够制作一个。"</p>
|
||||
<p>"一个……"林克皱眉。</p>
|
||||
<p>"而且,"凯丽补充道,"就算制作出来了,效果也有限。罗特斯是第八使徒,他的精神控制力远超普通的干扰发射器能承受的范围。"</p>
|
||||
<p>"那怎么办?"艾伦问道。</p>
|
||||
<p>凯丽思考了一会儿:"如果你们能帮我收集一些特殊材料,我可以尝试强化干扰发射器,让它能够抵御罗特斯级别的精神控制。"</p>
|
||||
<p>"什么材料?"</p>
|
||||
<p>"光之结晶、暗影精华、还有……"凯丽列出一串清单,"最重要的是,需要一块来自使徒的碎片。"</p>
|
||||
<p>"使徒碎片?"</p>
|
||||
<p>"任何与使徒力量接触过的东西都可以。"凯丽解释,"只有理解了使徒力量的本质,才能制造出真正有效的防御装置。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克拿出了晨曦。</p>
|
||||
<p>剑身上的光芒在凯丽的店里显得格外明亮。这把剑曾经与光之核心融合,又经历了多次与使徒力量的战斗。</p>
|
||||
<p>"这把剑……"凯丽的眼睛亮了起来,"它身上蕴含着强大的光之力量,还有……使徒的气息?"</p>
|
||||
<p>"它曾经与天空之城的光之核心融合,也在天帷巨兽上与罗特斯的力量多次交锋。"林克说,"这够吗?"</p>
|
||||
<p>凯丽仔细观察着晨曦,脸上露出惊讶的表情:"不可思议……这把剑已经产生了某种质变。它不仅仅是武器,更像是……一个有生命的存在。"</p>
|
||||
<p>她伸出手,轻轻触碰剑身。晨曦微微颤动,发出柔和的光芒,似乎在回应她的触摸。</p>
|
||||
<p>"我可以从剑身上提取一些能量样本。"凯丽说,"但这可能会对剑造成一些影响。你确定吗?"</p>
|
||||
<p>林克握紧晨曦,感受着剑身传来的温度。晨曦仿佛在告诉他:没关系,为了战胜使徒,这是必要的牺牲。</p>
|
||||
<p>"我确定。"林克说。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>凯丽的工作室里,各种精密的仪器发出嗡嗡的声响。</p>
|
||||
<p>林克他们花了整整一天时间,收集凯丽需要的材料。光之结晶来自天空之城的遗迹,暗影精华来自暗黑雷鸣废墟,其他材料也都是在危险的地方获取的。</p>
|
||||
<p>现在,所有的材料都摆在了凯丽的工作台上。</p>
|
||||
<p>凯丽开始了她的工作。她的动作熟练而精准,天界科技的工艺流程在她手中如同艺术表演。</p>
|
||||
<p>"天界的科技……与阿拉德的魔法完全不同。"艾伦感叹道,"她是如何将机械和能量结合得如此完美?"</p>
|
||||
<p>"这就是天界的智慧。"奥菲利亚说,"据说天界曾经是一个科技高度发达的文明,直到巴卡尔的统治……"</p>
|
||||
<p>几个小时后,凯丽终于完成了她的作品。</p>
|
||||
<p>那是一个精致的手环,主体由银色的金属制成,上面镶嵌着发光的晶石。手环的中心有一个小型的发射装置,可以发射出肉眼看不见的干扰波。</p>
|
||||
<p>"抗精神干扰手环。"凯丽将它递给林克,"我提取了晨曦的能量作为核心,结合天界的干扰技术。理论上,它应该能够抵御罗特斯的精神控制。"</p>
|
||||
<p>林克接过手环,感受到其中蕴含的力量。晨曦的能量在手环中流动,与机械装置完美融合。</p>
|
||||
<p>"但是……"凯丽严肃地说,"这个手环只能保护一个人。而且,它的能量是有限的。如果罗特斯全力发动精神攻击,手环可能支撑不了太久。"</p>
|
||||
<p>"一个人……"林克看向艾伦和奥菲利亚。</p>
|
||||
<p>"你是主要的战斗力。"艾伦说,"手环应该给你用。"</p>
|
||||
<p>"但你是圣骑士,你的BUFF对我很重要。"林克说。</p>
|
||||
<p>"我有圣光守护,可以一定程度上抵抗精神控制。"艾伦微笑,"放心,我不会那么容易被控制的。"</p>
|
||||
<p>奥菲利亚也点头:"我从小就生活在天帷巨兽,对罗特斯的力量有一定适应性。虽然会难受,但不会被完全控制。"</p>
|
||||
<p>林克沉默了一会儿,然后将手环戴在手腕上。</p>
|
||||
<p>"我会尽快解决战斗。"他说,"在手环能量耗尽之前,击败罗特斯。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>离开凯丽的店铺前,凯丽叫住了林克。</p>
|
||||
<p>"喂,冒险家。"她的表情有些复杂,"赛丽亚小姐……她还好吗?"</p>
|
||||
<p>林克愣了一下,然后点头:"她在西海岸,很安全。"</p>
|
||||
<p>凯丽松了口气:"那就好。那丫头总是往危险的地方跑,真让人担心。"</p>
|
||||
<p>她顿了顿,又补充道:"你一定要活着回来。不是为了我,是为了赛丽亚小姐。如果你死了,她会伤心的。"</p>
|
||||
<p>林克微微一笑:"我答应你,我会活着回来。"</p>
|
||||
<p>凯丽挥手:"走吧走吧,别在这儿碍眼了。记得回来找我强化装备,给你打折。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>三人离开赫顿玛尔,再次前往天帷巨兽。</p>
|
||||
<p>这一次,他们的目标是第二脊椎——罗特斯的巢穴,也是天帷巨兽篇的最终战场。</p>
|
||||
<p>林克看着手腕上的手环,感受着晨曦传来的温暖。</p>
|
||||
<p>"罗特斯……"他低声说,"等着我。"</p>
|
||||
<p>"为了赛丽亚,为了所有被使徒伤害的人,我一定会击败你。"</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十五章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-24.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-26.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter current">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(25)) {
|
||||
readChapters.push(25);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
646
alacarte-novel-website/chapters/chapter-26.html
Normal file
646
alacarte-novel-website/chapters/chapter-26.html
Normal file
@ -0,0 +1,646 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 26</div>
|
||||
<h1 class="chapter-title">第二脊椎</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>第二脊椎,天帷巨兽的最深处。</p>
|
||||
<p>这里是使徒罗特斯的巢穴,也是天帷巨兽篇的最终战场。</p>
|
||||
<p>林克、艾伦、奥菲利亚和维加四人站在通往BOSS房间的入口前。每个人的表情都无比凝重。</p>
|
||||
<p>"前方……就是罗特斯的领域了。"奥菲利亚的声音微微颤抖,"我们要面对的,是第八使徒。"</p>
|
||||
<p>"使徒……"艾伦握紧了手中的长剑,"在圣堂的典籍中,它们是仅次于神的恐怖存在。"</p>
|
||||
<p>林克低头看了看手腕上的抗精神干扰手环。手环散发着微弱的光芒,仿佛在提醒他——这是他们能够抵抗精神控制的唯一依靠。</p>
|
||||
<p>"晨曦。"林克轻声呼唤。</p>
|
||||
<p>剑身回应着他的呼唤,散发出明亮的光芒。九成恢复的光芒,在这黑暗的空间中显得格外耀眼。</p>
|
||||
<p>"准备好了吗?"林克看向队友们。</p>
|
||||
<p>艾伦点头,圣光在他的剑身上流转:"以圣光之名,我必将铲除邪恶。"</p>
|
||||
<p>奥菲利亚深吸一口气,握紧了手中的法杖:"为了GBL教,为了所有被控制的同胞,我一定要阻止罗特斯。"</p>
|
||||
<p>维加默默地点头,手中的匕首闪烁着寒光。</p>
|
||||
<p>"走吧。"林克迈出步伐,"结束这一切。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>通往罗特斯巢穴的道路,比想象中更加凶险。</p>
|
||||
<p>这里已经没有普通的GBL教信徒了——取而代之的是更高级的存在:GBL教神官、主教、祭司。它们的力量远超之前的敌人,而且更加疯狂。</p>
|
||||
<p>"它们已经完全被罗特斯控制了。"奥菲利亚看着那些曾经熟悉的教友,眼中满是悲痛,"没有救赎的可能了。"</p>
|
||||
<p>除了GBL教的高级成员,还有各种各样的怪物:蓝章鱼、章鱼怪、小八爪在墙壁和地面上蠕动;艾力斯在阴影中潜伏,随时准备发动偷袭;雷沃斯和瑟冥特克作为元素精灵,释放出雷电和暗影的攻击。</p>
|
||||
<p>但最危险的,是激光龙头炮。</p>
|
||||
<p>"小心!"艾伦大喊,"不要和它在同一直线上!"</p>
|
||||
<p>一道刺眼的激光束从龙头炮的口中射出,瞬间将地面烧出一个大洞。那激光的攻击力,足以瞬间重创任何人。</p>
|
||||
<p>林克迅速移动位置,利用地形掩护接近激光龙头炮。他明白,这种远程武器虽然攻击力恐怖,但攻击速度较慢,而且无法转向。</p>
|
||||
<p>"流心·跃!"</p>
|
||||
<p>林克跃向空中,躲过激光束的同时,从侧翼接近了龙头炮。晨曦在空中划出一道弧线,精准地斩断了龙头炮的能源核心。</p>
|
||||
<p>轰——</p>
|
||||
<p>龙头炮爆炸了,碎片四散飞溅。</p>
|
||||
<p>"干得好!"艾伦称赞道,同时用圣光治愈着林克的轻伤。</p>
|
||||
<p>四人继续前进,一路战斗,一路推进。</p>
|
||||
<p>随着他们越来越接近罗特斯的巢穴,精神压迫感也越来越强烈。即使没有直接接触罗特斯,那种无形的压力也让每个人感到呼吸困难。</p>
|
||||
<p>"这就是使徒的威压吗……"维加的脸色苍白,"仅仅是气息,就让人感到绝望。"</p>
|
||||
<p>林克握紧手腕上的手环。手环正在发热,发出轻微的震动——它在抵抗着罗特斯的精神侵袭。</p>
|
||||
<p>"手环还能坚持多久?"艾伦问。</p>
|
||||
<p>林克看了看手环上闪烁的指示灯:"大概……还有一半的能量。"</p>
|
||||
<p>"我们必须速战速决。"艾伦说,"在能量耗尽之前,击败罗特斯。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>终于,他们来到了BOSS房间的入口。</p>
|
||||
<p>那是一扇巨大的石门,门上刻满了古老的符文。符文散发着微弱的蓝光,仿佛在诉说着某种古老的封印。</p>
|
||||
<p>"这里……就是罗特斯的囚笼。"奥菲利亚说,"GBL教在数百年前,将罗特斯封印在这里。但现在,封印已经失效了。"</p>
|
||||
<p>"数百年前?"林克惊讶地问,"罗特斯被封印了这么久?"</p>
|
||||
<p>"是的。"奥菲利亚点头,"罗特斯原本不在这个世界。它是被某种力量强制转移到这里来的。"</p>
|
||||
<p>林克想起了之前听到过的那些声音——罗特斯在脑海中低语,诉说着它的愤怒和不甘。</p>
|
||||
<p>"它是被迫来到这里的……"林克低声说,"但这不能成为它伤害无辜的理由。"</p>
|
||||
<p>他伸出手,推开了石门。</p>
|
||||
<p>轰隆隆——</p>
|
||||
<p>石门缓缓打开,露出了里面的景象。</p>
|
||||
<p>那是一座巨大的地下神殿,神殿的中央是一座高耸的建筑物。而在建筑物的外墙上——</p>
|
||||
<p>"那是……"艾伦倒吸一口凉气。</p>
|
||||
<p>无数巨大的触手从建筑物中伸出,在空中缓缓蠕动。那些触手粗如巨蟒,表面覆盖着黏液和吸盘,散发着令人作呕的气息。</p>
|
||||
<p>在建筑物的顶端,一只巨大的眼睛缓缓睁开。</p>
|
||||
<p>那只眼睛足有房屋大小,瞳孔中散发着幽绿色的光芒,仿佛来自地狱的凝视。</p>
|
||||
<p>"冒险家……"一个低沉的声音在所有人的脑海中响起,"你们终于来了。"</p>
|
||||
<p>是罗特斯的声音。</p>
|
||||
<p>"我等你很久了……林克……"</p>
|
||||
<p>林克感到手腕上的手环剧烈震动起来,发出刺耳的警报声。罗特斯正在尝试突破手环的防御,直接控制他的精神!</p>
|
||||
<p>"不要听它的声音!"艾伦大喊,"圣光守护!"</p>
|
||||
<p>一道金色的光芒笼罩了所有人,暂时抵挡住了罗特斯的精神侵袭。</p>
|
||||
<p>"愚蠢的人类……"罗特斯的声音充满了嘲讽,"你们以为这种小把戏就能对抗我吗?我是第八使徒,长脚·罗特斯!"</p>
|
||||
<p>轰——</p>
|
||||
<p>一根巨大的触手从天而降,狠狠地砸向地面。四人迅速散开,躲避这毁灭性的一击。</p>
|
||||
<p>地面被砸出一个巨大的坑洞,碎石飞溅。</p>
|
||||
<p>"战斗开始了!"林克大喊,"按照计划行动!"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>罗特斯的攻击方式,超出了所有人的想象。</p>
|
||||
<p>首先是触手攻击。那些巨大的触手如同狂风暴雨般从四面八方袭来,每一击都足以将人拍成肉泥。林克凭借剑魂的敏捷身手,在触手的缝隙中穿梭,寻找攻击的机会。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>林克瞄准一根触手,发动了精准的一击。晨曦的光属性力量对使徒的肉体造成了有效的伤害,那根触手被斩断,喷出墨绿色的血液。</p>
|
||||
<p>但罗特斯仿佛没有痛觉,更多的触手从建筑物中伸出,填补了空缺。</p>
|
||||
<p>"它可以无限再生!"奥菲利亚惊呼。</p>
|
||||
<p>"那就攻击本体!"林克看向建筑物顶端的那只巨眼。</p>
|
||||
<p>但想要接近本体谈何容易。罗特斯的触手编织成了一张密不透风的网,任何试图靠近的人都会遭到无情的攻击。</p>
|
||||
<p>"艾伦!"林克喊道,"给我BUFF!"</p>
|
||||
<p>"明白!光之复仇!"</p>
|
||||
<p>艾伦将圣光注入林克体内,林克感到力量瞬间提升了数倍。同时,艾伦还施加了圣光守护,为林克提供了一层护盾。</p>
|
||||
<p>"维加!奥菲利亚!掩护我!"林克大喊。</p>
|
||||
<p>"收到!"</p>
|
||||
<p>维加和奥菲利亚从两侧发动攻击,吸引罗特斯的注意力。趁着这个机会,林克发动了冲锋。</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>林克如同一道闪电,冲破触手的包围,向上跃起。他踏着触手的表面,一步步向建筑物顶端攀登。</p>
|
||||
<p>罗特斯显然察觉到了林克的意图,更多的触手向他袭来。</p>
|
||||
<p>"流心·跃!流心·升!"</p>
|
||||
<p>林克在空中连续跳跃,每一次都精准地踩在触手的缝隙中。晨曦在空中划出一道道优美的弧线,斩断拦路的触手。</p>
|
||||
<p>他距离那只巨眼越来越近……</p>
|
||||
<p>就在这时,罗特斯发动了新的攻击。</p>
|
||||
<p>"精神……冲击!"</p>
|
||||
<p>一股无形的精神波动从巨眼中爆发,瞬间笼罩了整个战场。林克感到手环发出了刺耳的警报声,能量正在急速消耗!</p>
|
||||
<p>"啊——!"维加和奥菲利亚同时发出痛苦的叫声,他们抱住了头,跪倒在地。</p>
|
||||
<p>即使是艾伦,也露出了痛苦的表情。他的圣光守护虽然能抵挡一部分,但罗特斯的精神冲击太过强大。</p>
|
||||
<p>只有林克,因为手环的保护,还能保持清醒。但手环的能量正在飞速下降,指示灯已经从绿色变成了黄色。</p>
|
||||
<p>"不能……在这里停下……"林克咬紧牙关,继续向上攀登。</p>
|
||||
<p>他距离那只巨眼只有十几米了……</p>
|
||||
<p>突然,天空暗了下来。</p>
|
||||
<p>林克抬头看去,瞳孔骤然收缩——</p>
|
||||
<p>无数巨石从天而降,如同陨石雨一般砸向地面!</p>
|
||||
<p>这是罗特斯的另一个技能——落石攻击!</p>
|
||||
<p>"大家小心!"林克大喊。</p>
|
||||
<p>但已经来不及了。巨石砸向地面,激起漫天的尘土。艾伦勉强用圣光护盾保护住了维加和奥菲利亚,但他自己也受了伤。</p>
|
||||
<p>林克在空中无处躲避,一块巨石向他砸来!</p>
|
||||
<p>"可恶……!"</p>
|
||||
<p>千钧一发之际,林克将晨曦高举过头。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>他将全部的力量注入晨曦,剑身上的光芒达到了前所未有的亮度。然后,他挥出了决定性的一击——</p>
|
||||
<p>"拔刀斩!"</p>
|
||||
<p>一道巨大的光刃从晨曦的剑身上爆发,斩向那块巨石。</p>
|
||||
<p>轰——!</p>
|
||||
<p>巨石被一分为二,碎石四散飞溅。</p>
|
||||
<p>但这一击也耗尽了林克大量的体力。他在空中失去了平衡,开始向地面坠落。</p>
|
||||
<p>罗特斯当然不会放过这个机会。数根触手向坠落的林克缠来,试图将他彻底束缚。</p>
|
||||
<p>"林克!"艾伦大喊,"坚持住!"</p>
|
||||
<p>就在这千钧一发之际——</p>
|
||||
<p>晨曦突然发出了前所未有的耀眼光芒。</p>
|
||||
<p>那光芒如同太阳般璀璨,照亮了整个地下神殿。罗特斯的触手在光芒的照射下,发出嘶嘶的声响,仿佛被灼烧一般退缩。</p>
|
||||
<p>林克感到一股温暖的力量从剑身流入体内,恢复了他的体力。</p>
|
||||
<p>"这是……"林克惊讶地看着晨曦。</p>
|
||||
<p>剑身上的光芒比以往任何时候都要明亮。在罗特斯的巨大压迫下,晨曦似乎觉醒了某种更深层的潜力。</p>
|
||||
<p>林克感到,晨曦与他之间的联系,比以往任何时候都要紧密。</p>
|
||||
<p>"完全恢复……"林克喃喃自语,"晨曦完全恢复了!"</p>
|
||||
<p>是的,在罗特斯的巨大压力下,晨曦终于突破了最后的屏障,恢复到了百分之百的状态!</p>
|
||||
<p>剑身上的光芒如同实质,形成了一个光之护盾,将林克保护在其中。</p>
|
||||
<p>"罗特斯!"林克大喝一声,"你的末日到了!"</p>
|
||||
<p>他再次跃起,这一次,速度更快,力量更强。</p>
|
||||
<p>罗特斯疯狂地发动攻击,触手、精神冲击、落石,所有的技能都向林克袭来。但在完全恢复的晨曦面前,这些攻击都显得苍白无力。</p>
|
||||
<p>光之护盾抵挡住了所有的攻击,林克如同一颗流星,冲向那只巨眼。</p>
|
||||
<p>"不……不可能……"罗特斯的声音中第一次出现了恐惧,"那把剑……那把剑是……!"</p>
|
||||
<p>"结束了,罗特斯!"</p>
|
||||
<p>林克来到了巨眼的正前方,双手握住晨曦,将全部的意志和力量都注入这一击。</p>
|
||||
<p>"里·鬼剑术——最终式!"</p>
|
||||
<p>晨曦化作一道贯穿天地的光柱,刺入了罗特斯的巨眼。</p>
|
||||
<p>轰——!!!</p>
|
||||
<p>巨大的爆炸声响彻整个天帷巨兽。</p>
|
||||
<p>罗特斯发出了一声凄厉的惨叫,那声音中充满了不甘和愤怒。它的身体开始崩解,触手一根根断裂,化作黑色的烟雾消散。</p>
|
||||
<p>"我……不会……就此消亡……"罗特斯的声音越来越弱,"只要……使徒……还存在……这个世界……终将……毁灭……"</p>
|
||||
<p>最后,那只巨眼缓缓闭上,然后彻底消散。</p>
|
||||
<p>第八使徒,长脚·罗特斯——被击败了。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束后,林克跪倒在地,大口喘息着。</p>
|
||||
<p>晨曦的光芒渐渐收敛,但依然散发着温暖的气息。剑身上那些曾经的裂痕和暗淡,已经完全消失,取而代之的是一种纯净的、近乎神圣的光芒。</p>
|
||||
<p>"林克!"艾伦冲了过来,"你没事吧?"</p>
|
||||
<p>"我……没事……"林克勉强笑了笑,"只是……有点累……"</p>
|
||||
<p>奥菲利亚和维加也走了过来,他们的脸上都写满了劫后余生的庆幸。</p>
|
||||
<p>"我们……真的做到了……"奥菲利亚看着消散的罗特斯,眼中含着泪水,"GBL教的诅咒……终于解除了……"</p>
|
||||
<p>"不,还没有完全解除。"艾伦严肃地说,"罗特斯虽然被击败,但它的精神污染还残留在天帷巨兽上。我们需要时间来净化这一切。"</p>
|
||||
<p>"但至少,最大的威胁已经消除了。"维加说,"天帷巨兽不会再坠落了。"</p>
|
||||
<p>林克站起身,看着手中的晨曦。</p>
|
||||
<p>"晨曦……"他轻声说,"谢谢你。"</p>
|
||||
<p>剑身微微颤动,仿佛在回应他的感谢。</p>
|
||||
<p>"我们回家吧。"林克说,"赛丽亚还在等我们。"</p>
|
||||
<p>"嗯。"艾伦点头,"回去吧。"</p>
|
||||
<p>四人转身,朝着出口走去。</p>
|
||||
<p>天帷巨兽篇,终于画上了句号。</p>
|
||||
<p>但林克知道,这只是开始。罗特斯临死前的话还在他耳边回响——"只要使徒还存在,这个世界终将毁灭"。</p>
|
||||
<p>使徒……还有其他使徒存在。</p>
|
||||
<p>林克握紧了晨曦。无论未来有什么挑战在等待着他,他都会勇敢面对。</p>
|
||||
<p>因为他是剑魂。</p>
|
||||
<p>因为他是林克。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十六章完)</p>
|
||||
<p>(天帷巨兽篇 完结)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-25.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-27.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter current">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(26)) {
|
||||
readChapters.push(26);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
579
alacarte-novel-website/chapters/chapter-27.html
Normal file
579
alacarte-novel-website/chapters/chapter-27.html
Normal file
@ -0,0 +1,579 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 27</div>
|
||||
<h1 class="chapter-title">重逢的温柔</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>西海岸的黄昏,是金色的。</p>
|
||||
<p>夕阳的余晖洒在港口的石板路上,给这座海边城市披上了一层温暖的光晕。海风带着咸湿的气息,轻轻拂过行人的脸庞。</p>
|
||||
<p>林克站在"月光酒馆"的门口,深吸了一口气。</p>
|
||||
<p>三天前,他击败了罗特斯,终结了天帷巨兽的危机。他和艾伦、奥菲利亚、维加一起,护送着疲惫的身心回到了西海岸。</p>
|
||||
<p>现在,他只想见一个人。</p>
|
||||
<p>赛丽亚。</p>
|
||||
<p>推开旅馆的门,熟悉的薰衣草香味扑面而来。这是赛丽亚身上的味道,让他感到无比安心。</p>
|
||||
<p>"欢迎光……"</p>
|
||||
<p>柜台后的少女抬起头,话说到一半就停住了。</p>
|
||||
<p>时间仿佛在这一刻静止。</p>
|
||||
<p>赛丽亚的眼睛先是睁大,然后迅速泛起水光。她的嘴唇颤抖着,想要说什么,却发不出声音。</p>
|
||||
<p>林克看着她,心中涌起一股难以言喻的情感。</p>
|
||||
<p>这个少女,在他最困难的时候救助了他,陪伴他走过无数的冒险。当他面对使徒的时候,是她在他心中给了他力量。</p>
|
||||
<p>而现在,她就站在他面前,眼泪已经止不住地流了下来。</p>
|
||||
<p>"林……林克……"赛丽亚终于喊出了他的名字,声音哽咽。</p>
|
||||
<p>下一瞬间,她已经冲出了柜台,扑进了林克的怀里。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克紧紧抱住了她。</p>
|
||||
<p>赛丽亚的身体在他怀中颤抖,眼泪打湿了他的衣襟。她的双臂紧紧环住他的腰,仿佛生怕他会再次消失。</p>
|
||||
<p>"我回来了……"林克轻声说,下巴抵在她的发顶。</p>
|
||||
<p>"你……你吓死我了……"赛丽亚的声音闷闷的,带着哭腔,"我每天都在担心……担心你会像爸爸说的那样……死在使徒手里……"</p>
|
||||
<p>"我不会死的。"林克收紧了手臂,"我答应过你,我会活着回来。"</p>
|
||||
<p>赛丽亚抬起头,泪眼朦胧地看着他。</p>
|
||||
<p>夕阳的光芒从窗户照进来,给两人的轮廓镀上了一层金边。赛丽亚的脸在泪水的浸润下显得更加楚楚动人,那双湖绿色的眼眸中满是依恋和深情。</p>
|
||||
<p>林克的心猛地跳了一下。</p>
|
||||
<p>他缓缓低下头,赛丽亚也没有躲开。两人的脸越来越近,呼吸交织在一起。</p>
|
||||
<p>然后,他们的嘴唇轻轻触碰。</p>
|
||||
<p>那是一个温柔的、小心翼翼的吻。</p>
|
||||
<p>赛丽亚的嘴唇柔软而温暖,带着淡淡的甜味。林克感到自己的心跳快得像是要跳出胸膛。</p>
|
||||
<p>这个吻持续了很久,久到两人都忘记了呼吸。</p>
|
||||
<p>当他们终于分开时,赛丽亚的脸已经红得像熟透的苹果。她低下头,不敢看林克的眼睛。</p>
|
||||
<p>"我……我去给你准备洗澡水……"她小声说着,想要逃走。</p>
|
||||
<p>但林克拉住了她的手。</p>
|
||||
<p>"赛丽亚。"他的声音低沉而认真,"让我抱你一会儿。"</p>
|
||||
<p>赛丽亚停止了挣扎,顺从地靠回他的怀里。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>赛丽亚的房间在旅馆的二楼,是一个小而温馨的空间。</p>
|
||||
<p>房间里弥漫着薰衣草的香气,床上铺着干净的白色床单,窗台上摆着几盆盛开的小花。</p>
|
||||
<p>林克坐在床沿,赛丽亚跪坐在他面前,正在为他检查身上的伤口。</p>
|
||||
<p>"这里……还有这里……"赛丽亚的手指轻轻触碰林克身上的淤青,眉头紧皱,"罗特斯那么厉害吗?"</p>
|
||||
<p>"嗯。"林克点头,"比我想象的还要强。如果不是晨曦在最后觉醒,我可能真的回不来。"</p>
|
||||
<p>赛丽亚的手停在了他的胸口,那里有一道浅浅的伤疤,是触手留下的痕迹。</p>
|
||||
<p>"疼吗?"她轻声问。</p>
|
||||
<p>"现在不疼了。"林克握住她的手,"你的治愈术很有效。"</p>
|
||||
<p>赛丽亚抬起头,两人的目光再次交汇。</p>
|
||||
<p>这一次,空气变得有些不同了。</p>
|
||||
<p>房间里很安静,只有两人的呼吸声和窗外传来的海浪声。夕阳已经完全落下,房间被昏黄的灯光笼罩。</p>
|
||||
<p>赛丽亚的脸依然红着,但她的眼神变得更加大胆了一些。</p>
|
||||
<p>"林克……"她轻声唤他,"我……我想确认……你是真实存在的……"</p>
|
||||
<p>她的手缓缓上移,抚上了林克的脸颊。</p>
|
||||
<p>林克感到一股热流从心底涌起。他看着眼前这个为他担心、为他流泪的少女,心中充满了想要保护她、拥有她的冲动。</p>
|
||||
<p>"赛丽亚……"他低声说,"可以吗?"</p>
|
||||
<p>赛丽亚没有回答,只是缓缓点了点头,然后闭上了眼睛。</p>
|
||||
<p>那是一个默许的姿态。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>林克轻轻将她拥入怀中,低下头吻住了她的唇。</p>
|
||||
<p>这一次,吻不再是试探性的轻触,而是更加深入、更加热烈的交融。</p>
|
||||
<p>赛丽亚生涩地回应着他,双手攀上了他的肩膀。她的身体在微微颤抖,既是因为紧张,也是因为期待。</p>
|
||||
<p>林克的手缓缓下移,抚上了她的腰肢。隔着薄薄的衣裙,他能感受到她肌肤的温热和柔软。</p>
|
||||
<p>"嗯……"赛丽亚发出一声轻哼,身体更加贴近了他。</p>
|
||||
<p>这个声音像是点燃了一把火。林克的理智在这一刻彻底崩溃。</p>
|
||||
<p>他将赛丽亚压倒在床上,手指解开了她衣裙的系带。淡绿色的衣裙滑落,露出她白皙的肌肤和纤细的肩膀。</p>
|
||||
<p>赛丽亚害羞地想要遮掩,但林克握住了她的手。</p>
|
||||
<p>"你很美。"他低声说,声音沙哑。</p>
|
||||
<p>赛丽亚的脸红得快要滴血,但她没有拒绝。</p>
|
||||
<p>林克俯下身,吻落在她的额头、眼睛、鼻尖,最后停在她的唇上。他的手在她身上游走,带来一阵阵颤栗。</p>
|
||||
<p>"林克……"赛丽亚喘息着,"我……我第一次……"</p>
|
||||
<p>"我知道。"林克温柔地说,"我会轻一点的。"</p>
|
||||
<p>他褪去了两人的衣物,肌肤相贴的温度让两人都倒吸一口冷气。</p>
|
||||
<p>赛丽亚的身体如同最上等的丝绸,光滑而柔软。林克小心翼翼地进入,赛丽亚咬住了嘴唇,手指紧紧抓住床单。</p>
|
||||
<p>疼痛让她皱起了眉头,但林克的温柔抚触很快让她放松下来。</p>
|
||||
<p>随着节奏的建立,疼痛逐渐被另一种感觉取代。那是一种奇妙的、让人迷醉的愉悦。</p>
|
||||
<p>赛丽亚开始主动回应,她的双腿环住了林克的腰,双手紧紧抱着他的背。</p>
|
||||
<p>房间里只剩下喘息声和肌肤碰撞的声音,以及窗外轻柔的海浪声。</p>
|
||||
<p>在这个温馨的夜晚,两个年轻的灵魂终于完全融合在了一起。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>事后,两人相拥而眠。</p>
|
||||
<p>赛丽亚蜷缩在林克的怀里,脸上带着满足的红晕。她的手指在林克的胸口画着圈,听着他平稳的心跳。</p>
|
||||
<p>"林克……"她轻声说,"我好开心。"</p>
|
||||
<p>"我也是。"林克吻了吻她的发顶。</p>
|
||||
<p>"以后……你会一直陪在我身边吗?"</p>
|
||||
<p>"会的。"林克紧紧抱住她,"无论去哪里,我都会带着你。"</p>
|
||||
<p>赛丽亚笑了,那笑容如同春日里最温暖的阳光。</p>
|
||||
<p>"那我等你……等你变得更强大……强大到可以保护我们所有人。"</p>
|
||||
<p>林克看着窗外的月光,心中暗暗发誓。</p>
|
||||
<p>是的,他会变得更强大。</p>
|
||||
<p>为了保护怀中的这个少女,为了守护这个他们共同生活的世界。</p>
|
||||
<p>冒险,还将继续。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十七章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-26.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-28.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter current">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(27)) {
|
||||
readChapters.push(27);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
610
alacarte-novel-website/chapters/chapter-28.html
Normal file
610
alacarte-novel-website/chapters/chapter-28.html
Normal file
@ -0,0 +1,610 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 28</div>
|
||||
<h1 class="chapter-title">暗精灵的委托</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>清晨的阳光透过窗帘的缝隙洒进房间,在地板上投下斑驳的光影。</p>
|
||||
<p>林克睁开眼睛,发现自己怀中还抱着一个温软的身躯。</p>
|
||||
<p>赛丽亚还在熟睡,她的脸颊贴着他的胸膛,嘴角带着一丝满足的微笑。阳光照在她金色的长发上,像是镀了一层淡淡的光晕。</p>
|
||||
<p>昨晚的记忆如潮水般涌来。</p>
|
||||
<p>那温柔的触感,那迷醉的喘息,那融为一体的瞬间……林克感到心跳又加快了。</p>
|
||||
<p>他低下头,轻轻吻了吻赛丽亚的额头。</p>
|
||||
<p>"唔……"赛丽亚动了动,缓缓睁开了眼睛。当她看到林克正注视着她时,脸瞬间红了。</p>
|
||||
<p>"早……早上好……"她小声说,把脸埋进了他的怀里。</p>
|
||||
<p>"早上好。"林克笑着抱紧了她,"昨晚睡得好吗?"</p>
|
||||
<p>"还……还好……"赛丽亚的声音闷闷的,但林克能感觉到她脸上的温度。</p>
|
||||
<p>两人在床上温存了一会儿,直到门外传来敲门声。</p>
|
||||
<p>"林克,赛丽亚,你们醒了吗?"是奥菲利亚的声音。</p>
|
||||
<p>赛丽亚吓了一跳,赶紧从林克怀里挣脱出来,手忙脚乱地穿衣服。</p>
|
||||
<p>"我们……我们马上出来!"她喊道,声音有些慌乱。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>旅馆的大厅里,艾伦和奥菲利亚已经在等着了。</p>
|
||||
<p>看到林克和赛丽亚手牵手走下楼,奥菲利亚的眼神闪烁了一下,但很快恢复了正常。</p>
|
||||
<p>"早安,各位。"林克打招呼。</p>
|
||||
<p>"早安。"艾伦微笑着说,他的目光在林克和赛丽亚之间扫过,露出一个意味深长的笑容。</p>
|
||||
<p>显然,这位圣骑士察觉到了什么。</p>
|
||||
<p>"今天有什么安排吗?"林克问。</p>
|
||||
<p>"莎兰会长让我们去一趟魔法师公会。"奥菲利亚说,"她说有重要的事情要告诉我们。"</p>
|
||||
<p>林克点点头:"那就去吧。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>西海岸的魔法师公会坐落在海边的一座高塔中。</p>
|
||||
<p>当林克一行人走进公会大厅时,莎兰已经在等他们了。</p>
|
||||
<p>今天的莎兰穿着一件紫色的长袍,勾勒出她成熟丰腴的身材。看到林克,她的嘴角微微上扬,露出一个优雅而神秘的微笑。</p>
|
||||
<p>"欢迎,年轻的剑魂。"莎兰的声音如同丝绸般柔滑,"还有他的……同伴们。"</p>
|
||||
<p>她的目光在赛丽亚身上停留了一瞬,眼中闪过一丝难以捉摸的神色。</p>
|
||||
<p>"莎兰会长,您找我们有什么事?"林克问。</p>
|
||||
<p>"是关于暗黑城的事。"莎兰的表情变得严肃,"暗精灵的女王派来了使者,请求冒险家的帮助。"</p>
|
||||
<p>"暗黑城?"艾伦皱眉,"暗精灵的国度?"</p>
|
||||
<p>"是的。"莎兰点头,"最近暗黑城出现了异变。邪龙斯皮兹的封印开始松动,暗精灵们需要强大的冒险家去调查并加固封印。"</p>
|
||||
<p>"邪龙斯皮兹?"林克问。</p>
|
||||
<p>"一条死亡之龙。"莎兰解释,"数百年前,暗精灵们付出了巨大的代价才将它肢解封印。但现在,封印似乎出现了问题。"</p>
|
||||
<p>她走到林克面前,距离近到林克能闻到她身上淡淡的紫罗兰香味。</p>
|
||||
<p>"我推荐了你,林克。"莎兰轻声说,手指轻轻拂过他的肩膀,"毕竟,能够击败第八使徒的剑魂,可不多见。"</p>
|
||||
<p>她的手指冰凉而柔软,触感让林克微微一怔。</p>
|
||||
<p>赛丽亚站在一旁,看到这一幕,微微皱起了眉头。</p>
|
||||
<p>"我们接受这个任务。"林克说,"什么时候出发?"</p>
|
||||
<p>"明天。"莎兰退后一步,恢复了优雅的姿态,"今晚你们可以在公会休息。我会为你们准备好需要的东西。"</p>
|
||||
<p>她转向赛丽亚,嘴角带着意味深长的笑容:"当然,如果你不放心你的……男朋友,也可以在这里陪着他。"</p>
|
||||
<p>赛丽亚脸一红,握紧了林克的手:"我当然要陪着他。"</p>
|
||||
<p>"呵呵,真是可爱。"莎兰轻笑,"那么,请跟我来吧。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>在前往魔法师公会之前,维加找到了林克。</p>
|
||||
<p>"林克,我有话想对你说。"维加的表情有些复杂,"罗特斯已经被击败,GBL教的诅咒也解除了。我……我想我该走了。"</p>
|
||||
<p>"走?"林克一愣,"你要去哪里?"</p>
|
||||
<p>"回天帷巨兽。"维加的目光望向远方,"奥菲利亚会跟着你们继续冒险,但我……我需要留下来重建GBL教。那些还被精神污染影响的教友需要有人引导,而且邪龙封印的事情也需要调查。"</p>
|
||||
<p>他伸出手,握住了林克的手:"谢谢你,林克。如果没有你,我至今还被罗特斯控制,成为一具行尸走肉。"</p>
|
||||
<p>林克回握住他的手:"是我应该谢谢你。没有你的帮助,我们不可能击败罗特斯。"</p>
|
||||
<p>"照顾好奥菲利亚。"维加看了一眼不远处的奥菲利亚,轻声说,"她是个好女孩,只是经历了很多苦难。"</p>
|
||||
<p>"我会的。"</p>
|
||||
<p>维加点点头,然后转身离去。他的背影在阳光下显得有些孤独,但也带着一丝解脱。</p>
|
||||
<p>林克目送着他离开,心中默默祝愿这位曾经的敌人、短暂的朋友一路平安。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>莎兰为每个人安排了房间。</p>
|
||||
<p>林克和赛丽亚的房间在塔的三层,窗户正对着大海。夕阳西下,海面被染成了一片金红色。</p>
|
||||
<p>"莎兰会长……好像对你有意思。"赛丽亚坐在床边,小声说。</p>
|
||||
<p>林克一愣:"有吗?"</p>
|
||||
<p>"当然有了!"赛丽亚鼓起脸颊,"她看你的眼神,还有她碰你的样子……我都看到了。"</p>
|
||||
<p>林克坐到她身边,搂住她的肩膀:"吃醋了?"</p>
|
||||
<p>"才……才没有……"赛丽亚别过脸,但耳朵却红了。</p>
|
||||
<p>林克笑着把她的脸转过来,在她唇上印下一个吻。</p>
|
||||
<p>"不管别人怎么样,我只喜欢你。"他认真地说。</p>
|
||||
<p>赛丽亚的眼神软了下来,她靠在林克怀里,轻轻点了点头。</p>
|
||||
<p>"我也……只喜欢你。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>夜幕降临,魔法师公会陷入了宁静。</p>
|
||||
<p>林克独自一人在走廊上散步,消化着晚餐。明天就要前往暗黑城了,他需要让自己的状态保持最佳。</p>
|
||||
<p>当他经过公会顶层的露台时,看到了一个熟悉的身影。</p>
|
||||
<p>是奥菲利亚。</p>
|
||||
<p>她独自站在栏杆边,望着远方的海面,背影显得 lonely而单薄。</p>
|
||||
<p>林克犹豫了一下,还是走了过去。</p>
|
||||
<p>"奥菲利亚,怎么一个人在这里?"</p>
|
||||
<p>奥菲利亚转过身,看到是林克,眼中闪过一丝惊讶,然后变成了复杂的神色。</p>
|
||||
<p>"林克……"她轻声说,"我……我想一个人静一静。"</p>
|
||||
<p>林克察觉到她的情绪有些不对:"发生什么事了吗?"</p>
|
||||
<p>奥菲利亚沉默了许久,然后深深吸了一口气,像是下定了什么决心。</p>
|
||||
<p>"林克,我……我有话想对你说。"</p>
|
||||
<p>她转过身,直视着林克的眼睛。月光下,她的眼眶有些泛红。</p>
|
||||
<p>"从你在神殿外围救下我的那一刻起,我就……我就喜欢上你了。"</p>
|
||||
<p>林克愣住了。</p>
|
||||
<p>"我知道这很唐突,我也知道你和赛丽亚小姐……"奥菲利亚的声音有些颤抖,"但是,我不想把这份感情藏在心里。我想让你知道,在这个世界上,有一个人一直默默地喜欢着你、崇拜着你。"</p>
|
||||
<p>她向前走了两步,站在林克面前,仰头看着他。</p>
|
||||
<p>"林克,我……我可以做你的女朋友吗?哪怕……只是之一?"</p>
|
||||
<p>海风轻轻吹过,带来咸湿的气息。</p>
|
||||
<p>林克看着眼前这个勇敢的少女,心中涌起一股复杂的情感。</p>
|
||||
<p>他伸出手,轻轻擦去了她眼角的泪水。</p>
|
||||
<p>"奥菲利亚……"他轻声说,"我很感谢你的心意。但是,赛丽亚她……"</p>
|
||||
<p>"我知道!"奥菲利亚打断了他,"我知道赛丽亚小姐对你很重要!我也没有想要取代她的位置!我只是……只是想要陪在你身边,哪怕只是作为一个普通的队友也好……"</p>
|
||||
<p>她的眼泪终于夺眶而出。</p>
|
||||
<p>林克叹了口气,将她拥入怀中。</p>
|
||||
<p>"别哭了。"他轻声说,"我不会赶你走的。你愿意留在队伍里,我很欢迎。"</p>
|
||||
<p>奥菲利亚在他怀里抽泣着,双手紧紧抓住他的衣襟。</p>
|
||||
<p>"真的吗?"</p>
|
||||
<p>"真的。"林克点头,"但是,关于感情的事……我需要时间考虑,也需要和赛丽亚商量。"</p>
|
||||
<p>奥菲利亚抬起头,泪眼朦胧地看着他,然后露出一个带着泪水的笑容。</p>
|
||||
<p>"好……我等你。"</p>
|
||||
<p>她踮起脚尖,在林克的脸上轻轻吻了一下,然后红着脸跑开了。</p>
|
||||
<p>林克愣在原地,摸着被吻的脸颊,苦笑了一声。</p>
|
||||
<p>"这下麻烦了……"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>第二天一早,一行人准备出发前往暗黑城。</p>
|
||||
<p>莎兰亲自送他们到门口,递给林克一个卷轴。</p>
|
||||
<p>"这是暗精灵墓地的地图,还有四个骷髅将军的位置。"她说,"只有集齐四把钥匙,才能进入封印邪龙的核心区域。"</p>
|
||||
<p>"谢谢。"林克接过卷轴。</p>
|
||||
<p>莎兰却没有立即松手,而是凑近了些,在他耳边轻声说:"完成任务后,记得回来找我。我……有一些私人的事情想和你谈谈。"</p>
|
||||
<p>她的气息拂过林克的耳畔,带来一阵酥麻的感觉。</p>
|
||||
<p>"好……好的。"林克有些不自然地回答。</p>
|
||||
<p>莎兰退后一步,嘴角带着意味深长的笑容:"那么,祝你们好运。"</p>
|
||||
<p>队伍出发了。</p>
|
||||
<p>林克回头看了一眼,发现莎兰还站在门口,目光追随着他的背影。</p>
|
||||
<p>而他身边,赛丽亚和奥菲利亚一左一右地跟着他,气氛微妙而复杂。</p>
|
||||
<p>林克叹了口气,感到未来的道路似乎比想象中更加……有趣。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十八章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-27.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-29.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter current">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(28)) {
|
||||
readChapters.push(28);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
577
alacarte-novel-website/chapters/chapter-29.html
Normal file
577
alacarte-novel-website/chapters/chapter-29.html
Normal file
@ -0,0 +1,577 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 29</div>
|
||||
<h1 class="chapter-title">阿法利亚营地</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>阿法利亚营地坐落在高山之巅。</p>
|
||||
<p>这里是贝尔玛尔公国在边境设立的重要据点,也是通往暗黑城的必经之路。营地周围云雾缭绕,远处的山脉如同巨龙般蜿蜒起伏。</p>
|
||||
<p>林克一行人抵达时,正值黄昏时分。夕阳将营地染成一片金红色,士兵们在营地中来回巡逻,气氛紧张而肃穆。</p>
|
||||
<p>"这里就是阿法利亚营地……"赛丽亚紧挨着林克,好奇地打量着四周,"比我想象的要大很多。"</p>
|
||||
<p>"毕竟是对抗暗精灵王国的前哨站。"艾伦说,"虽然现在是合作关系,但谁知道明天会发生什么呢?"</p>
|
||||
<p>奥菲利亚走在林克的另一侧,目光时不时飘向他。自从昨晚的告白后,她变得更加大胆了,经常故意找各种理由靠近林克。</p>
|
||||
<p>"林克,我有点累,可以扶着我吗?"她轻声说,脸上带着一丝羞涩。</p>
|
||||
<p>还没等林克回答,赛丽亚就抢先一步挽住了林克的手臂:"奥菲利亚小姐,累了的话可以让艾伦扶着你,林克要扶着我呢。"</p>
|
||||
<p>奥菲利亚的笑容僵了一下:"可是……"</p>
|
||||
<p>"我没事的,赛丽亚小姐。"奥菲利亚勉强维持着微笑,"我只是想和林克说说话。"</p>
|
||||
<p>"那等会儿再说吧,现在林克是我的男朋友。"赛丽亚把林克的手臂抱得更紧了,像是在宣示主权。</p>
|
||||
<p>林克夹在两个少女中间,感到一阵头疼。</p>
|
||||
<p>"好了好了,我们先去办正事。"他试图打圆场,"找克伦特要紧。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>克伦特是暗精灵王室的传令使,负责与人类方面的联络。</p>
|
||||
<p>当林克找到他时,这位暗精灵正站在营地边缘,望着远方的暗黑城方向,神情凝重。</p>
|
||||
<p>克伦特有着暗精灵标志性的深色皮肤和银白色长发,身穿暗精灵王室的制服,腰间挂着代表王室身份的徽章。</p>
|
||||
<p>"你们就是莎兰会长推荐的冒险家?"克伦特转过身,锐利的目光在林克身上打量,"看起来……比我想象的要年轻。"</p>
|
||||
<p>"年龄不代表实力。"林克平静地说,"我们已经击败了罗特斯。"</p>
|
||||
<p>听到"罗特斯"三个字,克伦特的眼神变了。</p>
|
||||
<p>"第八使徒……你们真的做到了?"他的声音中带着惊讶,"那可是连暗精灵王室都头疼的存在。"</p>
|
||||
<p>"侥幸而已。"林克谦虚道,"我们来这里,是为了邪龙斯皮兹的事。"</p>
|
||||
<p>克伦特的表情变得严肃起来:"跟我来,这里不是说话的地方。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>克伦特的帐篷里,墙上挂满了地图和各种情报。</p>
|
||||
<p>"事情是这样的。"克伦特指着一张地图说道,"最近诺伊佩拉地区出现了严重的传染病,很多暗精灵都被感染变成了怪物。"</p>
|
||||
<p>"传染病?"艾伦皱眉,"是瘟疫吗?"</p>
|
||||
<p>"比瘟疫更可怕。"克伦特摇头,"被感染的暗精灵会失去理智,变成只知道攻击的丧尸。而且……这种传染病似乎与邪龙斯皮兹的封印松动有关。"</p>
|
||||
<p>他叹了口气:"我们的炼金术大师摩根为了调查传染病的根源,独自一人去了浅栖之地。但……他已经很久没有消息了。"</p>
|
||||
<p>"浅栖之地?"林克问。</p>
|
||||
<p>"诺伊佩拉地区的一处地下洞穴,原本是暗精灵的墓地,现在被感染者占据了。"克伦特从抽屉里拿出一张卷轴,"这是浅栖之地的地图,摩根最后出现的位置在这里。"</p>
|
||||
<p>林克接过地图,仔细查看。</p>
|
||||
<p>"我们会找到摩根的。"他说。</p>
|
||||
<p>克伦特点点头,眼中闪过一丝感激:"拜托了。摩根不仅是炼金术大师,也是我的挚友。如果他出了什么事……"</p>
|
||||
<p>他没有说下去,但林克明白他的意思。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>离开克伦特的帐篷时,天色已经完全暗了下来。</p>
|
||||
<p>营地里点燃了篝火,士兵们三三两两地聚在一起,低声交谈着。远处的暗黑城在月光下显得神秘而阴森。</p>
|
||||
<p>"林克,今晚我们住哪里?"赛丽亚问,她依然紧紧挽着林克的手臂,仿佛在防备奥菲利亚。</p>
|
||||
<p>"克伦特已经为我们安排了帐篷。"林克说,"在营地的东侧。"</p>
|
||||
<p>"帐篷……"奥菲利亚眼睛一亮,"林克,我和你住一个帐篷吧,这样比较安全。"</p>
|
||||
<p>"不行!"赛丽亚立刻反对,"林克要和我住一起!"</p>
|
||||
<p>"可是……"奥菲利亚低下头,声音变得柔弱,"我害怕……这里离暗黑城这么近,晚上可能会有怪物……"</p>
|
||||
<p>赛丽亚咬了咬嘴唇,显然有些动摇,但她还是坚持:"那……那林克可以保护我们两个,我们三个人住一个帐篷!"</p>
|
||||
<p>"三个人?"林克苦笑,"帐篷没那么大吧……"</p>
|
||||
<p>"可以的!"赛丽亚和奥菲利亚异口同声。</p>
|
||||
<p>然后两人对视一眼,又同时扭过头去。</p>
|
||||
<p>艾伦在一旁看着这一幕,忍不住笑出了声:"林克,你的桃花运真好。"</p>
|
||||
<p>林克瞪了他一眼:"你要不要也来凑个热闹?"</p>
|
||||
<p>"不了不了,我还是一个人睡吧。"艾伦赶紧摆手,"圣骑士需要保持纯洁。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>最终,林克、赛丽亚和奥菲利亚住进了同一个帐篷。</p>
|
||||
<p>帐篷比想象中要大一些,中间用布帘隔成了两个区域。林克睡中间,赛丽亚和奥菲利亚分别睡在两侧。</p>
|
||||
<p>但显然,两个少女都不满意这个安排。</p>
|
||||
<p>"林克,我可以过去和你睡吗?"赛丽亚小声说,"我害怕……"</p>
|
||||
<p>"林克,我也想过去……"奥菲利亚也不甘示弱。</p>
|
||||
<p>林克躺在中间,左右为难。</p>
|
||||
<p>"都别过来。"他无奈地说,"明天还要战斗,需要休息。"</p>
|
||||
<p>两个少女同时"哼"了一声,然后各自转过身去。</p>
|
||||
<p>帐篷里陷入了沉默,只有外面的风声和远处的虫鸣。</p>
|
||||
<p>过了许久,林克以为她们都睡着了,正准备闭上眼睛时,他感到有人钻进了他的被窝。</p>
|
||||
<p>是赛丽亚。</p>
|
||||
<p>她像只小猫一样蜷缩在林克怀里,脸颊贴着他的胸膛。</p>
|
||||
<p>"林克……"她轻声说,"我知道奥菲利亚喜欢你,但我不会把她让给你的。"</p>
|
||||
<p>林克抚摸着她的头发:"我知道。"</p>
|
||||
<p>"你是我的。"赛丽亚抬起头,在黑暗中看着他的眼睛,"谁也抢不走。"</p>
|
||||
<p>然后她主动吻上了他的唇。</p>
|
||||
<p>这个吻温柔而缠绵,带着一丝宣示主权的意味。</p>
|
||||
<p>当他们分开时,赛丽亚的脸上带着满足的笑容。</p>
|
||||
<p>"晚安,我的骑士。"她在林克怀里找了个舒服的位置,很快就睡着了。</p>
|
||||
<p>林克看着怀中的少女,又看了看布帘另一侧的奥菲利亚,心中暗暗叹了口气。</p>
|
||||
<p>这后宫之路,看来还很长啊。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>第二天一早,队伍整装待发。</p>
|
||||
<p>克伦特亲自来送行,递给他们一张通行证:"这是进入诺伊佩拉地区的凭证。记住,如果找到摩根……无论他变成什么样,都请带他回来。"</p>
|
||||
<p>"我们会的。"林克点头。</p>
|
||||
<p>"还有……"克伦特犹豫了一下,压低声音说,"小心夏普伦长老。他主张与人类开战,对梅娅女王的和平政策很不满。你们在这里的一举一动,都可能被他盯上。"</p>
|
||||
<p>"夏普伦?"</p>
|
||||
<p>"暗精灵的长老,王室的顾问。"克伦特的表情凝重,"他一直反对与人类合作,如果让他抓到把柄,可能会对梅娅女王不利。"</p>
|
||||
<p>林克明白了:"我们会小心的。"</p>
|
||||
<p>队伍出发了,朝着浅栖之地的方向前进。</p>
|
||||
<p>赛丽亚和奥菲利亚一左一右地跟在林克身边,虽然还有些互相看不顺眼,但至少没有再争吵。</p>
|
||||
<p>艾伦走在最后,看着前面三人的背影,笑着摇了摇头。</p>
|
||||
<p>暗黑城的冒险,正式开始了。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第二十九章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-28.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-30.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter current">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(29)) {
|
||||
readChapters.push(29);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
631
alacarte-novel-website/chapters/chapter-3.html
Normal file
631
alacarte-novel-website/chapters/chapter-3.html
Normal file
@ -0,0 +1,631 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 3</div>
|
||||
<h1 class="chapter-title">幽暗密林</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>清晨的训练比往常更加艰苦。</p>
|
||||
<p>阿甘左让林克绕着艾尔文防线跑完了十圈,然后是五百次挥剑。当太阳完全升起时,林克已经累得抬不起手臂。</p>
|
||||
<p>"今天的训练结束了。"阿甘左说,"但真正的考验才刚刚开始。"</p>
|
||||
<p>林克喘着粗气,抬起头:"什么意思?"</p>
|
||||
<p>"幽暗密林。"阿甘左转身看向北边的森林,"格兰之森的入口。从现在开始,你要去那里修炼。"</p>
|
||||
<p>"幽暗密林……"林克喃喃自语。他听林纳斯提起过,那里是格兰之森的外围区域,栖息着一种叫做猫妖的怪物。</p>
|
||||
<p>"有问题?"</p>
|
||||
<p>"没有。"林克握紧新得的太刀,"什么时候出发?"</p>
|
||||
<p>"现在。"</p>
|
||||
<p>---</p>
|
||||
<p>格兰之森位于艾尔文防线的北边,是一片广袤无垠的原始森林。相传数千年前,这里曾经是精灵族的领地,但如今只剩下茂密的树木和危险的怪物。</p>
|
||||
<p>林克踏入森林的那一刻,立刻感受到了不同。</p>
|
||||
<p>空气变得潮湿起来,带着一股腐败落叶的气味。阳光被树冠完全遮挡,林子里暗得像是黄昏。脚下的土地湿软泥泞,每走一步都会陷入半寸深的腐殖质。</p>
|
||||
<p>"跟紧我。"阿甘左的声音从前面传来,"幽暗密林在格兰之森深处,离这里还有很远。"</p>
|
||||
<p>林克应了一声,快步跟上。</p>
|
||||
<p>一路上的怪物比洛兰多得多。哥布林自不必说,还有体型更大的牛头人、能够飞行的猫头鹰,以及一些叫不出名字的奇怪生物。但阿甘左似乎没有兴趣清理它们,只是带着林克绕开怪物密集的区域。</p>
|
||||
<p>"为什么不打?"林克问。</p>
|
||||
<p>"你的目标是幽暗密林。"阿甘左说,"路上这些杂碎不值得浪费时间。"</p>
|
||||
<p>林克点点头,继续前行。</p>
|
||||
<p>---</p>
|
||||
<p>当他们到达幽暗密林时,太阳已经偏西。</p>
|
||||
<p>入口是一片茂密的灌木丛,灌木丛后面是一条蜿蜒的小路。小路的两旁长满了高耸入云的古树,枝叶交织在一起,形成了一道绿色的穹顶。</p>
|
||||
<p>"就是这里。"阿甘左停下脚步,"进去吧。"</p>
|
||||
<p>林克看着那条幽暗的小路,心里突然涌起一种不安的感觉。</p>
|
||||
<p>"师父……"</p>
|
||||
<p>"叫我阿甘左。"男人打断他,"师父这个词太正式了,我不习惯。"</p>
|
||||
<p>"好吧。"林克深吸一口气,"阿甘左,如果我出不来了……"</p>
|
||||
<p>"不会有那种事。"阿甘左说,"但如果你死了,我会帮你收尸的。"</p>
|
||||
<p>林克愣了一下,然后笑了。</p>
|
||||
<p>"谢了。"</p>
|
||||
<p>他迈步走进幽暗密林。</p>
|
||||
<p>---</p>
|
||||
<p>林子里的光线比外面更暗。</p>
|
||||
<p>林克拔出太刀,警惕地看着四周。空气中弥漫着一股腥臭味,像是某种大型猫科动物的气味。</p>
|
||||
<p>"喵——"</p>
|
||||
<p>一声凄厉的猫叫从头顶传来。</p>
|
||||
<p>林克猛然抬头,看到一只怪物从天而降。</p>
|
||||
<p>那是一只猫妖。</p>
|
||||
<p>它的体型比普通野猫大得多,身长接近一米五。浑身的皮毛是暗红色的,上面布满了黑色的斑纹。它的眼睛是黄色的,瞳孔呈竖线状,在黑暗中闪着幽光。它的爪子很长,像是五把锋利的短剑。</p>
|
||||
<p>猫妖落地后立刻向林克扑来。</p>
|
||||
<p>林克侧身躲过,太刀横扫,砍向猫妖的侧腹。</p>
|
||||
<p>"当!"</p>
|
||||
<p>金属碰撞的声音。猫妖的皮毛竟然硬得像皮革一样,太刀只在上面留下了一道白痕。</p>
|
||||
<p>"皮这么厚?"林克咬牙,再次挥刀。</p>
|
||||
<p>但猫妖的速度比他快得多。</p>
|
||||
<p>不等林克第二刀砍出,猫妖已经绕到了他的身后。锋利的爪子划向他的后背。</p>
|
||||
<p>"刺啦——"</p>
|
||||
<p>皮甲被撕开,后背上多了三道血痕。</p>
|
||||
<p>林克闷哼一声,转身挥刀。但猫妖已经跳开了。</p>
|
||||
<p>"速度很快……"林克喘着气,盯着那只猫妖,"力量也不小。"</p>
|
||||
<p>猫妖蹲在地上,黄色的眼睛盯着他,喉咙里发出低沉的咆哮。</p>
|
||||
<p>林克深吸一口气,强迫自己冷静下来。</p>
|
||||
<p>阿甘左说过:剑术的最高境界不是快,是准。</p>
|
||||
<p>他仔细观察着猫妖的动作,等待机会。</p>
|
||||
<p>---</p>
|
||||
<p>猫妖再次扑上来。</p>
|
||||
<p>这一次,林克没有躲。</p>
|
||||
<p>他在猫妖扑到面前的瞬间猛然蹲下,太刀从下往上斜刺。</p>
|
||||
<p>"噗嗤!"</p>
|
||||
<p>刀刃刺入猫妖的腹部,鲜血喷涌而出。</p>
|
||||
<p>猫妖发出刺耳的尖叫,疯狂地挣扎着。但林克死死抓住刀柄,不让它挣脱。</p>
|
||||
<p>"去死!"</p>
|
||||
<p>他用力一绞,然后猛然拔出太刀。</p>
|
||||
<p>猫妖倒在地上,抽搐了几下,不再动了。</p>
|
||||
<p>林克喘着粗气,看着地上的尸体。这是他第一次独自杀掉猫妖。</p>
|
||||
<p>但还没等他来得及庆祝,四周传来窸窸窣窣的声音。</p>
|
||||
<p>他转头看向四周,瞳孔猛然收缩。</p>
|
||||
<p>至少有二十只猫妖从四面八方的灌木丛中钻出来,将他团团围住。</p>
|
||||
<p>"该死……"林克握紧太刀,"这么多?"</p>
|
||||
<p>---</p>
|
||||
<p>猫妖群缓缓逼近。</p>
|
||||
<p>林克背靠一棵大树,警惕地看着四周。每一只猫妖都在盯着他,黄色的眼睛在黑暗中像是鬼火一样。</p>
|
||||
<p>不能再等了。</p>
|
||||
<p>林克突然动了。</p>
|
||||
<p>他冲向左侧最短的包围线,太刀挥出,斩向一只猫妖的脖子。</p>
|
||||
<p>"噗!"</p>
|
||||
<p>鲜血飞溅,那只猫妖的头颅滚落在地。</p>
|
||||
<p>但这只是开始。</p>
|
||||
<p>剩下的猫妖像是收到了什么信号,同时向林克扑来。</p>
|
||||
<p>林克在它们之间穿梭,太刀每一次挥出都能带走一只猫妖的性命。但猫妖的数量太多了,他的身上不断增添新的伤口。</p>
|
||||
<p>"滚开!"</p>
|
||||
<p>他怒吼一声,太刀横扫,将扑在最前面的三只猫妖逼退。</p>
|
||||
<p>但更多的猫妖又围上来。</p>
|
||||
<p>林克感觉体力在快速流逝,动作越来越慢。伤口流出的血染红了他的皮甲,让他的动作变得迟钝。</p>
|
||||
<p>"要死在这里了吗……"</p>
|
||||
<p>他咬紧牙关,继续战斗。</p>
|
||||
<p>---</p>
|
||||
<p>就在林克快要支撑不住的时候,他突然听到了一声低沉的咆哮。</p>
|
||||
<p>"吼——"</p>
|
||||
<p>声音是从密林深处传来的,震得树叶簌簌落下。</p>
|
||||
<p>猫妖群的动作顿了一下,然后像是收到了什么命令,同时后退,消失在灌木丛中。</p>
|
||||
<p>林克愣了一下,看着突然空旷起来的四周。</p>
|
||||
<p>"刚才那是……什么?"</p>
|
||||
<p>他警惕地看着密林深处,总觉得刚才那声咆哮有些耳熟。</p>
|
||||
<p>不,不是耳熟。</p>
|
||||
<p>而是……共鸣。</p>
|
||||
<p>他感觉体内的血液突然沸腾了一下,胸口处传来一阵灼热感。那是卡赞诅咒的位置。</p>
|
||||
<p>自从三年前那场事故之后,卡赞诅咒就一直在他的体内蛰伏。但刚才,它似乎被什么东西唤醒了。</p>
|
||||
<p>"发生了什么……"林克捂住胸口,感受着心脏剧烈跳动。</p>
|
||||
<p>那种感觉很奇怪,既痛苦又畅快,像是有什么东西想要破土而出。</p>
|
||||
<p>他站在原地,等待那股感觉过去。</p>
|
||||
<p>当一切恢复正常时,天色已经完全暗下来了。</p>
|
||||
<p>---</p>
|
||||
<p>林克拖着伤痕累累的身体走出幽暗密林时,阿甘左还在原地等着他。</p>
|
||||
<p>男人看着林克满身是血的样子,挑了挑眉。</p>
|
||||
<p>"活着出来了?"</p>
|
||||
<p>"差一点就出不来了。"林克苦笑。</p>
|
||||
<p>阿甘左点点头:"走吧,先回去包扎伤口。"</p>
|
||||
<p>"是。"</p>
|
||||
<p>林克应了一声,正要跟上阿甘左,突然停住脚步。</p>
|
||||
<p>"阿甘左。"</p>
|
||||
<p>"什么事?"</p>
|
||||
<p>"我在幽暗密林深处听到了一声咆哮。"林克说,"然后……我体内的卡赞诅咒好像产生了共鸣。"</p>
|
||||
<p>阿甘左的脚步顿了一下。</p>
|
||||
<p>"你说什么?"</p>
|
||||
<p>"卡赞诅咒。"林克重复道,"刚才在幽暗密林里,它好像被什么东西唤醒了。"</p>
|
||||
<p>阿甘左沉默了很久。</p>
|
||||
<p>"这件事以后再说。"他说,"先回去。"</p>
|
||||
<p>林克看着阿甘左的背影,心里涌起一种不安的感觉。</p>
|
||||
<p>师父似乎知道什么。</p>
|
||||
<p>---</p>
|
||||
<p>回到艾尔文防线时,赛丽亚看到林克的样子吓了一跳。</p>
|
||||
<p>"天哪!你怎么又受伤了?"</p>
|
||||
<p>"训练。"林克坐在椅子上,虚弱地说。</p>
|
||||
<p>赛丽亚赶紧拿来药水和小心地帮他处理伤口。她的动作很轻柔,像是生怕弄疼他。</p>
|
||||
<p>"幽暗密林很危险吗?"赛丽亚问。</p>
|
||||
<p>"还好。"林克说,"就是怪物比较多。"</p>
|
||||
<p>"下次小心一点。"赛丽亚说,"你总是这样不顾自己的身体……"</p>
|
||||
<p>她的语气中带着一丝责备,但更多的是关心。</p>
|
||||
<p>林克看着她专注地帮自己包扎伤口的样子,心里涌起一种温暖的感觉。</p>
|
||||
<p>"赛丽亚。"</p>
|
||||
<p>"嗯?"</p>
|
||||
<p>"你为什么对我这么好?"</p>
|
||||
<p>赛丽亚的手顿了一下,然后继续包扎。</p>
|
||||
<p>"因为你是我的客人呀。"她笑着说,"而且……我觉得你是个好人。"</p>
|
||||
<p>林克没有再说什么,只是静静地看着她。</p>
|
||||
<p>---</p>
|
||||
<p>夜晚,林克躺在旅馆的床上,睁着眼睛看着天花板。</p>
|
||||
<p>今天在幽暗密林深处听到的那声咆哮,始终在他脑海中回荡。</p>
|
||||
<p>还有卡赞诅咒的共鸣。</p>
|
||||
<p>那到底是什么?</p>
|
||||
<p>他抬起手,看着自己的掌心。在月光下,他可以看到皮肤下隐约浮现的红色纹路——那是卡赞诅咒的印记。</p>
|
||||
<p>三年前的那场事故,他几乎失去了所有。</p>
|
||||
<p>父亲死了,母亲下落不明。他自己也被卡赞诅咒侵蚀,差点死去。</p>
|
||||
<p>是师父救了他。</p>
|
||||
<p>但师父从来没有告诉过他,这诅咒到底是什么来历。</p>
|
||||
<p>"卡赞……"林克喃喃自语,"你到底是什么?"</p>
|
||||
<p>没有人回答他。</p>
|
||||
<p>只有窗外的夜风,吹得树叶沙沙作响。</p>
|
||||
<p>---</p>
|
||||
<p>(第三章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-2.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-4.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter current">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(3)) {
|
||||
readChapters.push(3);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
607
alacarte-novel-website/chapters/chapter-30.html
Normal file
607
alacarte-novel-website/chapters/chapter-30.html
Normal file
@ -0,0 +1,607 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 30</div>
|
||||
<h1 class="chapter-title">浅栖之地</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>诺伊佩拉地区笼罩在一片灰蒙蒙的雾气中。</p>
|
||||
<p>这里曾经是暗精灵繁荣的领地,如今却变成了死寂的废墟。空气中弥漫着腐朽和疾病的气息,让人作呕。</p>
|
||||
<p>林克一行人沿着克伦特提供的地图,来到了浅栖之地的入口。那是一个巨大的地下洞穴,黑漆漆的洞口像是巨兽的嘴巴,等待着吞噬一切进入其中的生命。</p>
|
||||
<p>"这里的邪气好重……"艾伦皱着眉头,圣光在他的剑身上微微闪烁,"比暗黑雷鸣废墟还要浓郁。"</p>
|
||||
<p>" Morgan就在里面。"林克握紧了晨曦,"大家小心,随时准备战斗。"</p>
|
||||
<p>赛丽亚和奥菲利亚同时点了点头,一左一右站在林克身边。虽然昨晚还有些互相看不顺眼,但在战斗面前,她们都明白现在不是闹别扭的时候。</p>
|
||||
<p>"我会保护好你的,林克。"赛丽亚说,手中的法杖散发着柔和的光芒。</p>
|
||||
<p>"我也会。"奥菲利亚不甘示弱,从背包里拿出了几瓶炼金药剂,"这些可以解毒,如果中了尸毒就喝下去。"</p>
|
||||
<p>林克看着两个少女,心中涌起一股暖意:"走吧。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>浅栖之地内部比想象中更加阴森。</p>
|
||||
<p>洞穴的墙壁上长满了奇怪的菌类,散发着幽幽的绿光。地面上到处是腐烂的尸体和破碎的装备,显然之前已经有不少冒险者死在了这里。</p>
|
||||
<p>"那些是……"赛丽亚指着前方,声音有些颤抖。</p>
|
||||
<p>一群摇摇晃晃的身影从黑暗中走出。那是被感染的暗精灵——或者说,曾经是暗精灵。现在它们已经变成了只知道攻击的丧尸,皮肤腐烂,眼睛泛着红光。</p>
|
||||
<p>"被感染的暗精灵!"奥菲利亚惊呼,"和罗特斯控制的GBL教徒不一样,这些是被瘟疫感染的!"</p>
|
||||
<p>"别被它们抓到,可能会传染!"艾伦大喊,"圣光十字!"</p>
|
||||
<p>金色的十字光芒射出,将最前面的几只丧尸击退。但这些怪物仿佛不知道疼痛,即使被圣光灼伤,依然疯狂地扑上来。</p>
|
||||
<p>"流心·跃!"</p>
|
||||
<p>林克跃向空中,晨曦在空中划出一道光弧,斩下了两只丧尸的头颅。但更多的丧尸从四面八方涌来,数量至少有几十只。</p>
|
||||
<p>"太多了!"奥菲利亚惊呼,"我们被包围了!"</p>
|
||||
<p>"赛丽亚,奥菲利亚,靠在一起!"林克大喊,"艾伦,保护她们!"</p>
|
||||
<p>"明白!圣光守护!"</p>
|
||||
<p>一道金色的护盾将两个少女笼罩其中。赛丽亚在护盾内施展治愈术,为受伤的队友恢复;奥菲利亚则扔出炼金药剂,制造出一片毒雾,阻挡丧尸的进攻。</p>
|
||||
<p>"林克,左边!"赛丽亚大喊。</p>
|
||||
<p>林克转身,正好看到一只丧尸从侧面扑来。他挥剑将其斩成两半,但另一只丧尸趁机从背后偷袭。</p>
|
||||
<p>"小心!"奥菲利亚尖叫。</p>
|
||||
<p>千钧一发之际,一道绿色的光芒射来,将那只丧尸击退。是赛丽亚的精灵之箭!</p>
|
||||
<p>"谢谢!"林克喊道。</p>
|
||||
<p>"不用谢,保护你是应该的!"赛丽亚说着,还故意看了奥菲利亚一眼。</p>
|
||||
<p>奥菲利亚咬了咬嘴唇,然后从背包里拿出一个瓶子扔向丧尸群:"尝尝这个!火焰瓶!"</p>
|
||||
<p>轰——</p>
|
||||
<p>火焰瞬间吞没了十几只丧尸,将它们烧成灰烬。</p>
|
||||
<p>"怎么样?"奥菲利亚得意地看向赛丽亚。</p>
|
||||
<p>赛丽亚哼了一声:"没什么了不起的,我也能行!"</p>
|
||||
<p>她说着,举起法杖念起了咒语。一道巨大的光柱从天而降,将剩余的丧尸全部净化。</p>
|
||||
<p>两个少女对视一眼,虽然还有些互相不服气,但嘴角都不自觉地露出了一丝笑意。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束后,队伍继续前进。</p>
|
||||
<p>洞穴越来越深,空气也越来越浑浊。林克能感觉到,他们正在接近某个强大的存在。</p>
|
||||
<p>"前面就是BOSS房间了。"林克看着地图说,"摩根应该就在里面。"</p>
|
||||
<p>林克深吸一口气,推开了石门。</p>
|
||||
<p>门后的景象让所有人都倒吸一口凉气。</p>
|
||||
<p>那是一个巨大的地下墓室,四周摆满了石棺。墓室中央,一个高大的身影正背对着他们站立。</p>
|
||||
<p>那身影穿着破损的炼金术师长袍,皮肤呈现出病态的绿色,身上布满了腐烂的伤口。但最可怕的是——</p>
|
||||
<p>它转过头来,露出了一张扭曲的脸。</p>
|
||||
<p>"摩……摩根?"奥菲利亚的声音在颤抖。</p>
|
||||
<p>没错,那个怪物就是摩根。或者说,曾经是摩根。现在的他已经完全变成了丧尸,眼睛泛着血红色的光芒,嘴里发出低沉的嘶吼。</p>
|
||||
<p>"他已经……不是人类了。"艾伦沉声说。</p>
|
||||
<p>"怎么会这样……"奥菲利亚捂住了嘴,眼泪在眼眶中打转。</p>
|
||||
<p>摩根——不,怨恨之摩根发出了刺耳的尖叫,然后猛地扑了过来!</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗瞬间爆发。</p>
|
||||
<p>摩根的速度快得惊人,完全不像是一个丧尸。他的利爪带着剧毒,每一次挥击都能在空气中留下绿色的毒雾。</p>
|
||||
<p>"小心他的爪子!有毒!"艾伦大喊。</p>
|
||||
<p>林克迅速后退,躲过了摩根的利爪。但摩根的攻击还没结束,他张开嘴,喷出了一团绿色的毒雾。</p>
|
||||
<p>"屏住呼吸!"赛丽亚大喊,同时施展净化术,将毒雾驱散。</p>
|
||||
<p>摩根见毒雾无效,变得更加狂暴。他的身体开始膨胀,身上的伤口中钻出了无数条触手般的血管,向四周挥舞。</p>
|
||||
<p>"这是什么怪物……"赛丽亚倒吸一口凉气。</p>
|
||||
<p>"死亡诅咒!"艾伦突然大喊,"林克,小心!"</p>
|
||||
<p>林克感到身上一沉,一个骷髅头的标志出现在他头顶。他想起之前搜集的情报——死亡诅咒会在1.5秒后发动,必须跳跃躲避!</p>
|
||||
<p>他毫不犹豫地跃起,下一秒,一道黑色的冲击波从他脚下爆发,如果他刚才还在原地,已经被击中。</p>
|
||||
<p>"好险……"</p>
|
||||
<p>但摩根的攻击还没结束。他张开嘴,吐出了一颗颗爆炸的骷髅头,向四周飞去。</p>
|
||||
<p>"快躲开!"</p>
|
||||
<p>轰!轰!轰!</p>
|
||||
<p>骷髅头接连爆炸,整个墓室都在颤抖。碎石飞溅,烟尘弥漫。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"不能这样下去了!"林克大喊,"必须速战速决!"</p>
|
||||
<p>他看向赛丽亚和奥菲利亚:"你们两个,配合我!"</p>
|
||||
<p>两个少女对视一眼,同时点头。</p>
|
||||
<p>"赛丽亚,用你的光属性攻击限制他的行动!"</p>
|
||||
<p>"明白!精灵之箭!"</p>
|
||||
<p>数道光箭射向摩根,虽然无法造成致命伤害,但让他的动作慢了下来。</p>
|
||||
<p>"奥菲利亚,火焰瓶!"</p>
|
||||
<p>"来了!"</p>
|
||||
<p>几个火焰瓶在摩根脚下炸开,火焰瞬间吞噬了他的下半身。</p>
|
||||
<p>"就是现在!"林克大喊。</p>
|
||||
<p>他握紧晨曦,发动了最强的攻击。</p>
|
||||
<p>"破极兵刃!"</p>
|
||||
<p>"拔刀斩!"</p>
|
||||
<p>一道巨大的光刃从晨曦的剑身上爆发,直直斩向摩根的胸口。</p>
|
||||
<p>"吼——!!!"</p>
|
||||
<p>摩根发出了凄厉的惨叫,身体被光刃斩成了两半。绿色的血液喷涌而出,他的身体开始崩溃。</p>
|
||||
<p>但就在倒下的瞬间,摩根的眼中似乎闪过了一丝清明。</p>
|
||||
<p>"谢……谢……"他用沙哑的声音说,然后彻底倒下,化作了一滩脓水。</p>
|
||||
<p>墓室陷入了寂静。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束后,林克在摩根的遗体旁发现了一本笔记。</p>
|
||||
<p>那是摩根的炼金术笔记,记录着他调查传染病的经过。最后一页写着:</p>
|
||||
<p>"传染病的源头……是邪龙斯皮兹的封印……有人故意破坏了封印……想要利用邪龙的力量……"</p>
|
||||
<p>"夏普伦……长老……"</p>
|
||||
<p>字迹到这里就断了。</p>
|
||||
<p>"夏普伦?"艾伦皱眉,"是克伦特提到的那个长老?"</p>
|
||||
<p>林克合上笔记,脸色凝重:"看来,这场传染病不是意外……而是有人故意为之。"</p>
|
||||
<p>"夏普伦为什么要这么做?"奥菲利亚不解。</p>
|
||||
<p>"也许……是为了让人类和暗精灵开战。"赛丽亚轻声说。</p>
|
||||
<p>林克点点头:"无论如何,我们必须把这个消息带回去。"</p>
|
||||
<p>他看向摩根的遗体,默默鞠了一躬。</p>
|
||||
<p>"安息吧,摩根大师。我们会找出真相的。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>返回阿法利亚营地的路上,气氛有些沉重。</p>
|
||||
<p>赛丽亚和奥菲利亚都沉默不语,刚才的战斗让她们都消耗了不少体力。</p>
|
||||
<p>林克走在中间,两个少女一左一右靠着他,这次不是为了争宠,而是真的累了。</p>
|
||||
<p>"林克……"赛丽亚轻声说,"刚才谢谢你保护我。"</p>
|
||||
<p>"我也谢谢你救了我。"奥菲利亚也说道,"你的精灵之箭……真的很厉害。"</p>
|
||||
<p>赛丽亚愣了一下,然后露出了一丝微笑:"你的火焰瓶也不差。"</p>
|
||||
<p>两个少女相视一笑,之前的芥蒂似乎在这一刻消融了不少。</p>
|
||||
<p>"其实……"奥菲利亚低下头,"我知道林克最喜欢的是你。我不会和你争的……只要能在林克身边,我就满足了。"</p>
|
||||
<p>赛丽亚沉默了一会儿,然后轻轻握住了奥菲利亚的手:"谢谢你的理解。但是……林克也很在乎你。以后我们一起保护他,好吗?"</p>
|
||||
<p>奥菲利亚抬起头,眼中闪着泪光,然后用力点了点头。</p>
|
||||
<p>林克看着两个少女握手言和,心中涌起一股暖流。</p>
|
||||
<p>也许,这就是后宫的奥义吧。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第三十章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-29.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-31.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter current">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(30)) {
|
||||
readChapters.push(30);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
597
alacarte-novel-website/chapters/chapter-31.html
Normal file
597
alacarte-novel-website/chapters/chapter-31.html
Normal file
@ -0,0 +1,597 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 31</div>
|
||||
<h1 class="chapter-title">蜘蛛洞穴</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>从浅栖之地返回阿法利亚营地后,林克将摩根的笔记交给了克伦特。</p>
|
||||
<p>"夏普伦……"克伦特看着笔记上的名字,脸色变得铁青,"果然是他。我早就怀疑他了。"</p>
|
||||
<p>"我们现在该怎么办?"林克问。</p>
|
||||
<p>克伦特沉思了一会儿:"邪龙封印的加固需要四把钥匙,分别由四个骷髅将军看守。但还有一个更紧急的问题——蜘蛛洞穴的艾克洛索最近异常活跃,如果不解决它,前往暗精灵墓地的道路就会被阻断。"</p>
|
||||
<p>"艾克洛索?"</p>
|
||||
<p>"一只巨大的变异蜘蛛,是蜘蛛洞穴的统治者。"克伦特解释道,"它最近开始大量繁殖小蜘蛛,如果不及时处理,整个诺伊佩拉地区都会被蜘蛛淹没。"</p>
|
||||
<p>林克点点头:"明白了。蜘蛛洞穴在哪里?"</p>
|
||||
<p>"浅栖之地的深处,有一条通往蜘蛛洞穴的通道。"克伦特在地图上标出位置,"小心,艾克洛索比摩根更危险。它的毒液和蛛网都非常致命。"</p>
|
||||
<p>"我们会小心的。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>蜘蛛洞穴比浅栖之地更加阴森。</p>
|
||||
<p>这里的空气中弥漫着一股腥臭味,地面上到处是粘稠的蛛丝。洞穴的墙壁上挂满了白色的蛛网,有些蛛网上还粘着动物的尸体。</p>
|
||||
<p>"好恶心……"赛丽亚皱着眉头,紧紧跟在林克身后。</p>
|
||||
<p>"小心别碰到那些蛛丝。"奥菲利亚提醒道,"有些蛛丝是有毒的。"</p>
|
||||
<p>艾伦举起长剑,圣光在剑身上闪烁:"我感觉到很多邪恶的气息……这里到处都是蜘蛛。"</p>
|
||||
<p>话音刚落,洞穴深处传来了沙沙的声响。</p>
|
||||
<p>数十只巨大的蜘蛛从四面八方爬了出来。它们的身体足有脸盆大小,八只眼睛泛着红光,口中滴着绿色的毒液。</p>
|
||||
<p>"战斗准备!"林克大喊。</p>
|
||||
<p>蜘蛛们发起了攻击。它们的速度极快,在墙壁和天花板上自由爬行,从各个角度扑向队伍。</p>
|
||||
<p>"圣光十字!"</p>
|
||||
<p>艾伦的攻击击中了最前面的几只蜘蛛,但更多的蜘蛛涌了上来。其中一只蜘蛛张开嘴,喷出了一团绿色的毒液。</p>
|
||||
<p>"小心!"林克一把拉过赛丽亚,躲过了毒液。毒液落在地上,发出嘶嘶的声响,地面被腐蚀出了一个小坑。</p>
|
||||
<p>"这些蜘蛛会喷毒!"奥菲利亚惊呼。</p>
|
||||
<p>"交给我!"赛丽亚举起法杖,"净化之光!"</p>
|
||||
<p>一道白色的光芒从法杖中射出,将几只蜘蛛笼罩其中。被光芒照射的蜘蛛发出凄厉的尖叫,身体开始融化。</p>
|
||||
<p>"有效!"艾伦喊道,"赛丽亚,继续用光属性攻击!"</p>
|
||||
<p>但蜘蛛的数量太多了。它们源源不断地从洞穴深处涌出,仿佛无穷无尽。</p>
|
||||
<p>"不能这样耗下去!"林克咬牙,"我要用新技能了!"</p>
|
||||
<p>他深吸一口气,将全身的剑气凝聚在晨曦上。这是他在击败罗特斯后领悟的新招式——</p>
|
||||
<p>"猛龙断空斩!"</p>
|
||||
<p>林克的身形瞬间化作一道金色的龙形剑气,向前突进。剑气所过之处,所有的蜘蛛都被斩成了碎片。</p>
|
||||
<p>轰——</p>
|
||||
<p>剑气贯穿了整个洞穴,留下了一条长长的痕迹。数十只蜘蛛在这一击中被消灭,洞穴里到处都是蜘蛛的残肢。</p>
|
||||
<p>"好……好厉害……"奥菲利亚瞪大了眼睛,"这是什么招式?"</p>
|
||||
<p>"猛龙断空斩。"林克收回剑,微微喘息,"40级的剑魂技能。我也是第一次实战使用。"</p>
|
||||
<p>赛丽亚跑过来,担心地看着他:"你没事吧?这个技能消耗很大吗?"</p>
|
||||
<p>"有点累,但还能坚持。"林克笑了笑,"走吧,BOSS应该就在前面。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>洞穴的最深处,是一个巨大的地下空间。</p>
|
||||
<p>这里的蛛丝更加密集,几乎将整个空间都覆盖了。在空间的中央,一只巨大的蜘蛛正趴在那里。</p>
|
||||
<p>那就是艾克洛索。</p>
|
||||
<p>它的身体足有一间房子那么大,八条长腿上长满了尖刺,腹部有一个巨大的红色花纹,看起来像是某种诡异的图案。</p>
|
||||
<p>"这就是……艾克洛索?"赛丽亚的声音在颤抖。</p>
|
||||
<p>艾克洛索缓缓转过头,八只眼睛同时盯住了入侵者。它张开嘴,发出了一声刺耳的嘶鸣。</p>
|
||||
<p>然后,它动了。</p>
|
||||
<p>艾克洛索的速度快得惊人,与它庞大的身躯完全不成比例。它张开嘴,喷出了三团白色的蛛网。</p>
|
||||
<p>"散开!"林克大喊。</p>
|
||||
<p>四人迅速散开,躲过了蛛网。蛛网落在地上,瞬间将地面粘住,如果被击中,后果不堪设想。</p>
|
||||
<p>"我来吸引它的注意力!"艾伦大喊,"圣光守护!"</p>
|
||||
<p>他冲上前去,长剑上燃烧着圣光。艾克洛索被圣光吸引,转头向他扑去。</p>
|
||||
<p>"就是现在!"林克抓住机会,从侧翼发动攻击。</p>
|
||||
<p>"流心·刺!"</p>
|
||||
<p>晨曦刺入了艾克洛索的一条腿,绿色的血液喷涌而出。艾克洛索发出痛苦的嘶鸣,猛地一甩腿,将林克甩飞出去。</p>
|
||||
<p>"林克!"赛丽亚惊呼。</p>
|
||||
<p>林克在空中调整姿势,稳稳落地。但还没等他站稳,艾克洛索又发动了新的攻击。</p>
|
||||
<p>它的腹部突然打开,发射出了数枚……导弹?</p>
|
||||
<p>"导弹?!"林克瞪大了眼睛,"这蜘蛛还会发射导弹?!"</p>
|
||||
<p>他急忙闪避,导弹在他身边爆炸,掀起的气浪将他震得后退了几步。</p>
|
||||
<p>"这什么鬼东西……"林克苦笑,"蜘蛛都会发射导弹了?"</p>
|
||||
<p>"小心!它又要攻击了!"奥菲利亚大喊。</p>
|
||||
<p>艾克洛索的身体突然开始下沉,钻入了地下。</p>
|
||||
<p>"它钻地了!"艾伦大喊,"大家小心脚下!"</p>
|
||||
<p>地面开始震动,突然,艾克洛索从地下钻出,巨大的身体向林克撞来。</p>
|
||||
<p>林克急忙翻滚躲避,但艾克洛索的攻击还没结束。它张开嘴,喷出了大量的蛛丝,将林克的退路全部封死。</p>
|
||||
<p>"不好!"</p>
|
||||
<p>林克被蛛丝缠住了。那些蛛丝异常坚韧,他越是挣扎,缠得越紧。</p>
|
||||
<p>艾克洛索缓缓靠近,张开巨大的口器,准备给林克致命一击。</p>
|
||||
<p>"林克!"赛丽亚和奥菲利亚同时尖叫。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>就在这千钧一发之际,一道金色的光芒从天而降。</p>
|
||||
<p>"圣光审判!"</p>
|
||||
<p>艾伦的攻击正中艾克洛索的头部,让它发出痛苦的嘶鸣。它暂时放弃了林克,转头向艾伦扑去。</p>
|
||||
<p>"好机会!"奥菲利亚大喊,扔出了几瓶炼金药剂,"火焰瓶!"</p>
|
||||
<p>火焰在艾克洛索身上燃烧,但它似乎对火焰有一定的抗性,并没有受到太大的伤害。</p>
|
||||
<p>"普通的火焰对它效果不大!"奥菲利亚焦急地说。</p>
|
||||
<p>"让我来!"赛丽亚举起法杖,"精灵之炎!"</p>
|
||||
<p>这是结合了精灵之力的高级火焰魔法,比普通的火焰更加强大。艾克洛索被火焰灼烧,发出凄厉的尖叫。</p>
|
||||
<p>趁着这个机会,林克挣脱了蛛丝的束缚。他看着眼前的巨大蜘蛛,心中暗暗思考对策。</p>
|
||||
<p>"它的弱点……在哪里?"</p>
|
||||
<p>他注意到,艾克洛索每次发射导弹时,腹部的红色花纹都会发光。那可能就是它的弱点!</p>
|
||||
<p>"艾伦!"林克大喊,"吸引它的注意力,让我接近它的腹部!"</p>
|
||||
<p>"明白!"艾伦举起长剑,向艾克洛索发起了猛攻。</p>
|
||||
<p>艾克洛索被艾伦吸引,转身向他扑去。林克趁机绕到了它的身后。</p>
|
||||
<p>"就是现在!"</p>
|
||||
<p>林克跃起,双手握住晨曦,将全部的剑气凝聚在剑身上。</p>
|
||||
<p>"猛龙断空斩——!"</p>
|
||||
<p>这一次,他将所有的力量都注入了这一击。金色的龙形剑气从晨曦上爆发,直直斩向艾克洛索腹部的红色花纹。</p>
|
||||
<p>"嘶——!!!"</p>
|
||||
<p>艾克洛索发出了前所未有的凄厉尖叫。剑气贯穿了它的腹部,绿色的血液如同喷泉般涌出。</p>
|
||||
<p>它的身体开始抽搐,八条腿无力地挥舞着,最后轰然倒地。</p>
|
||||
<p>巨大的蜘蛛,终于停止了挣扎。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束后,四人都累得瘫坐在地上。</p>
|
||||
<p>"终于……结束了……"林克大口喘息着,刚才的猛龙断空斩几乎耗尽了他全部的体力。</p>
|
||||
<p>"林克!"赛丽亚扑进他的怀里,"你吓死我了!被蛛丝缠住的时候,我以为……"</p>
|
||||
<p>"没事了,没事了。"林克轻轻拍着她的背,"我这不是好好的吗?"</p>
|
||||
<p>奥菲利亚也走了过来,虽然没有像赛丽亚那样扑进怀里,但眼中的关切之色溢于言表:"你太乱来了,那种情况下还想着攻击。"</p>
|
||||
<p>"不冒险的话,怎么能赢呢?"林克笑了笑。</p>
|
||||
<p>艾伦走过来,伸出手将林克拉了起来:"干得好,剑魂。你的猛龙断空斩……真的很强。"</p>
|
||||
<p>"谢谢。"林克握住他的手,站了起来。</p>
|
||||
<p>他看向艾克洛索的尸体,心中暗暗感慨。</p>
|
||||
<p>这就是40级技能的威力吗?比之前使用的任何招式都要强大。</p>
|
||||
<p>"走吧。"林克说,"回去向克伦特报告,然后准备前往暗精灵墓地。"</p>
|
||||
<p>"嗯。"三个同伴同时点头。</p>
|
||||
<p>他们转身离开蜘蛛洞穴,向着阿法利亚营地的方向走去。</p>
|
||||
<p>邪龙斯皮兹的封印,还在等待着他们去加固。</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第三十一章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-30.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-32.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter current">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(31)) {
|
||||
readChapters.push(31);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
513
alacarte-novel-website/chapters/chapter-32.html
Normal file
513
alacarte-novel-website/chapters/chapter-32.html
Normal file
@ -0,0 +1,513 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 32</div>
|
||||
<h1 class="chapter-title">克伦特的委托</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>从蜘蛛洞穴返回阿法利亚营地后,林克三人受到了克伦特的热情接待。</p>
|
||||
<p>"干得漂亮!"克伦特拍了拍林克的肩膀,"艾克洛索一直是我们的心腹大患,你们解决了它,通往暗精灵墓地的道路就畅通了。"</p>
|
||||
<p>赛丽亚将收集到的毒囊交给克伦特:"这些是给炼金术师的素材。"</p>
|
||||
<p>"很好,我会转交给他们的。"克伦特收起毒囊,脸色变得严肃起来,"不过,还有更重要的事情需要你们帮忙。"</p>
|
||||
<p>他走到营帐中央,展开一张古老的地图。</p>
|
||||
<p>"这是暗精灵墓地的布局图。数百年前,我们的祖先将邪龙斯皮兹的头颅封印在那里。为了防止邪龙复活,封印需要定期加固,而加固封印需要四把钥匙。"</p>
|
||||
<p>"四把钥匙?"林克皱眉。</p>
|
||||
<p>"没错。这四把钥匙分别由四个骷髅将军看守,他们是邪龙斯皮兹的四肢守卫——左翼、右翼、前爪、尾刺。"克伦特指着地图上的四个标记,"但最近,这四个骷髅将军叛变了。"</p>
|
||||
<p>"叛变?"奥菲利亚惊讶地问。</p>
|
||||
<p>"是的。他们杀害了墓地的守卫,夺走了钥匙,似乎在策划什么阴谋。"克伦特叹了口气,"如果你们能进入暗精灵墓地,击败这四个骷髅将军,夺回钥匙,就能重新加固邪龙的封印。"</p>
|
||||
<p>林克沉思了一会儿:"这听起来很危险。"</p>
|
||||
<p>"确实危险。"克伦特点头,"所以我不会强求。但这是目前最紧急的任务,如果邪龙斯皮兹复活,整个阿法利亚都会陷入灾难。"</p>
|
||||
<p>赛丽亚握住林克的手:"林克,我们……"</p>
|
||||
<p>"我们去。"林克坚定地说,"既然已经走到这一步,就不能半途而废。"</p>
|
||||
<p>奥菲利亚也点头:"我也是。我要为GBL教的兄弟们报仇,也要保护这片大陆。"</p>
|
||||
<p>克伦特露出了欣慰的笑容:"我就知道可以信任你们。"</p>
|
||||
<p>他从怀中取出一张卷轴:"这是进入暗精灵墓地所需的通行证。墓地内部结构复杂,而且充满了亡灵生物,你们一定要小心。"</p>
|
||||
<p>林克接过卷轴:"我们会注意的。"</p>
|
||||
<p>"还有,"克伦特叫住准备离开的三人,"暗精灵墓地中除了四个骷髅将军,还有其他危险。据说邪龙斯皮兹的邪恶气息会侵蚀人心,你们一定要保持清醒的意志。"</p>
|
||||
<p>"明白了。"</p>
|
||||
<p>三人离开营帐,开始为明天的探险做准备。</p>
|
||||
<p>夜幕降临,阿法利亚营地的篝火在黑暗中跳动。</p>
|
||||
<p>林克坐在篝火旁,晨曦横放在膝上,剑身在火光中泛着柔和的光芒。赛丽亚和奥菲利亚一左一右坐在他身边,三人都沉默不语。</p>
|
||||
<p>"紧张吗?"林克打破了沉默。</p>
|
||||
<p>"有一点。"赛丽亚坦诚地说,"暗精灵墓地……听起来就很可怕。"</p>
|
||||
<p>"我也是。"奥菲利亚低声说,"但只要有你在,我就不怕。"</p>
|
||||
<p>林克笑了笑,将两个少女搂入怀中:"放心,我会保护你们的。无论遇到什么,我们都一起面对。"</p>
|
||||
<p>赛丽亚靠在林克肩上,轻声说:"林克,答应我,一定要平安回来。"</p>
|
||||
<p>"我答应你们。"林克郑重地说,"我们三个,一个都不能少。"</p>
|
||||
<p>月光洒在三人身上,篝火的光芒渐渐微弱。明天,他们将踏入暗精灵墓地,面对前所未有的挑战。</p>
|
||||
<p>但此刻,在这温暖的篝火旁,有彼此相伴,就足够了。</p>
|
||||
|
||||
<p>(第三十二章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-31.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-33.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter current">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(32)) {
|
||||
readChapters.push(32);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
620
alacarte-novel-website/chapters/chapter-33.html
Normal file
620
alacarte-novel-website/chapters/chapter-33.html
Normal file
@ -0,0 +1,620 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 33</div>
|
||||
<h1 class="chapter-title">暗精灵墓地·左翼守卫</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>暗精灵墓地比想象中更加阴森恐怖。</p>
|
||||
<p>这里是暗精灵王族的长眠之地,巨大的石棺整齐地排列在墓道两侧,每一具石棺上都刻着古老的符文。空气中弥漫着死亡的气息,让人不寒而栗。</p>
|
||||
<p>"这里就是暗精灵墓地……"赛丽亚紧紧抓着林克的手臂,声音有些颤抖,"感觉……比蜘蛛洞穴还要可怕。"</p>
|
||||
<p>"因为这里埋葬着无数暗精灵的亡灵。"奥菲利亚说,她的脸色也有些苍白,"我能感觉到……有很多灵魂在哭泣。"</p>
|
||||
<p>林克握紧晨曦,剑身上的光芒在这黑暗中显得格外明亮:"走吧,第一个骷髅将军就在前面。"</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>墓道中的亡灵生物比想象中更多。</p>
|
||||
<p>骷髅士兵、幽灵、僵尸……各种各样的亡灵从石棺中爬出,向入侵者发起攻击。林克挥舞着晨曦,将一只只骷髅斩成碎片,但它们数量太多,仿佛无穷无尽。</p>
|
||||
<p>"流心·跃!流心·升!"</p>
|
||||
<p>林克在空中连续跳跃,剑光闪烁,清理出一片空地。但更多的亡灵立刻填补了空缺。</p>
|
||||
<p>"太多了!"艾伦大喊,"林克,用猛龙断空斩开路!"</p>
|
||||
<p>"明白!"</p>
|
||||
<p>林克深吸一口气,将全身的剑气凝聚。金色的龙形剑气再次从晨曦上爆发,贯穿了整个墓道。</p>
|
||||
<p>"猛龙断空斩!"</p>
|
||||
<p>轰——</p>
|
||||
<p>剑气所过之处,所有的亡灵都被斩成了碎片。墓道被清理出了一条通道。</p>
|
||||
<p>"快走!"林克大喊,"这个技能消耗很大,我不能连续使用!"</p>
|
||||
<p>四人沿着通道快速前进,终于来到了墓地的第一个密室。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>密室中央,一具巨大的骷髅正跪坐在那里。</p>
|
||||
<p>那骷髅足有三米高,身上穿着残破的暗精灵铠甲,手中握着一柄燃烧着火焰的巨大战斧。即使已经死去多年,它身上依然散发着强大的威压。</p>
|
||||
<p>这就是邪龙斯皮兹的左翼守卫——火焰骷髅将军。</p>
|
||||
<p>"入侵者……"骷髅将军缓缓站起身,空洞的眼眶中燃烧着红色的火焰,"离开这里……否则……死……"</p>
|
||||
<p>"抱歉,我们需要你守护的钥匙。"林克举起晨曦,"得罪了!"</p>
|
||||
<p>战斗瞬间爆发。</p>
|
||||
<p>骷髅将军挥舞着火焰战斧,每一次攻击都带着灼热的气浪。林克不断闪避,但密室里空间有限,他很难找到反击的机会。</p>
|
||||
<p>"赛丽亚,用水属性魔法!"林克大喊。</p>
|
||||
<p>"明白!水精灵之箭!"</p>
|
||||
<p>数道水箭射向骷髅将军,但它在身前形成了一道火焰护盾,将水箭全部蒸发。</p>
|
||||
<p>"不行!它的火焰太强了!"赛丽亚焦急地说。</p>
|
||||
<p>"让我来!"奥菲利亚扔出几瓶炼金药剂,"冰冻药剂!"</p>
|
||||
<p>药剂在骷髅将军身上炸开,冰霜瞬间覆盖了它的身体。火焰护盾被削弱了不少。</p>
|
||||
<p>"就是现在!"林克抓住机会,发动了攻击。</p>
|
||||
<p>"破军升龙击!"</p>
|
||||
<p>他冲到骷髅将军身前,一剑斩向它的胸口。但骷髅将军的反应极快,战斧横扫,将林克击飞出去。</p>
|
||||
<p>"林克!"两个少女同时惊呼。</p>
|
||||
<p>林克重重地撞在墙上,感到胸口一阵剧痛。他低头一看,铠甲上留下了一道深深的烧焦痕迹。</p>
|
||||
<p>"好强的力量……"他咬牙站起身。</p>
|
||||
<p>骷髅将军已经再次冲了上来,战斧高举,准备给林克致命一击。</p>
|
||||
<p>就在这千钧一发之际,艾伦冲了上来,用圣光护盾挡住了这一击。</p>
|
||||
<p>"快走!我来拖住它!"艾伦大喊,但他的圣光护盾在火焰战斧的攻击下开始出现裂痕。</p>
|
||||
<p>林克知道,不能再拖了。他必须一击制胜。</p>
|
||||
<p>他闭上眼睛,将全部的剑意凝聚在晨曦上。体内的剑气疯狂涌动,他感觉到自己触及到了某个新的境界。</p>
|
||||
<p>"这是……"</p>
|
||||
<p>他睁开眼睛,眼中闪过一道精光。</p>
|
||||
<p>"猛龙断空斩·改!"</p>
|
||||
<p>这一次,龙形剑气比之前更加巨大,更加璀璨。金色的剑气如同一条真正的巨龙,咆哮着冲向骷髅将军。</p>
|
||||
<p>骷髅将军举起战斧想要抵挡,但在这股力量面前,它的防御如同纸糊一般脆弱。</p>
|
||||
<p>轰——!!!</p>
|
||||
<p>剑气贯穿了骷髅将军的胸口,它的身体开始崩解,火焰战斧掉落在地,发出清脆的声响。</p>
|
||||
<p>"不……可能……"骷髅将军的声音渐渐消失,最后化作一堆碎骨。</p>
|
||||
<p>在碎骨之中,一把散发着红色光芒的钥匙静静地躺在那里。</p>
|
||||
<p>第一把钥匙,入手。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>战斗结束后,林克再也支撑不住,单膝跪倒在地。</p>
|
||||
<p>刚才那一击几乎耗尽了他全部的体力,而且他受了不轻的伤。骷髅将军的火焰在他的胸口留下了一道焦黑的伤痕,即使经过了赛丽亚的初步治疗,依然隐隐作痛。</p>
|
||||
<p>"林克!"赛丽亚跑过来,眼泪在眼眶中打转,"你怎么样?不要吓我……"</p>
|
||||
<p>"我没事……"林克勉强笑了笑,"只是有点累……"</p>
|
||||
<p>"你需要休息。"艾伦走过来,检查了一下林克的伤势,"这种烧伤需要及时处理,否则会留下后遗症。"</p>
|
||||
<p>"前面有一个安全的墓室。"奥菲利亚指着地图说,"我们可以去那里休息。"</p>
|
||||
<p>"好……"林克点点头,在赛丽亚和奥菲利亚的搀扶下,慢慢向前走去。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>安全的墓室比想象中要干净许多。</p>
|
||||
<p>这里似乎是一个祭祀用的房间,没有石棺,只有一些古老的祭坛和雕像。角落里还有一些已经风化的毛毯和木柴。</p>
|
||||
<p>艾伦点燃了篝火,温暖的光芒驱散了墓室的阴冷。</p>
|
||||
<p>"赛丽亚,奥菲利亚,你们照顾林克。"艾伦说,"我去外面警戒。"</p>
|
||||
<p>"我也去。"赛丽亚刚要站起来,却被林克拉住了手。</p>
|
||||
<p>"赛丽亚……"林克轻声说,"让奥菲利亚照顾我就好……你先去休息……"</p>
|
||||
<p>赛丽亚愣了一下,然后看了看奥菲利亚,似乎明白了什么。</p>
|
||||
<p>她轻轻咬了咬嘴唇,然后点了点头:"好……那我去帮艾伦警戒。奥菲利亚小姐,林克就拜托你了。"</p>
|
||||
<p>奥菲利亚脸一红,低下头:"我……我会照顾好他的……"</p>
|
||||
<p>赛丽亚看了林克一眼,眼中闪过一丝复杂的神色,然后转身离开了墓室。</p>
|
||||
<p>墓室里只剩下了林克和奥菲利亚两个人。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>"林克……"奥菲利亚跪在林克身边,小心翼翼地解开他的铠甲。</p>
|
||||
<p>当铠甲被解开后,露出了林克胸口那道焦黑的伤痕。即使经过赛丽亚的治疗,伤口周围依然红肿,看起来触目惊心。</p>
|
||||
<p>"对不起……"奥菲利亚的眼泪掉了下来,"都是我太没用了……如果我能更强一些,你就不会受伤……"</p>
|
||||
<p>"别哭……"林克伸手擦去她的眼泪,"不是你的错……那个骷髅将军本来就很强……"</p>
|
||||
<p>奥菲利亚握住他的手,贴在自己的脸颊上:"让我为你治疗……这是我唯一能做的……"</p>
|
||||
<p>她低下头,轻轻地吻在了林克的伤口上。</p>
|
||||
<p>那是一个轻柔的、带着凉意的吻。奥菲利亚的嘴唇在伤口上轻轻移动,带来一阵阵酥麻的感觉。</p>
|
||||
<p>"奥菲利亚……"林克轻声唤她。</p>
|
||||
<p>"林克……"奥菲利亚抬起头,眼中满是深情,"我……我想把自己给你……"</p>
|
||||
<p>她的脸羞得通红,但眼神却异常坚定:"我知道你心里最喜欢的是赛丽亚小姐……但我……我真的好喜欢你……只要一次就好……让我成为你的女人……"</p>
|
||||
<p>林克看着她,心中涌起一股复杂的情感。</p>
|
||||
<p>这个少女为了他,不惜一切地跟随他冒险。她的感情纯粹而热烈,让他无法拒绝。</p>
|
||||
<p>"奥菲利亚……"他轻声说,"你确定吗?"</p>
|
||||
<p>奥菲利亚点点头,然后开始解开自己的衣裙。</p>
|
||||
<p>淡蓝色的衣裙滑落,露出她白皙的肌肤和纤细的身体。在篝火的光芒下,她的身体如同象牙般细腻,散发着青春的气息。</p>
|
||||
<p>林克看着她,心跳不由自主地加快了。</p>
|
||||
<p>奥菲利亚红着脸,缓缓靠近他,然后跨坐在他的身上。</p>
|
||||
<p>"我……我是第一次……"她小声说,"如果做得不好……请原谅我……"</p>
|
||||
<p>林克伸手搂住她的腰,将她拉近:"没关系……慢慢来……"</p>
|
||||
<p>奥菲利亚闭上眼睛,缓缓坐了下去。</p>
|
||||
<p>疼痛让她皱起了眉头,但她咬紧嘴唇,没有发出声音。她知道,这是成为林克女人的代价,也是她梦寐以求的时刻。</p>
|
||||
<p>林克轻轻抚摸着她的背,给予她安慰和力量。</p>
|
||||
<p>随着疼痛逐渐消退,奥菲利亚开始轻轻移动。她的动作生涩而笨拙,但充满了热情。</p>
|
||||
<p>林克配合着她的节奏,两人的身体在这寂静的墓室中交缠在一起。</p>
|
||||
<p>篝火的光芒摇曳,将两人的影子投射在墙上,如同一场古老的仪式。</p>
|
||||
<p>奥菲利亚的喘息声渐渐急促,她紧紧抱着林克,仿佛要将他融入自己的身体。</p>
|
||||
<p>"林克……林克……"她不停地唤着他的名字,声音中充满了爱意和满足。</p>
|
||||
<p>当一切结束时,奥菲利亚瘫软在林克的怀里,脸上带着幸福的红晕。</p>
|
||||
<p>"谢谢你……林克……"她轻声说,"我终于……成为你的人了……"</p>
|
||||
<p>林克搂着她,轻轻吻了吻她的额头:"以后……我会好好待你的。"</p>
|
||||
<p>奥菲利亚笑了,那笑容如同春日里最美的花朵。</p>
|
||||
<p>她知道,从这一刻起,她的人生已经彻底改变。</p>
|
||||
|
||||
<p>---</p>
|
||||
|
||||
<p>第二天一早,当赛丽亚回到墓室时,看到奥菲利亚正依偎在林克怀里睡觉。</p>
|
||||
<p>她的衣裙有些凌乱,脸上还带着未褪去的红晕。而林克也裸着上身,胸口的伤口已经被重新包扎过。</p>
|
||||
<p>赛丽亚愣了一下,然后轻轻叹了口气。</p>
|
||||
<p>她走到两人身边,轻轻推了推林克:"起床了,懒猪。"</p>
|
||||
<p>林克睁开眼睛,看到赛丽亚,有些心虚:"赛丽亚……我……"</p>
|
||||
<p>"不用说了。"赛丽亚打断了他,脸上带着无奈的笑容,"我早就知道会这样。"</p>
|
||||
<p>她看向还在熟睡的奥菲利亚,轻声说:"好好对她。她是个好女孩。"</p>
|
||||
<p>林克点点头,握住了赛丽亚的手:"谢谢你,赛丽亚。"</p>
|
||||
<p>"哼,知道就好。"赛丽亚撇撇嘴,但眼中满是温柔,"快点起床,我们还要去收集剩下的三把钥匙呢。"</p>
|
||||
<p>"嗯。"</p>
|
||||
<p>林克轻轻摇了摇奥菲利亚:"起床了,奥菲利亚。"</p>
|
||||
<p>奥菲利亚缓缓睁开眼睛,看到赛丽亚正看着她,脸瞬间红得像熟透的苹果。</p>
|
||||
<p>"赛……赛丽亚小姐……我……"她结结巴巴地说不出话来。</p>
|
||||
<p>"好啦,别紧张。"赛丽亚笑了笑,"以后我们就是姐妹了。"
|
||||
<p>奥菲利亚愣了一下,然后露出一个幸福的笑容:"嗯……姐姐……"</p>
|
||||
<p>两个少女相视一笑,之前的芥蒂彻底消融。</p>
|
||||
<p>林克看着这一幕,心中充满了幸福。</p>
|
||||
<p>有这样的两个女孩陪伴,他还有什么不满足的呢?</p>
|
||||
|
||||
<p>---</p>
|
||||
<p>(第三十三章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-32.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-34.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter current">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(33)) {
|
||||
readChapters.push(33);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
659
alacarte-novel-website/chapters/chapter-34.html
Normal file
659
alacarte-novel-website/chapters/chapter-34.html
Normal file
@ -0,0 +1,659 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 34</div>
|
||||
<h1 class="chapter-title">暗精灵墓地·剩余三将军</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>晨光透过营帐的缝隙洒落,林克缓缓睁开眼睛。赛丽亚正蜷缩在他怀中,呼吸均匀而恬静。奥菲利亚则在另一侧,脸颊上还带着昨夜的红晕。他小心翼翼地将手臂从两位少女身下抽出,不想惊醒她们。</p>
|
||||
|
||||
<p>「已经早上了吗?」赛丽亚揉着眼睛坐起身,精灵的敏锐让她在林克移动的瞬间便已醒来。</p>
|
||||
|
||||
<p>「嗯,该出发了。」林克轻声道,「今天要把剩下的三把钥匙全部拿到。」</p>
|
||||
|
||||
<p>奥菲利亚也醒了过来,听到这话,眼中闪过一丝担忧:「林克,三位骷髅将军 together...会不会太危险了?」</p>
|
||||
|
||||
<p>「放心。」林克露出自信的笑容,指尖轻弹,晨曦发出一声清越的剑鸣,「有你们在,我不会输。」</p>
|
||||
|
||||
<p>三人简单用过早餐,便向暗精灵墓地的深处进发。阳光无法穿透墓地终年不散的阴霾,腐朽的气息混合着淡淡的硫磺味在空气中弥漫。经过昨日的激战,林克对这片死亡之地已有了初步的了解。</p>
|
||||
|
||||
<p>「按照克伦特的描述,剩下的三位将军分别镇守在不同的方向。」林克展开简陋的地图,「右翼的冰冻将军库拉德,前爪的速度将军斯扎克,还有尾刺的剧毒将军骸德。」</p>
|
||||
|
||||
<p>赛丽亚握紧手中的法杖,银白色的光芒在杖尖流转:「林克,让我用精灵之力感知一下...」她闭上眼睛,纤细的眉头微微蹙起,「右边,有强烈的寒气...应该是冰冻将军。」</p>
|
||||
|
||||
<p>「那就先从他开始。」林克收起地图,晨曦在手中划出一道金色的弧线。</p>
|
||||
|
||||
<p>三人沿着右侧的通道前进,空气中的温度急剧下降。通道两侧的岩壁上结满了冰霜,呼出的白雾在面前凝结。转过一道弯,一个巨大的冰窟出现在眼前——地面、墙壁、甚至天花板都被厚厚的冰层覆盖,宛如一座冰雪宫殿。</p>
|
||||
|
||||
<p>而在冰窟的中央,一个身披冰蓝色铠甲的骷髅将军正拄着一柄巨斧,静静等待。</p>
|
||||
|
||||
<p>「来者...止步...」库拉德的声音如同冰川断裂,空洞而寒冷。他的眼眶中燃烧着幽蓝色的魂火,周身缠绕着肉眼可见的寒气。</p>
|
||||
|
||||
<p>林克没有废话,晨曦直指对方:「我要那把钥匙。」</p>
|
||||
|
||||
<p>「想要钥匙...先战胜我...」库拉德举起巨斧,斧刃上凝结出锋利的冰晶,「我是右翼守卫库拉德...冰之主宰...」</p>
|
||||
|
||||
<p>话音未落,库拉德已猛然挥斧!一道半月形的冰刃呼啸而出,所过之处地面瞬间结冰!</p>
|
||||
|
||||
<p>「小心!」林克瞳孔一缩,流心·跃发动,整个人如离弦之箭跃向空中。冰刃擦着他的鞋底掠过,将后方的岩壁冻结成冰雕。</p>
|
||||
|
||||
<p>「好快的攻击!」奥菲利亚惊呼,迅速后退到安全距离。</p>
|
||||
|
||||
<p>库拉德不给林克喘息的机会,巨斧连续挥舞,无数冰刃如同暴雨般倾泻而下。林克在空中连续变向,流心系列技能施展到极致,每一次闪避都险之又险。</p>
|
||||
|
||||
<p>「这样下去不行...」林克落地后迅速翻滚,躲开一道冰刃。地面太滑,严重影响了移动速度。</p>
|
||||
|
||||
<p>「林克!用火!」赛丽亚的声音从后方传来。她法杖高举,一团炽热的火球射向库拉德。</p>
|
||||
|
||||
<p>库拉德挥斧将火球击散,但冰铠甲表面出现了一丝融化的痕迹。林克眼睛一亮——火克冰!</p>
|
||||
|
||||
<p>「晨曦!」林克低喝一声,光剑上的光芒骤然变得炽热。虽然不是火焰,但光属性在高温下也能产生类似的效果。</p>
|
||||
|
||||
<p>里·鬼剑术发动!金色的剑光如同暴风骤雨般笼罩库拉德。骷髅将军举斧格挡,但晨曦的高热让冰铠甲不断融化,防御力大减。</p>
|
||||
|
||||
<p>「可恶...」库拉德发出愤怒的嘶吼,巨斧猛然插入地面,「冰封千里!」</p>
|
||||
|
||||
<p>恐怖的寒气以他为中心爆发,整个冰窟的温度骤降。林克感觉血液都要凝固了,动作变得迟缓。</p>
|
||||
|
||||
<p>「休想!」赛丽亚全力催动法杖,温暖的银白色光芒笼罩林克,驱散了部分寒意。</p>
|
||||
|
||||
<p>就是现在!林克咬紧牙关,破极兵刃全程开启,全身力量灌注于晨曦之中。猛龙断空斩·改!</p>
|
||||
|
||||
<p>金色的龙形剑气咆哮而出,在狭窄的冰窟中横冲直撞。库拉德想要闪避,但融化的冰面让他的移动变得笨拙。龙形剑气正面命中,冰铠甲瞬间崩碎!</p>
|
||||
|
||||
<p>「不...可能...」库拉德的身体在剑气中四分五裂,一把冰蓝色的钥匙掉落在地。</p>
|
||||
|
||||
<p>「第一把,到手。」林克收起钥匙,深吸一口气。这一战消耗不小,但还在可承受范围内。</p>
|
||||
|
||||
<p>「林克,你没事吧?」赛丽亚和奥菲利亚连忙跑上来。</p>
|
||||
|
||||
<p>「没事,接下来是速度将军斯扎克。」林克看向地图,「前爪方向...应该是最前面那个岔路。」</p>
|
||||
|
||||
<p>三人稍作休整,继续前进。与冰冻区域的寒冷不同,通往斯扎克所在位置的道路充满了诡异的寂静。通道狭窄而曲折,两侧的墙壁上满是抓痕——那是极高速度移动时留下的痕迹。</p>
|
||||
|
||||
<p>「小心,这个将军的速度一定很快。」林克握紧晨曦,全神贯注地戒备着。</p>
|
||||
|
||||
<p>话音刚落,一道黑影突然从拐角处闪现!林克只来得及举剑格挡,一股巨力便将他震退数步。</p>
|
||||
|
||||
<p>「好快!」林克心中一惊。定睛看去,一个身材瘦小的骷髅将军正站在不远处,手中握着两柄短剑。与其他将军的厚重铠甲不同,斯扎克身穿轻薄的皮甲,显然是为了追求极致的速度。</p>
|
||||
|
||||
<p>「能挡住我一击...不错...」斯扎克的声音尖锐而急促,「我是前爪守卫斯扎克...速度之王...」</p>
|
||||
|
||||
<p>「林克,他的速度太快了,肉眼几乎无法捕捉!」奥菲利亚惊呼。</p>
|
||||
|
||||
<p>林克没有说话,而是闭上了眼睛。既然肉眼跟不上,那就用心感受。</p>
|
||||
|
||||
<p>流心——剑魂的精髓在于心剑合一。林克将意识完全沉浸在晨曦之中,感知着周围空气的流动。</p>
|
||||
|
||||
<p>左边!林克猛然睁眼,晨曦向左横斩。铛!金属碰撞的火花四溅,斯扎克的短剑被精准格挡。</p>
|
||||
|
||||
<p>「什么?!」斯扎克显然没料到自己的速度会被看穿,身形一顿。</p>
|
||||
|
||||
<p>「你的速度确实很快,但...」林克嘴角微微上扬,「再快,也快不过光。」</p>
|
||||
|
||||
<p>晨曦爆发出耀眼的金光,林克将光剑精通发挥到极致。金色的剑光如同太阳般照亮整个通道,斯扎克的速度优势在光芒之下无所遁形。</p>
|
||||
|
||||
<p>「该死!」斯扎克咬牙,双剑如同狂风暴雨般攻来。但林克已经完全适应了他的节奏,里·鬼剑术配合流心系列,每一次都能在千钧一发之际挡下攻击。</p>
|
||||
|
||||
<p>「流心·刺!」林克抓住一个破绽,晨曦如毒蛇出洞,直刺斯扎克的胸口。</p>
|
||||
|
||||
<p>斯扎克拼命闪避,但林克的长剑更快。剑尖擦过他的肋骨,带起一串骨屑。</p>
|
||||
|
||||
<p>「还没完!」斯扎克狞笑,身体突然模糊,竟然分化出三个残影!</p>
|
||||
|
||||
<p>「幻影分身?」林克皱眉,四个斯扎克从不同的方向同时攻来,每一个都散发着真实的气息。</p>
|
||||
|
||||
<p>「林克,上面!」赛丽亚突然大喊。</p>
|
||||
|
||||
<p>林克毫不犹豫地向上挥剑。铛!真正的斯扎克正从天花板俯冲而下,被晨曦精准拦截。</p>
|
||||
|
||||
<p>「你怎么知道?!」斯扎克大惊。</p>
|
||||
|
||||
<p>「因为...」林克嘴角扬起,「你身上的腐朽气味太浓了。」</p>
|
||||
|
||||
<p>破极兵刃加持下的破军升龙击猛然发动!巨剑模式的晨曦携带着千钧之力向上挑斩。斯扎克的身体如同断线风筝般被击飞,重重撞在通道顶部。</p>
|
||||
|
||||
<p>不等他落地,林克已切换回光剑模式,猛龙断空斩·改紧随其后!金色龙形剑气咆哮着吞噬了斯扎克的身体,速度再快也无法逃脱这毁灭性的一击。</p>
|
||||
|
||||
<p>「不可能...我的速度...」斯扎克的身体在剑气中崩溃,一把银色的钥匙掉落。</p>
|
||||
|
||||
<p>「两把了。」林克捡起钥匙,呼吸有些急促。连续两场激战,体力消耗巨大。</p>
|
||||
|
||||
<p>「林克,休息一下吧。」赛丽亚担忧地说。</p>
|
||||
|
||||
<p>「不行,必须一口气解决。」林克摇头,「骸德一定已经知道我们来了,拖延只会让他有所准备。」</p>
|
||||
|
||||
<p>尾刺方向的通道与前两个完全不同。这里的空气中弥漫着令人作呕的腐臭,地面上流淌着紫黑色的液体,显然是剧毒之物。即使是赛丽亚的精灵之力,也只能勉强净化一小片区域。</p>
|
||||
|
||||
<p>「好强烈的毒气...」奥菲利亚捂住口鼻,脸色发白。</p>
|
||||
|
||||
<p>林克从怀中取出凯丽制作的抗毒药剂喝下,又将两瓶递给两位少女:「喝下去,能暂时抵抗毒素。」</p>
|
||||
|
||||
<p>三人继续前进,通道尽头是一个巨大的毒潭。紫黑色的毒水不断冒着气泡,散发出令人窒息的气味。而在毒潭的中央,一个身披墨绿色铠甲的骷髅将军正坐在一块岩石上,手中把玩着最后一把钥匙。</p>
|
||||
|
||||
<p>「终于来了...我等了好久...」骸德的声音沙哑而阴森,「左翼的扎卡西亚、右翼的库拉德、前爪的斯扎克...都被你们击败了...」</p>
|
||||
|
||||
<p>「你就是尾刺守卫骸德?」林克踏入毒潭边缘,强忍着刺鼻的气味。</p>
|
||||
|
||||
<p>「没错...我是剧毒之王...」骸德站起身,身上的铠甲不断滴落着毒液,「你们击败了他们三个...确实很强...但在我面前,你们连靠近都做不到...」</p>
|
||||
|
||||
<p>他张开双臂,毒潭中的毒水突然沸腾!无数毒箭从四面八方射向林克!</p>
|
||||
|
||||
<p>「晨曦!」林克光剑挥舞,金色剑光形成一道屏障,将毒箭尽数挡下。但毒液溅落在地上,发出滋滋的腐蚀声。</p>
|
||||
|
||||
<p>「没用的...这里的每一寸空间都充满了我的毒素...」骸德狞笑,「你们呼吸的每一口空气,都在削弱你们的生命...」</p>
|
||||
|
||||
<p>林克感觉到药剂的效果正在快速消退,这样下去不用打就会毒发身亡。</p>
|
||||
|
||||
<p>「必须速战速决!」林克眼神一凝,流心·跃发动,整个人跃向毒潭中央的岩石。</p>
|
||||
|
||||
<p>「找死!」骸德挥动手臂,一道巨大的毒龙从潭中腾空而起,张开血盆大口咬向林克。</p>
|
||||
|
||||
<p>「就是现在!」林克在空中突然变向,流心·跃接流心·升!他整个人如同陀螺般旋转上升,晨曦的剑气将毒龙从头到尾斩成两半!</p>
|
||||
|
||||
<p>「什么?!」骸德大惊失色。</p>
|
||||
|
||||
<p>林克借着上升的势头,直接冲到了骸德面前。近距离之下,骸德那张骷髅脸上的惊恐清晰可见。</p>
|
||||
|
||||
<p>「你输了。」林克冷冷道,晨曦直刺而出。</p>
|
||||
|
||||
<p>骸德想要闪避,但林克的速度更快。光剑穿透了他的胸口,金色的光芒与墨绿色的毒雾激烈碰撞。</p>
|
||||
|
||||
<p>「不...我不甘心...」骸德发出最后的嘶吼,身体在光芒中逐渐崩解。</p>
|
||||
|
||||
<p>「为...什么...你怎么能...抵抗我的毒...」</p>
|
||||
|
||||
<p>林克拔出晨曦,平静地说:「因为我有必须要保护的人。」</p>
|
||||
|
||||
<p>骸德的身体彻底崩溃,最后一把墨绿色的钥匙掉落在岩石上。林克拾起钥匙,感受到三把钥匙在手中发出共鸣。</p>
|
||||
|
||||
<p>「四把钥匙...集齐了。」赛丽亚和奥菲利亚欢呼着跑过来。</p>
|
||||
|
||||
<p>林克将三把新钥匙与之前获得的火焰钥匙放在一起。四把钥匙分别呈现出红、蓝、银、绿四种颜色,代表着火焰、冰冻、速度、剧毒四种力量。</p>
|
||||
|
||||
<p>「克伦特说过,集齐四把钥匙就能开启通往暗影迷宫的道路。」林克收起钥匙,「那里才是真正的挑战。」</p>
|
||||
|
||||
<p>「暗影迷宫...」奥菲利亚喃喃道,「据说那里是暗精灵墓地最危险的区域,连暗精灵自己都不敢轻易进入。」</p>
|
||||
|
||||
<p>林克看向两位少女,柔声道:「你们害怕吗?」</p>
|
||||
|
||||
<p>赛丽亚握住他的手,微笑道:「有你在,我什么都不怕。」</p>
|
||||
|
||||
<p>奥菲利亚也点头,眼中满是坚定:「我也是。」</p>
|
||||
|
||||
<p>「那好。」林克深吸一口气,看向墓地最深处那扇被四把钥匙封印的巨门,「让我们去会会那个邪龙斯皮兹。」</p>
|
||||
|
||||
<p>夕阳西下,三人的身影在墓碑间渐行渐远。暗精灵墓地的最终秘密,即将揭晓。</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-33.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="#" class="nav-btn disabled">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter current">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(34)) {
|
||||
readChapters.push(34);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
520
alacarte-novel-website/chapters/chapter-4.html
Normal file
520
alacarte-novel-website/chapters/chapter-4.html
Normal file
@ -0,0 +1,520 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 4</div>
|
||||
<h1 class="chapter-title">幽暗密林深处</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>三天后,林克的伤基本痊愈。</p>
|
||||
<p>这三天里,他一直在阿甘左的指导下进行基础训练。挥剑、闪避、步法,一遍又一遍,直到每个动作都成为本能。</p>
|
||||
<p>"你的基础很扎实。"阿甘左说,"但基础只是地基,真正决定胜负的是临场应变。"</p>
|
||||
<p>"所以?"</p>
|
||||
<p>"所以今天你要去幽暗密林深处。"阿甘左看着他,"那里有你需要面对的东西。"</p>
|
||||
<p>林克愣了一下,想起三天前听到的神秘咆哮。</p>
|
||||
<p>"那是……什么?"</p>
|
||||
<p>"你会知道的。"阿甘左没有正面回答,"准备好了就出发。"</p>
|
||||
<p>---</p>
|
||||
<p>林克再次进入幽暗密林深处,遭遇猫妖王。那是一只体型比普通猫妖大三倍以上的怪物,浑身覆盖着暗紫色的皮毛,脖颈处有着和林克一样的卡赞诅咒印记。</p>
|
||||
<p>战斗异常惨烈。猫妖王的速度和力量都远超林克的想象,他很快就陷入了绝境。</p>
|
||||
<p>就在生死关头,林克体内的卡赞诅咒再次觉醒。这一次,他没有抗拒,而是任由那股狂暴的力量在体内奔涌。</p>
|
||||
<p>他的眼睛变成了血红色,世界在他眼中变得缓慢而清晰。太刀带着血色的刀芒,精准地刺入猫妖王脖颈处的诅咒印记核心。</p>
|
||||
<p>"噗嗤——!"</p>
|
||||
<p>猫妖王发出凄厉的惨叫,庞大的身躯轰然倒地。</p>
|
||||
<p>当红色的光芒从林克眼中褪去,他跪在地上,大口喘着粗气。刚才那一击,几乎耗尽了他全部的体力。</p>
|
||||
<p>"你觉醒了。"阿甘左的声音从身后传来。</p>
|
||||
<p>林克艰难地转过头,看到阿甘左不知什么时候出现在了空地边缘。</p>
|
||||
<p>"那是卡赞诅咒的力量?"</p>
|
||||
<p>"一部分。"阿甘左蹲下来,和他平视,"卡赞诅咒是一把双刃剑。它能给你力量,也能吞噬你的心智。你刚才的状态很危险,如果你再不收手,可能会失控。"</p>
|
||||
<p>林克沉默。</p>
|
||||
<p>"猫妖王脖颈上的印记……和你的一样。"阿甘左说,"它是被卡赞诅咒侵蚀的生物,已经失去了理智。你如果继续依赖诅咒的力量,迟早也会变成那样。"</p>
|
||||
<p>"那怎么办?"林克问,"我怎么才能控制它?"</p>
|
||||
<p>阿甘左沉默片刻,然后说:"这是一个漫长的过程。你需要学会驾驭诅咒,而不是被诅咒驾驭。这需要时间,也需要机缘。"</p>
|
||||
<p>"机缘?"</p>
|
||||
<p>"有些事,现在还不能告诉你。"阿甘左站起身,"等你变强了,自然会知道。"</p>
|
||||
<p>---</p>
|
||||
<p>回到艾尔文防线时,赛丽亚看到林克满身是血的样子,眼眶一下子红了。</p>
|
||||
<p>"你怎么……怎么每次都这样……"</p>
|
||||
<p>"我没事。"林克勉强笑了笑,"这次赢得很漂亮。"</p>
|
||||
<p>处理完伤口后,林克躺在床上,脑海中不断回放着今天发生的事。</p>
|
||||
<p>猫妖王脖颈上的印记、阿甘左说的话、诅咒的力量……</p>
|
||||
<p>"卡赞诅咒到底是什么……"</p>
|
||||
<p>他抬起手,看着皮肤下隐约浮现的红色纹路。</p>
|
||||
<p>那天晚上,他做了一个梦。梦中,他看到一片燃烧的战场,一个高大的身影站在战场中央,手中握着一把燃烧着黑色火焰的巨剑。</p>
|
||||
<p>那个身影转过头,看向梦中的林克。</p>
|
||||
<p>"你会来的。"</p>
|
||||
<p>"你会来找我,林克。"</p>
|
||||
<p>---</p>
|
||||
<p>(第四章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-3.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-5.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter current">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(4)) {
|
||||
readChapters.push(4);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
544
alacarte-novel-website/chapters/chapter-5.html
Normal file
544
alacarte-novel-website/chapters/chapter-5.html
Normal file
@ -0,0 +1,544 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 5</div>
|
||||
<h1 class="chapter-title">雷鸣废墟</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>一个月后。林克站在艾尔文防线的边缘,看着远处被雷电笼罩的区域。</p>
|
||||
<p>"那里就是雷鸣废墟。"阿甘左站在他身后,"闪电哥布林的领地。"</p>
|
||||
<p>"我能感觉到。"林克眯起眼睛,"空气中有电流的气息。"</p>
|
||||
<p>这一个月里,他每天都在进行高强度的训练。挥剑、闪避、体能,然后再挥剑、再闪避、再体能。循环往复,永无止境。</p>
|
||||
<p>但他从不抱怨。</p>
|
||||
<p>因为每一次训练,他都能感觉到自己在变强。体内的诅咒力量也不再像之前那样狂暴,而是逐渐变得温顺,像是一头被驯服的野兽。</p>
|
||||
<p>当然,这只是假象。</p>
|
||||
<p>---</p>
|
||||
<p>雷鸣废墟比他想象中还要诡异。</p>
|
||||
<p>天空永远笼罩着乌云,闪电在云层中不断闪烁。空气中弥漫着一股臭氧的味道,刺激着他的鼻腔。地面是焦黑色的,仿佛被雷电常年轰炸过,到处都是深浅不一的坑洞。</p>
|
||||
<p>"噼啪——"</p>
|
||||
<p>一道闪电从天而降,落在林克前方不到十米的地方。</p>
|
||||
<p>"这就是闪电哥布林的领地……"</p>
|
||||
<p>林克警惕地看着四周,缓慢前行。</p>
|
||||
<p>这里的能见度很低,闪电的光芒每隔几秒就会照亮整个废墟。在那短暂的光亮中,林克能看到废墟中游荡的身影。</p>
|
||||
<p>哥布林。到处都是哥布林。</p>
|
||||
<p>它们和外面的普通哥布林不同,身体呈灰蓝色,皮肤像是被雷电劈焦了一样。手中的木棒顶端镶嵌着蓝色的水晶球,不断闪烁着电光。</p>
|
||||
<p>"闪电哥布林……"</p>
|
||||
<p>林克数了一下,至少有二十只。</p>
|
||||
<p>这还是他能看到的。在这片废墟里,不知道还有多少隐藏在暗处。</p>
|
||||
<p>---</p>
|
||||
<p>战斗瞬间打响。</p>
|
||||
<p>"嘎——!"</p>
|
||||
<p>一只闪电哥布林发现了林克,发出了刺耳的尖叫。</p>
|
||||
<p>几乎是同时,二十多只闪电哥布林同时转向他,眼中闪烁着嗜血的光芒。</p>
|
||||
<p>"噼里啪啦——!"</p>
|
||||
<p>蓝色的电光从它们手中的水晶球中迸发而出,汇聚成一道道闪电链,像是群蛇乱舞般向林克劈来。</p>
|
||||
<p>"太快了!"</p>
|
||||
<p>林克咬牙,身体一侧,险之又险地躲过第一道闪电。但第二道、第三道闪电紧随其后,让他避无可避。</p>
|
||||
<p>"轰——!"</p>
|
||||
<p>闪电击中了他的肩膀。</p>
|
||||
<p>剧烈的疼痛从肩膀蔓延开来,林克感觉整条手臂都失去了知觉。他的身体被电流击中,不由自主地颤抖起来。</p>
|
||||
<p>---</p>
|
||||
<p>就在林克陷入绝境时,一只体型格外庞大的闪电哥布林出现了。</p>
|
||||
<p>那是一只哥布林王。</p>
|
||||
<p>身高超过三米,浑身的皮肤呈深蓝色,像是蕴含着无穷的雷电能量。它的眼睛是银白色的,瞳孔中不断有电光闪烁。最引人注目的是它头顶的角——两根螺旋形的蓝色水晶角,不断向外散发着噼里啪啦的电火花。</p>
|
||||
<p>"闪电哥布林王……"</p>
|
||||
<p>林克握紧太刀,体内诅咒力量开始运转。</p>
|
||||
<p>这是他面对过的最强敌人。</p>
|
||||
<p>---</p>
|
||||
<p>在闪电哥布林王的压迫下,林克体内的卡赞血脉突然发生了变化。</p>
|
||||
<p>原本狂暴的红色血气开始凝聚,在他身后形成一个模糊的人形虚影。</p>
|
||||
<p>那是一个战士的轮廓,手持巨剑,身披战甲,散发着毁天灭地的气息。</p>
|
||||
<p>卡赞的虚影。</p>
|
||||
<p>那个虚影举起手中的巨剑,对着笼罩而来的雷电海洋,狠狠地劈下。</p>
|
||||
<p>"轰——!!!"</p>
|
||||
<p>血色的剑芒撕裂了雷电,撕裂了天空,也撕裂了闪电哥布林王的身体。</p>
|
||||
<p>战斗结束。</p>
|
||||
<p>---</p>
|
||||
<p>红色的血气从林克身上缓缓散去,那个模糊的人形虚影也逐渐消失。</p>
|
||||
<p>林克跪在地上,大口大口地喘着粗气。</p>
|
||||
<p>"刚才那个虚影……是什么?"</p>
|
||||
<p>"卡赞的虚影。"阿甘左不知何时出现在他身边,"那是卡赞血脉觉醒的征兆。"</p>
|
||||
<p>"卡赞血脉?"</p>
|
||||
<p>"你是卡赞血脉的继承者。"阿甘左说,"而且,是最纯净的血脉之一。"</p>
|
||||
<p>"最纯净?"</p>
|
||||
<p>"普通的鬼剑士,体内只有一丝卡赞的血脉。但你不同。你体内的卡赞血脉,纯净到可以召唤出卡赞的虚影。"</p>
|
||||
<p>"那刚才那个影子……"</p>
|
||||
<p>"是卡赞残留在世间的意志。"阿甘左说,"当你体内的血脉觉醒到一定程度时,就可以借用那股意志的力量。"</p>
|
||||
<p>林克沉默了。</p>
|
||||
<p>原来如此。</p>
|
||||
<p>原来他体内流淌的,是卡赞的血脉。</p>
|
||||
<p>---</p>
|
||||
<p>(第五章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-4.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-6.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter current">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(5)) {
|
||||
readChapters.push(5);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
551
alacarte-novel-website/chapters/chapter-6.html
Normal file
551
alacarte-novel-website/chapters/chapter-6.html
Normal file
@ -0,0 +1,551 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 6</div>
|
||||
<h1 class="chapter-title">格拉卡</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>清晨的艾尔文防线笼罩在薄雾中。</p>
|
||||
<p>林克站在旅馆门口,检查着自己的装备。太刀"赤星"经过林纳斯的打磨,刀刃比之前更加锋利。防具上的划痕已经被修补好,虽然看起来有些陈旧,但穿起来依然结实可靠。</p>
|
||||
<p>"我准备好了。"</p>
|
||||
<p>赛丽亚的声音从身后传来。</p>
|
||||
<p>林克转过身,看到赛丽亚背着一个小背包,手里握着一根木质法杖。她穿着一件浅蓝色的冒险者斗篷,头发扎成利落的马尾。</p>
|
||||
<p>"你真的要去?"林克皱起眉头,"格拉卡比雷鸣废墟更危险。"</p>
|
||||
<p>"答应过你的事,我不会反悔。"赛丽亚微微一笑,"而且,我可不是完全没用的。"</p>
|
||||
<p>她举起手中的法杖,轻轻念了一句咒语。一道柔和的白光从法杖顶端亮起,笼罩在林克身上。他顿时感觉体力恢复了不少。</p>
|
||||
<p>"治愈术?"林克惊讶地看着她。</p>
|
||||
<p>"只是基础的恢复魔法。"赛丽亚有些不好意思地说,"我没有战斗能力,但至少可以帮你治疗伤口。"</p>
|
||||
<p>林克沉默了片刻,然后点了点头。</p>
|
||||
<p>"好吧。但你要答应我,一旦遇到危险,立刻躲到我身后。"</p>
|
||||
<p>"嗯。"赛丽亚认真地点头。</p>
|
||||
<p>---</p>
|
||||
<p>格拉卡的深处比外围更加荒凉。</p>
|
||||
<p>原本的密林逐渐变成了开阔的草地,但草地上的草都呈现出一种病态的黄色。地面上到处都是巨大的蹄印和深深的沟壑。</p>
|
||||
<p>"这里已经是格拉卡的外围了。"林克警惕地看着四周,"牛头怪的领地。"</p>
|
||||
<p>突然,地面开始震动。</p>
|
||||
<p>"轰——轰——轰——"</p>
|
||||
<p>沉重的脚步声从前方传来。林克和赛丽亚同时抬头看去,只见一个巨大的身影正从雾气中缓缓走来。</p>
|
||||
<p>那是一只牛头怪。</p>
|
||||
<p>但和之前遇到的那只完全不同。</p>
|
||||
<p>它的身高超过三米,浑身肌肉如同岩石般坚硬,皮毛呈现出一种诡异的血红色。两只牛角比普通牛头怪大了整整一圈。最引人注目的是它的眼睛——那双眼睛中没有普通牛头怪的狂暴和混乱,而是闪烁着智慧和狡诈的光芒。</p>
|
||||
<p>"牛头王……萨乌塔……"林克的声音有些干涩。</p>
|
||||
<p>这就是格兰之森中最强大的怪物之一,牛头怪族群的首领。</p>
|
||||
<p>---</p>
|
||||
<p>战斗瞬间爆发。</p>
|
||||
<p>萨乌塔的速度远比林克想象中更快。它那庞大的身躯以不可思议的速度冲了过来,图腾柱带着呼啸的风声砸向林克的头顶。</p>
|
||||
<p>"好快!"</p>
|
||||
<p>林克勉强侧身躲过,图腾柱砸在地面上,激起一片尘土和碎石。他趁机挥刀斩向萨乌塔的侧腹,但刀刃砍在那血红色的皮毛上,竟然只留下一道浅浅的白痕!</p>
|
||||
<p>"什么?!"</p>
|
||||
<p>"太弱了。"萨乌塔冷冷地说,反手一挥图腾柱。</p>
|
||||
<p>林克举刀格挡,但巨大的力量直接将他击飞出去十几米远。他重重地摔在地上,感觉五脏六腑都移了位。</p>
|
||||
<p>"林克!"赛丽亚惊叫着跑了过来。</p>
|
||||
<p>"别过来!"林克艰难地爬起来,嘴角溢出一丝鲜血,"这家伙……比闪电哥布林王强太多了……"</p>
|
||||
<p>萨乌塔缓缓走近,居高临下地看着林克。</p>
|
||||
<p>"就这种程度吗?"它的声音中带着失望。</p>
|
||||
<p>林克咬紧牙关,体内的诅咒力量开始沸腾。</p>
|
||||
<p>血色的光芒在他眼中亮起,红色的血气从皮肤下渗出。</p>
|
||||
<p>"有点意思。"萨乌塔的眼中闪过一丝兴趣,"这是……鬼手的力量?"</p>
|
||||
<p>"吼——!!!"</p>
|
||||
<p>林克发出一声咆哮,整个人像是炮弹一样冲向萨乌塔。太刀带着血色的刀芒,直取萨乌塔的喉咙。</p>
|
||||
<p>"力量不错。"萨乌塔点点头,"但还不够。"</p>
|
||||
<p>它猛然发力,图腾柱上的红色宝石突然亮起,一道血色的光芒从中射出,正中林克的胸口。</p>
|
||||
<p>"噗——!"</p>
|
||||
<p>林克喷出一口鲜血,整个人再次飞了出去。这一次,他感觉全身的骨头都像是碎了一样,连站起来的力气都没有了。</p>
|
||||
<p>"林克!"</p>
|
||||
<p>赛丽亚冲到他身边,手中的法杖亮起柔和的白光,拼命为他治疗。</p>
|
||||
<p>"没用的。"萨乌塔冷冷地说,"中了我的血之诅咒,他的生命力会不断流失。就算是最强大的治愈术,也无法阻止。"</p>
|
||||
<p>赛丽亚的脸色瞬间变得惨白。</p>
|
||||
<p>"不……不会的……"</p>
|
||||
<p>她拼命催动法杖,泪水不断地从眼角滑落。</p>
|
||||
<p>---</p>
|
||||
<p>看着林克越来越苍白的脸色,赛丽亚做出了一个决定。</p>
|
||||
<p>她抬起头,看着缓缓走近的萨乌塔,眼中闪过一丝决然。</p>
|
||||
<p>"求求你……放过他……我愿意用任何东西交换……"</p>
|
||||
<p>萨乌塔停下脚步,饶有兴趣地看着她。</p>
|
||||
<p>"任何东西?"</p>
|
||||
<p>"是的……"赛丽亚咬着嘴唇,"我的生命,我的灵魂,什么都可以……"</p>
|
||||
<p>萨乌塔沉默了片刻,然后伸出手,巨大的手掌轻轻触碰赛丽亚的额头。</p>
|
||||
<p>"这是……精灵的气息?"</p>
|
||||
<p>赛丽亚的身体僵硬了。</p>
|
||||
<p>"你……你怎么知道……"</p>
|
||||
<p>"哈哈哈……"萨乌塔发出一阵低沉的笑声,"原来如此……原来如此……你就是那个'钥匙'……"</p>
|
||||
<p>"钥匙?"赛丽亚困惑地看着它。</p>
|
||||
<p>"没什么。"萨乌塔收回手,转身向远处走去,"带上他,离开这里。"</p>
|
||||
<p>"什么?"</p>
|
||||
<p>"我说,离开这里。"萨乌塔头也不回地说,"今天我不想杀人。"</p>
|
||||
<p>"趁我还没改变主意之前,快走。"</p>
|
||||
<p>---</p>
|
||||
<p>(第六章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-5.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-7.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter current">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(6)) {
|
||||
readChapters.push(6);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
553
alacarte-novel-website/chapters/chapter-7.html
Normal file
553
alacarte-novel-website/chapters/chapter-7.html
Normal file
@ -0,0 +1,553 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 7</div>
|
||||
<h1 class="chapter-title">烈焰格拉卡</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>艾尔文防线,赛丽亚旅馆。</p>
|
||||
<p>林克躺在客房的床上,脸色苍白如纸。距离格拉卡那一战已经过去三天,但萨乌塔的"血之诅咒"依然在他体内肆虐。每到夜晚,他都能感受到生命力在缓慢流失。</p>
|
||||
<p>"吱呀——"</p>
|
||||
<p>门被轻轻推开,赛丽亚端着一碗热气腾腾的药汤走了进来。</p>
|
||||
<p>"该喝药了。"</p>
|
||||
<p>林克勉强支撑起身体,接过药碗一饮而尽。苦涩的味道在口腔中蔓延,但他连眉头都没有皱一下。</p>
|
||||
<p>"感觉怎么样?"赛丽亚担忧地问。</p>
|
||||
<p>"还是老样子。"林克苦笑一声,"萨乌塔说得没错,这诅咒不是普通的治愈术能解除的。"</p>
|
||||
<p>赛丽亚的眼圈红了。</p>
|
||||
<p>"对不起……都是我连累了你……"</p>
|
||||
<p>"别说傻话。"林克打断她,"是我主动挑战萨乌塔的,和你无关。"</p>
|
||||
<p>---</p>
|
||||
<p>就在这时,门外传来沉重的脚步声。</p>
|
||||
<p>"林克小子,还活着吗?"</p>
|
||||
<p>林纳斯粗犷的声音从门外传来。门被推开,这位满脸胡须的铁匠大步走了进来,身后跟着阿甘左。</p>
|
||||
<p>"师父。"林克想要起身行礼,但被阿甘左按住了肩膀。</p>
|
||||
<p>"别动。"阿甘左的声音依然平静,"让我看看你的伤势。"</p>
|
||||
<p>他伸出手,按在林克的胸口。一股温热的力量从他掌心传入林克体内,在经脉中游走。</p>
|
||||
<p>片刻后,阿甘左收回了手,眉头微微皱起。</p>
|
||||
<p>"血之诅咒……比我想象的还要麻烦。"</p>
|
||||
<p>"有办法解除吗?"赛丽亚急切地问。</p>
|
||||
<p>阿甘左沉默了片刻,然后说道:"有两种方法。"</p>
|
||||
<p>"哪两种?"</p>
|
||||
<p>"第一种,找到施术者萨乌塔,让它主动解除诅咒。"阿甘左说,"但这几乎不可能。"</p>
|
||||
<p>"那第二种呢?"</p>
|
||||
<p>"第二种……"阿甘左看向窗外,"找到拥有净化之力的存在,用纯净的能量驱散诅咒。"</p>
|
||||
<p>"净化之力?"</p>
|
||||
<p>"烈焰格拉卡。"阿甘左缓缓说道,"那里的守护者——火女彼诺修,据说掌握着火焰的净化之力。"</p>
|
||||
<p>---</p>
|
||||
<p>烈焰格拉卡位于格兰之森的最深处,是一片被火焰永久笼罩的区域。</p>
|
||||
<p>当林克和赛丽亚踏足这片土地时,扑面而来的热浪让他们几乎无法呼吸。周围的树木早已被烧成焦炭,地面上到处都是龟裂的痕迹,裂缝中不时喷出炽热的火焰。</p>
|
||||
<p>"好热……"赛丽亚擦了擦额头的汗水。</p>
|
||||
<p>林克点点头,握紧了手中的"霜刃"。剑身上传来的清凉力量帮他抵御了一部分热浪。</p>
|
||||
<p>"小心,这里有火焰哥布林。"</p>
|
||||
<p>话音刚落,几只浑身燃烧着火焰的哥布林从岩石后面跳了出来。</p>
|
||||
<p>---</p>
|
||||
<p>当他们来到烈焰格拉卡的核心区域时,眼前的景象让两人都惊呆了。</p>
|
||||
<p>那是一片巨大的熔岩湖,湖面不时喷出炽热的岩浆。湖中央有一座由黑曜石构成的平台,平台上站着一个身穿红色长袍的女子。</p>
|
||||
<p>那就是火女彼诺修。</p>
|
||||
<p>她的长发如同燃烧的火焰般在空中飘舞,手中握着一根镶嵌着红宝石的法杖。</p>
|
||||
<p>"有趣……"她的声音清冷而高傲,"居然有人能走到这里……"</p>
|
||||
<p>"我听说您掌握着净化之力,可以解除血之诅咒。请帮帮我。"</p>
|
||||
<p>彼诺修沉默了片刻,然后——</p>
|
||||
<p>"凭什么?"</p>
|
||||
<p>"我可以付出任何代价。"林克认真地说。</p>
|
||||
<p>"任何代价?"彼诺修的眼中闪过一丝玩味,"包括你的生命?"</p>
|
||||
<p>"林克,不要!"赛丽亚惊呼。</p>
|
||||
<p>但林克却毫不犹豫地点头:"包括我的生命。"</p>
|
||||
<p>---</p>
|
||||
<p>彼诺修飞到空中,红色的长袍在热浪中猎猎作响。</p>
|
||||
<p>"如果你能在我召唤的陨石雨中存活三分钟,我就帮你解除诅咒。"</p>
|
||||
<p>天空突然变得血红。一颗颗燃烧着火焰的陨石从天而降,像是末日降临般砸向地面!</p>
|
||||
<p>"轰——轰——轰——"</p>
|
||||
<p>陨石砸在地面上,激起一片片火海。林克拼命闪避,但陨石的数量太多,覆盖范围太广,根本无处可躲!</p>
|
||||
<p>"林克!接住!"</p>
|
||||
<p>赛丽亚的声音传来,紧接着一道白光射向他。那是一颗散发着柔和光芒的水晶,落在林克手中时,他感觉一股温暖的力量涌入体内,体力瞬间恢复了不少!</p>
|
||||
<p>"这是……精灵之泪!"彼诺修的声音突然变了,"你居然有精灵之泪?!"</p>
|
||||
<p>"精灵之泪?"</p>
|
||||
<p>彼诺修的目光死死盯着赛丽亚:"你……你到底是什么人?"</p>
|
||||
<p>---</p>
|
||||
<p>三分钟的时限到了。</p>
|
||||
<p>林克冲破火墙,霜刃直指彼诺修的咽喉!</p>
|
||||
<p>彼诺修愣愣地看着眼前这个浑身是伤却依然站着的年轻人,手中的法杖缓缓放下。</p>
|
||||
<p>"……你赢了。"</p>
|
||||
<p>彼诺修落在平台上,伸出手,按在林克的胸口。</p>
|
||||
<p>一股炽热的火焰从她掌心传入林克体内,与血之诅咒激烈碰撞。</p>
|
||||
<p>片刻后,彼诺修收回了手。</p>
|
||||
<p>"好了。"</p>
|
||||
<p>林克低头看去,发现自己胸口处那个血红色的印记已经消失不见。</p>
|
||||
<p>"谢谢。"他诚恳地说。</p>
|
||||
<p>彼诺修摇摇头,转身看向赛丽亚:"我要和她单独谈谈。"</p>
|
||||
<p>---</p>
|
||||
<p>(第七章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-6.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-8.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter current">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(7)) {
|
||||
readChapters.push(7);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
544
alacarte-novel-website/chapters/chapter-8.html
Normal file
544
alacarte-novel-website/chapters/chapter-8.html
Normal file
@ -0,0 +1,544 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 8</div>
|
||||
<h1 class="chapter-title">冰霜幽暗密林</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>从烈焰格拉卡回来后,林克的身体逐渐恢复。</p>
|
||||
<p>但有一个问题始终萦绕在他心头——赛丽亚到底是什么人?</p>
|
||||
<p>"精灵的钥匙"……彼诺修说的这句话是什么意思?</p>
|
||||
<p>---</p>
|
||||
<p>这天傍晚,阿甘左找到了林克。</p>
|
||||
<p>"冰霜幽暗密林的地图。"阿甘左说,"那里住着一位冰之魔法师——冰女克拉赫。"</p>
|
||||
<p>"她和彼诺修曾经是同门。"阿甘左说,"如果彼诺修想要隐瞒什么,克拉赫一定会反其道而行之。"</p>
|
||||
<p>---</p>
|
||||
<p>第二天一早,两人出发前往冰霜幽暗密林。</p>
|
||||
<p>与烈焰格拉卡的灼热截然不同,这里是一片银装素裹的世界。参天大树被厚厚的冰雪覆盖,地面上结着厚厚的冰层。</p>
|
||||
<p>"好冷……"赛丽亚缩了缩脖子。</p>
|
||||
<p>"喝下药。"林克递给她一瓶抗寒药剂。</p>
|
||||
<p>---</p>
|
||||
<p>当他们来到冰霜幽暗密林的核心区域时,眼前的景象让两人都惊呆了。</p>
|
||||
<p>那是一座完全由冰晶构成的宫殿,宫殿的墙壁透明如镜,在阳光的照射下折射出七彩的光芒。</p>
|
||||
<p>"那就是……冰女克拉赫的居所?"赛丽亚惊叹道。</p>
|
||||
<p>---</p>
|
||||
<p>他们走进宫殿,只见大厅中央坐着一个身穿蓝色长裙的女子。她有着一头银白色的长发,皮肤白皙得近乎透明。</p>
|
||||
<p>"你们来了。"克拉赫睁开眼睛,那是一双如同蓝宝石般清澈的眼眸。</p>
|
||||
<p>"彼诺修说得没错……你确实来了。"</p>
|
||||
<p>---</p>
|
||||
<p>克拉赫开始讲述精灵族的历史。</p>
|
||||
<p>"在很久很久以前,阿拉德大陆上存在着一个强大的种族——精灵族。"</p>
|
||||
<p>"他们拥有强大的魔法力量,能够与大自然沟通。"</p>
|
||||
<p>"但在那场灾难中,精灵族几乎灭绝了……"</p>
|
||||
<p>她转过身,看着赛丽亚:"而你,就是精灵族最后的血脉。"</p>
|
||||
<p>赛丽亚的身体摇晃了一下。</p>
|
||||
<p>"我……我是精灵?"</p>
|
||||
<p>"准确地说,你是'精灵之心'的容器。"克拉赫说,"精灵族在灭亡前,将全族的力量凝聚成一颗宝石——'精灵之心'。而你,就是那颗宝石的化身。"</p>
|
||||
<p>"所以……所以才叫'钥匙'?"</p>
|
||||
<p>"因为'精灵之心'是开启'世界树'的钥匙。而世界树,连接着阿拉德大陆与神界的通道。"</p>
|
||||
<p>---</p>
|
||||
<p>就在这时,宫殿外突然传来一阵剧烈的震动!</p>
|
||||
<p>"轰——!!!"</p>
|
||||
<p>冰湖的湖面突然裂开,一个巨大的身影从湖底冲了出来!</p>
|
||||
<p>那是一只由冰块构成的巨龙,身长超过十米,浑身散发着刺骨的寒气。</p>
|
||||
<p>"冰霜巨龙!"克拉赫脸色大变。</p>
|
||||
<p>"吼——!!!"</p>
|
||||
<p>冰霜巨龙发出震耳欲聋的咆哮,张开大口,一道冰冷的龙息向宫殿喷来!</p>
|
||||
<p>"我来对付它!"林克冲了出去。</p>
|
||||
<p>---</p>
|
||||
<p>林克掏出最后两张火焰符文卷轴,同时展开!</p>
|
||||
<p>"轰——!!!"</p>
|
||||
<p>炽热的火焰从卷轴中喷涌而出,形成两条火龙,向冰霜巨龙扑去!</p>
|
||||
<p>但冰霜巨龙并没有倒下,而是更加愤怒地向林克扑来!</p>
|
||||
<p>就在这千钧一发之际——</p>
|
||||
<p>"精灵之箭!"</p>
|
||||
<p>一道绿色的光芒从赛丽亚手中射出,正中冰霜巨龙的眉心!</p>
|
||||
<p>"吼——!!!"</p>
|
||||
<p>冰霜巨龙发出最后一声哀鸣,庞大的身躯轰然倒地,化为一堆碎冰。</p>
|
||||
<p>---</p>
|
||||
<p>"看来,传承成功了。"克拉赫走到两人面前,脸上露出欣慰的笑容。</p>
|
||||
<p>"从今以后,你不再是那个只能使用基础治愈术的小女孩了。你是精灵族最后的继承者,是'精灵之心'的守护者。"</p>
|
||||
<p>赛丽亚沉默了片刻,然后抬起头,眼中闪过坚定的光芒。</p>
|
||||
<p>"我明白了。"</p>
|
||||
<p>她看向林克,轻轻握住他的手:"不管我是谁……我都会和你一起走下去。"</p>
|
||||
<p>---</p>
|
||||
<p>离开冰霜幽暗密林时,克拉赫送给了他们两样东西。</p>
|
||||
<p>第一样是一枚蓝色的水晶吊坠,可以增强赛丽亚的魔力。</p>
|
||||
<p>第二样是一张古老的地图,上面标注着"暗黑雷鸣废墟"的位置。</p>
|
||||
<p>"那里是通往死亡之地的大门。"克拉赫说,"也是你们接下来要去的地方。"</p>
|
||||
<p>"去赫顿玛尔,找GSD。"克拉赫说,"他是鬼剑士的导师,会指引你走向正确的道路。"</p>
|
||||
<p>---</p>
|
||||
<p>(第八章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-7.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-9.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter current">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(8)) {
|
||||
readChapters.push(8);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
528
alacarte-novel-website/chapters/chapter-9.html
Normal file
528
alacarte-novel-website/chapters/chapter-9.html
Normal file
@ -0,0 +1,528 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">Chapter 9</div>
|
||||
<h1 class="chapter-title">转职之路</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
<p>冰霜幽暗密林的事件结束后,林克和赛丽亚回到了艾尔文防线休整。</p>
|
||||
<p>"转职……"林克看着自己的鬼手,若有所思。</p>
|
||||
<p>一路上,他见识了狂战士的狂暴、鬼泣的神秘、阿修罗的威严。但那些力量,似乎都与他想要守护的初心有所不同。</p>
|
||||
<p>"赛丽亚,你觉得我该选择哪条路?"林克问道。</p>
|
||||
<p>赛丽亚轻轻握住他的手:"林克,你还记得我们第一次相遇时说的话吗?你说你想用剑守护重要的人。无论选择什么,不要违背你的本心就好。"</p>
|
||||
<p>林克点点头。</p>
|
||||
<p>---</p>
|
||||
<p>赫顿玛尔,贝尔玛尔公国的首都。</p>
|
||||
<p>相比艾尔文防线的简朴,这里繁华得多。街道两旁是林立的商铺,冒险者们来来往往。</p>
|
||||
<p>林克按照守护者的指引,在城西的一条小巷中找到了GSD的居所。</p>
|
||||
<p>那是一间不起眼的屋子,门口挂着一块木牌,上面写着"剑道馆"三个字。</p>
|
||||
<p>---</p>
|
||||
<p>"来了?"苍老的声音从屋内传来。</p>
|
||||
<p>林克走进内室,看到了那位传说中的剑术大师——GSD。他蒙着双眼,手中拄着一根拐杖,但浑身上下散发着令人心悸的气息。</p>
|
||||
<p>"GSD大师,我是来寻求转职指引的。"</p>
|
||||
<p>"我知道。"GSD微微一笑,"林克,鬼手持有者,阿甘左的弟子。你的事迹,我已经听说了。"</p>
|
||||
<p>---</p>
|
||||
<p>"鬼剑士有四条转职之路,你可知道?"</p>
|
||||
<p>GSD开始详细讲解:</p>
|
||||
<p>"第一条路,狂战士。他们彻底解放鬼手的力量,以鲜血为代价换取狂暴的战斗力。但这条路也最为凶险——狂战士需要不断战斗,压抑不住内心的狂暴时,甚至会攻击同伴。"</p>
|
||||
<p>"第二条路,鬼泣。他们与鬼神签订契约,借用鬼神之力战斗。但借来的力量总有代价,稍有不慎就会被反噬。"</p>
|
||||
<p>"第三条路,阿修罗。他们放弃了双眼,以心眼感知世界。但放弃视觉,意味着你永远活在黑暗之中,再也看不见……重要之人的笑容。"</p>
|
||||
<p>"第四条路,剑魂。剑魂追求极致的剑术,以剑为魂,剑在人在。他们精通各种武器,尤其擅长光剑。剑魂相信,真正强大的不是诅咒,不是鬼神,而是自己手中的剑。"</p>
|
||||
<p>---</p>
|
||||
<p>说完四条道路,GSD静静地等待着。</p>
|
||||
<p>"你心中可有倾向?"</p>
|
||||
<p>林克沉思良久。</p>
|
||||
<p>狂战士的狂暴,不是他想要的。</p>
|
||||
<p>鬼泣的鬼神之力,虽然强大,但借来的力量总有隐患。</p>
|
||||
<p>阿修罗的波动之力,他倒是颇为向往。但放弃双眼……他想起赛丽亚温柔的笑容,摇了摇头。</p>
|
||||
<p>"我想成为剑魂。"林克抬起头,目光坚定。</p>
|
||||
<p>"哦?"GSD似乎并不意外,"为何?"</p>
|
||||
<p>"因为我想靠自己的力量守护重要的人。"林克说,"师父教导我,剑是守护之器。我想像他一样,用剑守护世界,而不是依靠诅咒或鬼神。"</p>
|
||||
<p>GSD沉默了片刻,然后笑了。</p>
|
||||
<p>"很好。"他点点头,"剑魂之道,需要的正是这份觉悟。"</p>
|
||||
<p>---</p>
|
||||
<p>"但是——"GSD话锋一转,"选择了道路,还需要通过试炼,才能真正转职。"</p>
|
||||
<p>"试炼?"</p>
|
||||
<p>"暗黑雷鸣废墟。"GSD说道,"那里是格兰之森最阴森的角落,死亡的气息终年不散。你体内的鬼手之力会在那里受到压制,只有凭借纯粹的剑术和意志,才能战胜那里的僵尸王。"</p>
|
||||
<p>"如果你能通过试炼,证明你确实具备剑魂的资质,我便正式为你主持转职仪式。"</p>
|
||||
<p>林克握紧霜刃:"我明白了。"</p>
|
||||
<p>---</p>
|
||||
<p>离开剑道馆,林克将GSD的话告诉了赛丽亚。</p>
|
||||
<p>"剑魂吗……"赛丽亚微微一笑,"很适合你呢,林克。"</p>
|
||||
<p>"谢谢你一直陪在我身边。"林克看着她的眼睛,"等这次试炼结束,我们就去天空之城。"</p>
|
||||
<p>"嗯!"赛丽亚点点头,眼中闪烁着期待的光芒。</p>
|
||||
<p>---</p>
|
||||
<p>(第九章完)</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="chapter-8.html" class="nav-btn ">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="chapter-10.html" class="nav-btn ">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
<a href="chapter-1.html" class="sidebar-chapter">第1章:洛兰的风</a>
|
||||
<a href="chapter-2.html" class="sidebar-chapter">第2章:洛兰深处</a>
|
||||
<a href="chapter-3.html" class="sidebar-chapter">第3章:幽暗密林</a>
|
||||
<a href="chapter-4.html" class="sidebar-chapter">第4章:幽暗密林深处</a>
|
||||
<a href="chapter-5.html" class="sidebar-chapter">第5章:雷鸣废墟</a>
|
||||
<a href="chapter-6.html" class="sidebar-chapter">第6章:格拉卡</a>
|
||||
<a href="chapter-7.html" class="sidebar-chapter">第7章:烈焰格拉卡</a>
|
||||
<a href="chapter-8.html" class="sidebar-chapter">第8章:冰霜幽暗密林</a>
|
||||
<a href="chapter-9.html" class="sidebar-chapter current">第9章:转职之路</a>
|
||||
<a href="chapter-10.html" class="sidebar-chapter">第10章:暗黑雷鸣废墟</a>
|
||||
<a href="chapter-11.html" class="sidebar-chapter">第11章:剑魂转职仪式</a>
|
||||
<a href="chapter-12.html" class="sidebar-chapter">第12章:西海岸</a>
|
||||
<a href="chapter-13.html" class="sidebar-chapter">第13章:龙人之塔</a>
|
||||
<a href="chapter-14.html" class="sidebar-chapter">第14章:人偶玄关</a>
|
||||
<a href="chapter-15.html" class="sidebar-chapter">第15章:石巨人塔</a>
|
||||
<a href="chapter-16.html" class="sidebar-chapter">第16章:黑暗玄廊</a>
|
||||
<a href="chapter-17.html" class="sidebar-chapter">第17章:城主宫殿</a>
|
||||
<a href="chapter-18.html" class="sidebar-chapter">第18章:番外·悬空城</a>
|
||||
<a href="chapter-19.html" class="sidebar-chapter">第19章:天帷巨兽·神殿外围</a>
|
||||
<a href="chapter-20.html" class="sidebar-chapter">第20章:树精丛林</a>
|
||||
<a href="chapter-21.html" class="sidebar-chapter">第21章:炼狱</a>
|
||||
<a href="chapter-22.html" class="sidebar-chapter">第22章:西海岸的闲暇</a>
|
||||
<a href="chapter-23.html" class="sidebar-chapter">第23章:极昼</a>
|
||||
<a href="chapter-24.html" class="sidebar-chapter">第24章:第一脊椎</a>
|
||||
<a href="chapter-25.html" class="sidebar-chapter">第25章:赫顿玛尔的准备</a>
|
||||
<a href="chapter-26.html" class="sidebar-chapter">第26章:第二脊椎</a>
|
||||
<a href="chapter-27.html" class="sidebar-chapter">第27章:重逢的温柔</a>
|
||||
<a href="chapter-28.html" class="sidebar-chapter">第28章:暗精灵的委托</a>
|
||||
<a href="chapter-29.html" class="sidebar-chapter">第29章:阿法利亚营地</a>
|
||||
<a href="chapter-30.html" class="sidebar-chapter">第30章:浅栖之地</a>
|
||||
<a href="chapter-31.html" class="sidebar-chapter">第31章:蜘蛛洞穴</a>
|
||||
<a href="chapter-32.html" class="sidebar-chapter">第32章:克伦特的委托</a>
|
||||
<a href="chapter-33.html" class="sidebar-chapter">第33章:暗精灵墓地·左翼守卫</a>
|
||||
<a href="chapter-34.html" class="sidebar-chapter">第34章:暗精灵墓地·剩余三将军</a>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(9)) {
|
||||
readChapters.push(9);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
2088
alacarte-novel-website/css/style.css
Normal file
2088
alacarte-novel-website/css/style.css
Normal file
File diff suppressed because it is too large
Load Diff
BIN
alacarte-novel-website/images/cover.png
Normal file
BIN
alacarte-novel-website/images/cover.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.0 MiB |
221
alacarte-novel-website/index.html
Normal file
221
alacarte-novel-website/index.html
Normal file
@ -0,0 +1,221 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<!-- 导航栏 -->
|
||||
<nav class="navbar">
|
||||
<div class="nav-container">
|
||||
<a href="index.html" class="logo">
|
||||
<span class="logo-icon">⚔️</span>
|
||||
<span class="logo-text">阿拉德文库</span>
|
||||
</a>
|
||||
<div class="nav-links">
|
||||
<a href="index.html" class="active">首页</a>
|
||||
<a href="chapters.html">目录</a>
|
||||
<a href="wiki.html">设定集</a>
|
||||
<a href="#about">关于</a>
|
||||
</div>
|
||||
<div class="nav-actions">
|
||||
<button class="theme-toggle" id="themeToggle">
|
||||
<span class="theme-icon">🌙</span>
|
||||
</button>
|
||||
<button class="menu-toggle" id="menuToggle">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 英雄区域 -->
|
||||
<section class="hero">
|
||||
<div class="hero-bg"></div>
|
||||
<div class="hero-particles" id="particles"></div>
|
||||
<div class="hero-content">
|
||||
<div class="book-showcase">
|
||||
<div class="book-cover">
|
||||
<div class="book-spine"></div>
|
||||
<div class="book-front" style="background: url('images/cover.png') center/cover no-repeat;">
|
||||
<div class="cover-overlay"></div>
|
||||
<div class="cover-title">
|
||||
<h1>阿拉德</h1>
|
||||
<h2>剑之回响</h2>
|
||||
</div>
|
||||
<div class="cover-author">作者:李策</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="book-shadow"></div>
|
||||
</div>
|
||||
<div class="hero-info">
|
||||
<div class="badge">🔥 热门连载</div>
|
||||
<h1 class="hero-title">阿拉德:剑之回响</h1>
|
||||
<p class="hero-subtitle">DNF同人 · 热血冒险 · 剑魂传说</p>
|
||||
<p class="hero-description">
|
||||
跟随林克的脚步,从洛兰小村庄出发,一路成长为剑魂大师。<br>
|
||||
格兰之森的危机、天空之城的秘密、使徒的阴谋……<br>
|
||||
一段波澜壮阔的冒险传奇正在展开!
|
||||
</p>
|
||||
<div class="hero-stats">
|
||||
<div class="stat">
|
||||
<span class="stat-number">14</span>
|
||||
<span class="stat-label">已更新章节</span>
|
||||
</div>
|
||||
<div class="stat">
|
||||
<span class="stat-number">50k+</span>
|
||||
<span class="stat-label">总字数</span>
|
||||
</div>
|
||||
<div class="stat">
|
||||
<span class="stat-number">⭐⭐⭐⭐⭐</span>
|
||||
<span class="stat-label">读者评分</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-actions">
|
||||
<a href="chapters/chapter-1.html" class="btn btn-primary">
|
||||
<span>开始阅读</span>
|
||||
<svg class="btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M5 12h14M12 5l7 7-7 7"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="chapters.html" class="btn btn-secondary">
|
||||
<span>查看目录</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 最新章节 -->
|
||||
<section class="latest-chapters">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2 class="section-title">
|
||||
<span class="title-icon">📖</span>
|
||||
最新章节
|
||||
</h2>
|
||||
<a href="chapters.html" class="view-all">
|
||||
查看全部
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M9 18l6-6-6-6"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
<div class="chapters-grid" id="latestChapters">
|
||||
<!-- 章节卡片将通过JS动态生成 -->
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 故事简介 -->
|
||||
<section class="story-intro" id="about">
|
||||
<div class="container">
|
||||
<div class="intro-content">
|
||||
<div class="intro-text">
|
||||
<h2 class="section-title">故事简介</h2>
|
||||
<div class="intro-block">
|
||||
<h3>🎮 基于DNF60版本经典地图</h3>
|
||||
<p>严格按照DNF 60版本地图等级推进,从洛兰到格兰之森,从天空之城到天帷巨兽,带你重温经典游戏场景,体验原汁原味的阿拉德大陆。</p>
|
||||
</div>
|
||||
<div class="intro-block">
|
||||
<h3>⚔️ 剑魂的成长之路</h3>
|
||||
<p>主角林克从鬼剑士成长为剑魂,掌握武器大师特性,灵活切换五种武器应对不同敌人。太刀、巨剑、短剑、钝器、光剑——在战斗中体验策略与技巧的完美结合。</p>
|
||||
</div>
|
||||
<div class="intro-block">
|
||||
<h3>🔥 热血冒险与深度剧情</h3>
|
||||
<p>不只是打怪升级,更是一段关于成长、友情与守护的传奇。赛丽亚的身世之谜、GSD的往事、天空之城的秘密……层层递进的剧情让你欲罢不能。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="intro-visual">
|
||||
<div class="world-map">
|
||||
<div class="map-region" style="--delay: 0s">
|
||||
<span class="region-icon">🌲</span>
|
||||
<span class="region-name">洛兰</span>
|
||||
</div>
|
||||
<div class="map-region" style="--delay: 0.1s">
|
||||
<span class="region-icon">🏰</span>
|
||||
<span class="region-name">赫顿玛尔</span>
|
||||
</div>
|
||||
<div class="map-region" style="--delay: 0.2s">
|
||||
<span class="region-icon">☁️</span>
|
||||
<span class="region-name">天空之城</span>
|
||||
</div>
|
||||
<div class="map-region" style="--delay: 0.3s">
|
||||
<span class="region-icon">🐋</span>
|
||||
<span class="region-name">天帷巨兽</span>
|
||||
</div>
|
||||
<div class="map-line"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 角色展示 -->
|
||||
<section class="characters">
|
||||
<div class="container">
|
||||
<h2 class="section-title center">
|
||||
<span class="title-icon">👥</span>
|
||||
主要角色
|
||||
</h2>
|
||||
<div class="characters-grid">
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">
|
||||
<div class="avatar-bg"></div>
|
||||
<span class="avatar-icon">🗡️</span>
|
||||
</div>
|
||||
<h3>林克</h3>
|
||||
<p class="character-role">主角 · 剑魂</p>
|
||||
<p class="character-desc">从虚祖出发的鬼剑士,追求极致剑术,武器大师,掌握五种武器切换。</p>
|
||||
</div>
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">
|
||||
<div class="avatar-bg" style="--hue: 120"></div>
|
||||
<span class="avatar-icon">✨</span>
|
||||
</div>
|
||||
<h3>赛丽亚</h3>
|
||||
<p class="character-role">女主 · 元素师</p>
|
||||
<p class="character-desc">艾尔文防线的神秘少女,真实身份是精灵族最后的血脉,林克的最重要的伙伴。</p>
|
||||
</div>
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">
|
||||
<div class="avatar-bg" style="--hue: 240"></div>
|
||||
<span class="avatar-icon">👁️</span>
|
||||
</div>
|
||||
<h3>GSD</h3>
|
||||
<p class="character-role">导师 · 阿修罗</p>
|
||||
<p class="character-desc">赫顿玛尔的传奇剑士,林克的师父,实力深不可测的"开挂瞎子"。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 页脚 -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<div class="footer-content">
|
||||
<div class="footer-brand">
|
||||
<span class="logo-icon">⚔️</span>
|
||||
<span class="logo-text">阿拉德文库</span>
|
||||
</div>
|
||||
<p class="footer-desc">为《阿拉德:剑之回响》打造的专属阅读平台</p>
|
||||
<div class="footer-links">
|
||||
<a href="index.html">首页</a>
|
||||
<a href="chapters.html">目录</a>
|
||||
<a href="#about">关于</a>
|
||||
</div>
|
||||
<p class="footer-copyright">© 2026 阿拉德:剑之回响 · 李策 著</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
733
alacarte-novel-website/js/app.js
Normal file
733
alacarte-novel-website/js/app.js
Normal file
@ -0,0 +1,733 @@
|
||||
// 章节数据
|
||||
const chaptersData = [
|
||||
{ id: 1, title: "第一章:洛兰", subtitle: "初入艾尔文防线", desc: "林克初到艾尔文防线,在洛兰森林遭遇哥布林,被阿甘左救下。", status: "已完结", date: "2026-03-20" },
|
||||
{ id: 2, title: "第二章:洛兰深处", subtitle: "哥布林头目", desc: "林克在阿甘左指导下修炼剑术,深入洛兰深处击败哥布林头目。", status: "已完结", date: "2026-03-20" },
|
||||
{ id: 3, title: "第三章:幽暗密林", subtitle: "猫妖的伏击", desc: "林克进入格兰之森深处的幽暗密林,遭遇猫妖伏击,历经苦战突破重围。", status: "已完结", date: "2026-03-23" },
|
||||
{ id: 4, title: "第四章:幽暗密林深处", subtitle: "猫妖王", desc: "林克再次进入幽暗密林深处,遭遇猫妖王,揭开卡赞诅咒的部分真相。", status: "已完结", date: "2026-03-23" },
|
||||
{ id: 5, title: "第五章:雷鸣废墟", subtitle: "闪电哥布林", desc: "林克挑战雷鸣废墟,遭遇闪电哥布林,经历雷电危机。", status: "已完结", date: "2026-03-23" },
|
||||
{ id: 6, title: "第六章:格拉卡", subtitle: "牛头王萨乌塔", desc: "林克进入格拉卡,面对强大的牛头王萨乌塔,激战突破自身极限。", status: "已完结", date: "2026-03-23" },
|
||||
{ id: 7, title: "第七章:烈焰格拉卡", subtitle: "火女彼诺修", desc: "林克挑战火女彼诺修,她的血之诅咒让战斗更加凶险。", status: "已完结", date: "2026-03-23" },
|
||||
{ id: 8, title: "第八章:冰霜幽暗密林", subtitle: "冰女克拉赫", desc: "为寻找赛丽亚身世线索,林克前往冰霜幽暗密林挑战冰女克拉赫。", status: "已完结", date: "2026-03-23" },
|
||||
{ id: 9, title: "第九章:转职之路", subtitle: "选择剑魂", desc: "林克前往赫顿玛尔寻找GSD,了解四大转职方向,坚定选择剑魂之道。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 10, title: "第十章:暗黑雷鸣废墟", subtitle: "转职试炼", desc: "林克在暗黑雷鸣废墟完成转职试炼,在死亡气息中验证自己的剑道。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 11, title: "第十一章:剑魂转职仪式", subtitle: "武器大师", desc: "GSD为林克举行正式转职仪式,详细讲解剑魂武器大师特性。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 12, title: "第十二章:西海岸", subtitle: "天空之城入口", desc: "林克前往西海岸了解天空之城背景,GSD决定同行。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 13, title: "第十三章:龙人之塔", subtitle: "GSD带队", desc: "GSD亲自带队刷龙人之塔,展现'开挂瞎子'的恐怖实力。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 14, title: "第十四章:人偶玄关", subtitle: "觉醒技能", desc: "GSD带队刷人偶玄关,展现阿修罗觉醒技能'暗天波动眼'。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 15, title: "第十五章:石巨人塔", subtitle: "独立挑战", desc: "林克和赛丽亚独立挑战石巨人塔,面对黄金巨人普拉塔尼。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 16, title: "第十六章:黑暗玄廊", subtitle: "光明与黑暗", desc: "回赫顿玛尔交任务,探索黑暗玄廊,击败天之驱逐者。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 17, title: "第十七章:城主宫殿", subtitle: "光之城主", desc: "面对光之城主赛格哈特,净化光之核心,揭晓晨曦的来历。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 18, title: "第十八章:番外·悬空城", subtitle: "光之骑士", desc: "探索天空之城最深处,恢复晨曦的光芒,获得光之骑士称号。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 19, title: "第十九章:天帷巨兽·神殿外围", subtitle: "使徒的呼唤", desc: "前往天帷巨兽调查GBL教异变,遭遇第二使徒罗特斯的精神控制。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 20, title: "第二十章:树精丛林", subtitle: "禁忌实验", desc: "探索GBL教的秘密实验室,发现使徒融合实验,击败树精王。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 21, title: "第二十一章:炼狱", subtitle: "火焰试炼", desc: "穿越夜叉栖息的炼狱,击败夜叉王,晨曦恢复七成。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 22, title: "第二十二章:西海岸的闲暇", subtitle: "支线与成长", desc: "返回西海岸休整,完成支线任务,与卡坤互动,学会拔刀斩。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 23, title: "第二十三章:极昼", subtitle: "天空之巅", desc: "赛丽亚因精神污染离队,林克独自挑战极昼,击败EX多尼尔。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 24, title: "第二十四章:第一脊椎", subtitle: "圣光降临", desc: "圣骑士艾伦加入队伍,联手击败巨型黑章鱼,晨曦恢复九成。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 25, title: "第二十五章:赫顿玛尔的准备", subtitle: "天界科技", desc: "凯丽制造抗精神干扰手环,为最终决战做准备。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 26, title: "第二十六章:第二脊椎", subtitle: "使徒决战", desc: "最终BOSS罗特斯,晨曦完全觉醒,天帷巨兽篇完结。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 27, title: "第二十七章:重逢的温柔", subtitle: "赛丽亚线", desc: "林克与赛丽亚久别重逢,两人感情突破,正式确立关系。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 28, title: "第二十八章:暗精灵的委托", subtitle: "后宫建立", desc: "莎兰暧昧互动,奥菲利亚表白加入后宫,前往暗黑城新任务。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 29, title: "第二十九章:阿法利亚营地", subtitle: "暗黑城篇开启", desc: "抵达阿法利亚营地,接受克伦特委托,后宫修罗场帐篷同眠。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 30, title: "第三十章:浅栖之地", subtitle: "寻找摩根", desc: "探索浅栖之地,击败怨恨之摩根,发现夏普伦长老的阴谋。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 31, title: "第三十一章:蜘蛛洞穴", subtitle: "猛龙断空斩", desc: "首次实战使用猛龙断空斩,击败BOSS艾克洛索,突破Lv.50。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 32, title: "第三十二章:克伦特的委托", subtitle: "四把钥匙", desc: "返回营地汇报,接受克伦特委托,准备前往暗精灵墓地收集四把钥匙。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 33, title: "第三十三章:暗精灵墓地·左翼守卫", subtitle: "奥菲利亚线", desc: "击败火焰骷髅将军获得第一把钥匙,奥菲利亚献身,后宫正式确立。", status: "已完结", date: "2026-03-24" },
|
||||
{ id: 34, title: "第三十四章:暗精灵墓地·剩余三将军", subtitle: "三战连捷", desc: "连续击败冰冻、速度、剧毒三位骷髅将军,集齐四把钥匙。", status: "已完结", date: "2026-03-25" }
|
||||
];
|
||||
|
||||
// DOM加载完成后初始化
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
initTheme();
|
||||
initNavigation();
|
||||
initParticles();
|
||||
|
||||
// 根据页面类型初始化不同功能
|
||||
const currentPage = window.location.pathname.split('/').pop() || 'index.html';
|
||||
|
||||
if (currentPage === 'index.html' || currentPage === '') {
|
||||
renderLatestChapters();
|
||||
} else if (currentPage === 'chapters.html') {
|
||||
renderChaptersList();
|
||||
setupFilters();
|
||||
setupSearch();
|
||||
updateReadingProgress();
|
||||
} else if (currentPage === 'reader.html') {
|
||||
initReader();
|
||||
} else if (currentPage.startsWith('chapter-')) {
|
||||
// 独立章节页面初始化
|
||||
initChapterReader();
|
||||
}
|
||||
|
||||
// 初始化回到顶部按钮
|
||||
initScrollTop();
|
||||
|
||||
// 初始化阅读器设置
|
||||
initReaderSettings();
|
||||
});
|
||||
|
||||
// ==================== 主题切换 ====================
|
||||
function initTheme() {
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
if (!themeToggle) return;
|
||||
|
||||
// 检查本地存储的主题
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
updateThemeIcon(savedTheme);
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
updateThemeIcon(newTheme);
|
||||
});
|
||||
}
|
||||
|
||||
function updateThemeIcon(theme) {
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
if (!themeToggle) return;
|
||||
|
||||
const icon = themeToggle.querySelector('.theme-icon');
|
||||
icon.textContent = theme === 'dark' ? '🌙' : '☀️';
|
||||
}
|
||||
|
||||
// ==================== 导航栏 ====================
|
||||
function initNavigation() {
|
||||
const menuToggle = document.getElementById('menuToggle');
|
||||
const navLinks = document.querySelector('.nav-links');
|
||||
|
||||
if (menuToggle && navLinks) {
|
||||
menuToggle.addEventListener('click', () => {
|
||||
navLinks.classList.toggle('active');
|
||||
menuToggle.classList.toggle('active');
|
||||
});
|
||||
}
|
||||
|
||||
// 导航栏滚动效果
|
||||
let lastScroll = 0;
|
||||
const navbar = document.querySelector('.navbar');
|
||||
|
||||
window.addEventListener('scroll', () => {
|
||||
const currentScroll = window.pageYOffset;
|
||||
|
||||
if (currentScroll > 100) {
|
||||
navbar.style.background = 'rgba(15, 15, 26, 0.95)';
|
||||
} else {
|
||||
navbar.style.background = 'rgba(15, 15, 26, 0.8)';
|
||||
}
|
||||
|
||||
lastScroll = currentScroll;
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 粒子效果 ====================
|
||||
function initParticles() {
|
||||
const particlesContainer = document.getElementById('particles');
|
||||
if (!particlesContainer) return;
|
||||
|
||||
// 创建粒子
|
||||
for (let i = 0; i < 30; i++) {
|
||||
const particle = document.createElement('div');
|
||||
particle.className = 'particle';
|
||||
particle.style.cssText = `
|
||||
position: absolute;
|
||||
width: ${Math.random() * 4 + 2}px;
|
||||
height: ${Math.random() * 4 + 2}px;
|
||||
background: rgba(99, 102, 241, ${Math.random() * 0.3 + 0.1});
|
||||
border-radius: 50%;
|
||||
left: ${Math.random() * 100}%;
|
||||
top: ${Math.random() * 100}%;
|
||||
animation: particleFloat ${Math.random() * 10 + 10}s ease-in-out infinite;
|
||||
animation-delay: ${Math.random() * 5}s;
|
||||
`;
|
||||
particlesContainer.appendChild(particle);
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 首页最新章节 ====================
|
||||
function renderLatestChapters() {
|
||||
const container = document.getElementById('latestChapters');
|
||||
if (!container) return;
|
||||
|
||||
// 获取最新的6章
|
||||
const latestChapters = chaptersData.slice(-6).reverse();
|
||||
|
||||
container.innerHTML = latestChapters.map(chapter => `
|
||||
<a href="chapters/chapter-${chapter.id}.html" class="chapter-card">
|
||||
<div class="chapter-number">${chapter.id}</div>
|
||||
<div class="chapter-info">
|
||||
<h3 class="chapter-title">${chapter.title}</h3>
|
||||
<p class="chapter-desc">${chapter.desc}</p>
|
||||
<div class="chapter-meta">
|
||||
<span>${chapter.date}</span>
|
||||
<span class="chapter-status">${chapter.status}</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
`).join('');
|
||||
}
|
||||
|
||||
// ==================== 章节列表页 ====================
|
||||
function renderChaptersList() {
|
||||
const container = document.getElementById('chaptersList');
|
||||
if (!container) return;
|
||||
|
||||
container.innerHTML = chaptersData.map(chapter => `
|
||||
<div class="timeline-item" data-chapter="${chapter.id}">
|
||||
<div class="timeline-marker"></div>
|
||||
<a href="chapters/chapter-${chapter.id}.html" class="timeline-content">
|
||||
<div class="timeline-header">
|
||||
<h3>${chapter.title}</h3>
|
||||
<span class="timeline-date">${chapter.date}</span>
|
||||
</div>
|
||||
<p class="timeline-subtitle">${chapter.subtitle}</p>
|
||||
<p class="timeline-desc">${chapter.desc}</p>
|
||||
</a>
|
||||
</div>
|
||||
`).join('');
|
||||
}
|
||||
|
||||
function setupFilters() {
|
||||
const filterTabs = document.querySelectorAll('.filter-tab');
|
||||
|
||||
filterTabs.forEach(tab => {
|
||||
tab.addEventListener('click', () => {
|
||||
filterTabs.forEach(t => t.classList.remove('active'));
|
||||
tab.classList.add('active');
|
||||
|
||||
const filter = tab.dataset.filter;
|
||||
filterChapters(filter);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function filterChapters(filter) {
|
||||
const items = document.querySelectorAll('.timeline-item');
|
||||
|
||||
items.forEach((item, index) => {
|
||||
let show = true;
|
||||
|
||||
if (filter === 'latest') {
|
||||
show = index >= items.length - 5;
|
||||
} else if (filter === 'unread') {
|
||||
const chapterId = parseInt(item.dataset.chapter);
|
||||
const readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
show = !readChapters.includes(chapterId);
|
||||
}
|
||||
|
||||
if (show) {
|
||||
item.classList.remove('hidden');
|
||||
item.style.display = '';
|
||||
} else {
|
||||
item.classList.add('hidden');
|
||||
item.style.display = 'none';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setupSearch() {
|
||||
const searchInput = document.getElementById('searchInput');
|
||||
if (!searchInput) return;
|
||||
|
||||
searchInput.addEventListener('input', (e) => {
|
||||
const query = e.target.value.toLowerCase();
|
||||
const items = document.querySelectorAll('.timeline-item');
|
||||
|
||||
items.forEach(item => {
|
||||
const title = item.querySelector('h3').textContent.toLowerCase();
|
||||
const desc = item.querySelector('.timeline-desc').textContent.toLowerCase();
|
||||
const match = title.includes(query) || desc.includes(query);
|
||||
|
||||
if (match) {
|
||||
item.classList.remove('hidden');
|
||||
item.style.display = '';
|
||||
} else {
|
||||
item.classList.add('hidden');
|
||||
item.style.display = 'none';
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function updateReadingProgress() {
|
||||
const readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
const progress = Math.round((readChapters.length / chaptersData.length) * 100);
|
||||
|
||||
const progressFill = document.getElementById('progressFill');
|
||||
const progressText = document.getElementById('progressText');
|
||||
|
||||
if (progressFill) progressFill.style.width = `${progress}%`;
|
||||
if (progressText) progressText.textContent = `阅读进度 ${progress}%`;
|
||||
}
|
||||
|
||||
// ==================== 阅读器 ====================
|
||||
function initReader() {
|
||||
// 获取章节参数
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const chapterId = parseInt(urlParams.get('chapter')) || 1;
|
||||
|
||||
// 加载章节内容
|
||||
loadChapter(chapterId);
|
||||
|
||||
// 初始化阅读器设置
|
||||
initReaderSettings();
|
||||
|
||||
// 初始化导航
|
||||
initReaderNav(chapterId);
|
||||
|
||||
// 初始化侧边栏
|
||||
initSidebar();
|
||||
|
||||
// 记录阅读进度
|
||||
recordReadingProgress(chapterId);
|
||||
|
||||
// 自动隐藏头部和底部
|
||||
initAutoHide();
|
||||
}
|
||||
|
||||
function loadChapter(chapterId) {
|
||||
const chapter = chaptersData.find(c => c.id === chapterId);
|
||||
if (!chapter) return;
|
||||
|
||||
// 更新标题
|
||||
document.getElementById('chapterTitle').textContent = chapter.title;
|
||||
document.title = `${chapter.title} - 阿拉德:剑之回响`;
|
||||
|
||||
// 加载内容(模拟)
|
||||
const contentEl = document.getElementById('chapterContent');
|
||||
contentEl.innerHTML = `
|
||||
<div class="chapter-header">
|
||||
<h1>${chapter.title}</h1>
|
||||
<p class="chapter-subtitle">${chapter.subtitle}</p>
|
||||
</div>
|
||||
<div class="chapter-body">
|
||||
<p class="placeholder-text">正在从飞书文档加载内容...</p>
|
||||
<p class="placeholder-text">章节链接:<a href="${getChapterUrl(chapterId)}" target="_blank">在飞书文档中查看</a></p>
|
||||
</div>
|
||||
<div class="chapter-footer">
|
||||
<p>本章完</p>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
function getChapterUrl(chapterId) {
|
||||
const urls = {
|
||||
1: 'https://www.feishu.cn/docx/KBdwdTd8foLLfSxCOmDcNr1LnKe',
|
||||
2: 'https://www.feishu.cn/docx/Jt0wdpCwDoq7zKxT2TUc54Hlnmd',
|
||||
3: 'https://www.feishu.cn/docx/G0jXdqGzPoVLe9x9S9qcPzTJnsc',
|
||||
4: 'https://www.feishu.cn/docx/IckMdiy7cor3fCxap2ic1D40n4d',
|
||||
5: 'https://www.feishu.cn/docx/PQBMdL9DQosxe1xsq34czRnFnPc',
|
||||
6: 'https://www.feishu.cn/docx/XflsdWsoRoyS5Xxg91VcmkysnlK',
|
||||
7: 'https://www.feishu.cn/docx/XL9YdobRMoaSwXxTe23cpuwynkh',
|
||||
8: 'https://www.feishu.cn/docx/FJ80dI1A1oCRgIxR6i2cIXESnnd',
|
||||
9: 'https://www.feishu.cn/docx/L2tydWs0Bo84h4xE3hbcfl8MnPg',
|
||||
10: 'https://www.feishu.cn/docx/Iu2LdfRg2oEP2zxh3kRcqBJ9n1f',
|
||||
11: 'https://www.feishu.cn/docx/NEiJdna0Jo1OHEx1s84cbNgBn1e',
|
||||
12: 'https://www.feishu.cn/docx/L2j3dt7PQodXFKxSuoScT3BZnkc',
|
||||
13: 'https://www.feishu.cn/docx/WHgFdA6NXoyynwxdLmMcjZaPnfd',
|
||||
14: 'https://www.feishu.cn/docx/FhoNdTZq8oPs91xrb2Gcg2udnAh'
|
||||
};
|
||||
return urls[chapterId] || '#';
|
||||
}
|
||||
|
||||
function initReaderSettings() {
|
||||
const settingsToggle = document.getElementById('settingsToggle');
|
||||
const readerSettings = document.getElementById('readerSettings');
|
||||
const overlay = document.getElementById('overlay');
|
||||
|
||||
if (settingsToggle) {
|
||||
settingsToggle.addEventListener('click', () => {
|
||||
readerSettings.classList.toggle('active');
|
||||
overlay.classList.toggle('active');
|
||||
});
|
||||
}
|
||||
|
||||
if (overlay) {
|
||||
overlay.addEventListener('click', () => {
|
||||
readerSettings.classList.remove('active');
|
||||
overlay.classList.remove('active');
|
||||
});
|
||||
}
|
||||
|
||||
// 字体大小
|
||||
const sizeBtns = document.querySelectorAll('.size-btn');
|
||||
sizeBtns.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
sizeBtns.forEach(b => b.classList.remove('active'));
|
||||
btn.classList.add('active');
|
||||
|
||||
const size = btn.dataset.size;
|
||||
const sizes = { small: '16px', normal: '18px', large: '20px' };
|
||||
document.getElementById('chapterContent').style.fontSize = sizes[size];
|
||||
});
|
||||
});
|
||||
|
||||
// 主题
|
||||
const themeOptions = document.querySelectorAll('.theme-option');
|
||||
themeOptions.forEach(option => {
|
||||
option.addEventListener('click', () => {
|
||||
themeOptions.forEach(o => o.classList.remove('active'));
|
||||
option.classList.add('active');
|
||||
|
||||
const theme = option.dataset.theme;
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
localStorage.setItem('theme', theme);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function initReaderNav(currentId) {
|
||||
const prevBtn = document.getElementById('prevChapter');
|
||||
const nextBtn = document.getElementById('nextChapter');
|
||||
|
||||
if (prevBtn) {
|
||||
if (currentId > 1) {
|
||||
prevBtn.disabled = false;
|
||||
prevBtn.addEventListener('click', () => {
|
||||
window.location.href = `reader.html?chapter=${currentId - 1}`;
|
||||
});
|
||||
} else {
|
||||
prevBtn.disabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (nextBtn) {
|
||||
if (currentId < chaptersData.length) {
|
||||
nextBtn.disabled = false;
|
||||
nextBtn.addEventListener('click', () => {
|
||||
window.location.href = `reader.html?chapter=${currentId + 1}`;
|
||||
});
|
||||
} else {
|
||||
nextBtn.disabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function initSidebar() {
|
||||
const openSidebar = document.getElementById('openSidebar');
|
||||
const sidebarClose = document.getElementById('sidebarClose');
|
||||
const readerSidebar = document.getElementById('readerSidebar');
|
||||
const overlay = document.getElementById('overlay');
|
||||
|
||||
// 生成侧边栏章节列表
|
||||
const sidebarChapters = document.getElementById('sidebarChapters');
|
||||
if (sidebarChapters) {
|
||||
sidebarChapters.innerHTML = chaptersData.map(chapter => `
|
||||
<a href="reader.html?chapter=${chapter.id}" class="sidebar-chapter ${chapter.id === getCurrentChapterId() ? 'active' : ''}">
|
||||
<span class="chapter-num">${chapter.id}</span>
|
||||
<span class="chapter-name">${chapter.title}</span>
|
||||
</a>
|
||||
`).join('');
|
||||
}
|
||||
|
||||
if (openSidebar) {
|
||||
openSidebar.addEventListener('click', () => {
|
||||
readerSidebar.classList.add('active');
|
||||
overlay.classList.add('active');
|
||||
});
|
||||
}
|
||||
|
||||
if (sidebarClose) {
|
||||
sidebarClose.addEventListener('click', () => {
|
||||
readerSidebar.classList.remove('active');
|
||||
overlay.classList.remove('active');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getCurrentChapterId() {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
return parseInt(urlParams.get('chapter')) || 1;
|
||||
}
|
||||
|
||||
function recordReadingProgress(chapterId) {
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes(chapterId)) {
|
||||
readChapters.push(chapterId);
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
localStorage.setItem('lastReadChapter', chapterId);
|
||||
}
|
||||
|
||||
function initAutoHide() {
|
||||
const header = document.getElementById('readerHeader');
|
||||
const footer = document.getElementById('readerFooter');
|
||||
let lastScrollY = window.scrollY;
|
||||
let ticking = false;
|
||||
|
||||
window.addEventListener('scroll', () => {
|
||||
if (!ticking) {
|
||||
window.requestAnimationFrame(() => {
|
||||
const currentScrollY = window.scrollY;
|
||||
|
||||
if (currentScrollY > lastScrollY && currentScrollY > 100) {
|
||||
// 向下滚动,隐藏
|
||||
header?.classList.add('hidden');
|
||||
footer?.classList.add('hidden');
|
||||
} else {
|
||||
// 向上滚动,显示
|
||||
header?.classList.remove('hidden');
|
||||
footer?.classList.remove('hidden');
|
||||
}
|
||||
|
||||
lastScrollY = currentScrollY;
|
||||
ticking = false;
|
||||
});
|
||||
ticking = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 工具函数 ====================
|
||||
function debounce(func, wait) {
|
||||
let timeout;
|
||||
return function executedFunction(...args) {
|
||||
const later = () => {
|
||||
clearTimeout(timeout);
|
||||
func(...args);
|
||||
};
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, wait);
|
||||
};
|
||||
}
|
||||
|
||||
function throttle(func, limit) {
|
||||
let inThrottle;
|
||||
return function(...args) {
|
||||
if (!inThrottle) {
|
||||
func.apply(this, args);
|
||||
inThrottle = true;
|
||||
setTimeout(() => inThrottle = false, limit);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// ==================== 回到顶部按钮 ====================
|
||||
function initScrollTop() {
|
||||
const scrollTopBtn = document.getElementById('scrollTop');
|
||||
if (!scrollTopBtn) return;
|
||||
|
||||
// 点击回到顶部
|
||||
scrollTopBtn.addEventListener('click', () => {
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
});
|
||||
|
||||
// 滚动时显示/隐藏按钮
|
||||
const toggleVisibility = () => {
|
||||
if (window.pageYOffset > 300) {
|
||||
scrollTopBtn.style.opacity = '1';
|
||||
scrollTopBtn.style.visibility = 'visible';
|
||||
} else {
|
||||
scrollTopBtn.style.opacity = '0';
|
||||
scrollTopBtn.style.visibility = 'hidden';
|
||||
}
|
||||
};
|
||||
|
||||
// 初始状态隐藏
|
||||
scrollTopBtn.style.opacity = '0';
|
||||
scrollTopBtn.style.visibility = 'hidden';
|
||||
scrollTopBtn.style.transition = 'opacity 0.3s ease, visibility 0.3s ease';
|
||||
|
||||
window.addEventListener('scroll', throttle(toggleVisibility, 100));
|
||||
}
|
||||
|
||||
// ==================== 独立章节页面初始化 ====================
|
||||
function initChapterReader() {
|
||||
const openSidebar = document.getElementById('openSidebar');
|
||||
const sidebarClose = document.getElementById('sidebarClose');
|
||||
const readerSidebar = document.getElementById('readerSidebar');
|
||||
const overlay = document.getElementById('overlay');
|
||||
const progressFill = document.getElementById('progressFill');
|
||||
|
||||
// 动态计算进度条(基于总章节数)
|
||||
if (progressFill) {
|
||||
const totalChapters = chaptersData.length; // 从 chaptersData 获取总章节数
|
||||
const currentChapterMatch = window.location.pathname.match(/chapter-(\d+)\.html/);
|
||||
const currentChapter = currentChapterMatch ? parseInt(currentChapterMatch[1]) : 1;
|
||||
const progress = Math.round((currentChapter / totalChapters) * 100);
|
||||
progressFill.style.width = progress + '%';
|
||||
}
|
||||
|
||||
if (openSidebar && readerSidebar && overlay) {
|
||||
openSidebar.addEventListener('click', () => {
|
||||
readerSidebar.classList.add('active');
|
||||
overlay.classList.add('active');
|
||||
});
|
||||
}
|
||||
|
||||
if (sidebarClose && readerSidebar && overlay) {
|
||||
sidebarClose.addEventListener('click', () => {
|
||||
readerSidebar.classList.remove('active');
|
||||
overlay.classList.remove('active');
|
||||
});
|
||||
}
|
||||
|
||||
if (overlay && readerSidebar) {
|
||||
overlay.addEventListener('click', () => {
|
||||
readerSidebar.classList.remove('active');
|
||||
overlay.classList.remove('active');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 阅读器设置 ====================
|
||||
function initReaderSettings() {
|
||||
const settingsBtn = document.getElementById('readerSettings');
|
||||
const settingsPanel = document.getElementById('settingsPanel');
|
||||
|
||||
if (!settingsBtn || !settingsPanel) return;
|
||||
|
||||
// 切换设置面板显示
|
||||
settingsBtn.addEventListener('click', (e) => {
|
||||
e.stopPropagation();
|
||||
settingsPanel.classList.toggle('active');
|
||||
});
|
||||
|
||||
// 点击外部关闭面板
|
||||
document.addEventListener('click', (e) => {
|
||||
if (!settingsPanel.contains(e.target) && e.target !== settingsBtn) {
|
||||
settingsPanel.classList.remove('active');
|
||||
}
|
||||
});
|
||||
|
||||
// 初始化主题
|
||||
initThemeSettings();
|
||||
|
||||
// 初始化字体大小
|
||||
initFontSize();
|
||||
|
||||
// 初始化行间距
|
||||
initLineHeight();
|
||||
|
||||
// 初始化阅读宽度
|
||||
initReadWidth();
|
||||
}
|
||||
|
||||
// 主题设置
|
||||
function initThemeSettings() {
|
||||
const themeOptions = document.querySelectorAll('.theme-option');
|
||||
const savedTheme = localStorage.getItem('readerTheme') || 'dark';
|
||||
|
||||
// 应用保存的主题
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
|
||||
// 设置激活状态
|
||||
themeOptions.forEach(option => {
|
||||
if (option.dataset.theme === savedTheme) {
|
||||
option.classList.add('active');
|
||||
}
|
||||
|
||||
option.addEventListener('click', () => {
|
||||
const theme = option.dataset.theme;
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
localStorage.setItem('readerTheme', theme);
|
||||
|
||||
themeOptions.forEach(o => o.classList.remove('active'));
|
||||
option.classList.add('active');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 字体大小设置
|
||||
function initFontSize() {
|
||||
const decreaseBtn = document.getElementById('fontDecrease');
|
||||
const increaseBtn = document.getElementById('fontIncrease');
|
||||
const fontValue = document.getElementById('fontValue');
|
||||
const content = document.querySelector('.chapter-article');
|
||||
|
||||
if (!content) return;
|
||||
|
||||
const sizes = ['14px', '16px', '18px', '20px', '22px', '24px'];
|
||||
let currentSize = localStorage.getItem('readerFontSize') || '18px';
|
||||
|
||||
// 应用保存的字体大小
|
||||
content.style.fontSize = currentSize;
|
||||
fontValue.textContent = currentSize;
|
||||
|
||||
decreaseBtn?.addEventListener('click', () => {
|
||||
const index = sizes.indexOf(currentSize);
|
||||
if (index > 0) {
|
||||
currentSize = sizes[index - 1];
|
||||
content.style.fontSize = currentSize;
|
||||
fontValue.textContent = currentSize;
|
||||
localStorage.setItem('readerFontSize', currentSize);
|
||||
}
|
||||
});
|
||||
|
||||
increaseBtn?.addEventListener('click', () => {
|
||||
const index = sizes.indexOf(currentSize);
|
||||
if (index < sizes.length - 1) {
|
||||
currentSize = sizes[index + 1];
|
||||
content.style.fontSize = currentSize;
|
||||
fontValue.textContent = currentSize;
|
||||
localStorage.setItem('readerFontSize', currentSize);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 行间距设置
|
||||
function initLineHeight() {
|
||||
const lineHeightBtns = document.querySelectorAll('.line-height-btn');
|
||||
const content = document.querySelector('.chapter-article');
|
||||
|
||||
if (!content) return;
|
||||
|
||||
const savedLineHeight = localStorage.getItem('readerLineHeight') || '1.8';
|
||||
content.style.lineHeight = savedLineHeight;
|
||||
|
||||
lineHeightBtns.forEach(btn => {
|
||||
if (btn.dataset.value === savedLineHeight) {
|
||||
btn.classList.add('active');
|
||||
}
|
||||
|
||||
btn.addEventListener('click', () => {
|
||||
const value = btn.dataset.value;
|
||||
content.style.lineHeight = value;
|
||||
localStorage.setItem('readerLineHeight', value);
|
||||
|
||||
lineHeightBtns.forEach(b => b.classList.remove('active'));
|
||||
btn.classList.add('active');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 阅读宽度设置
|
||||
function initReadWidth() {
|
||||
const widthBtns = document.querySelectorAll('.width-btn');
|
||||
const content = document.querySelector('.reader-content');
|
||||
|
||||
if (!content) return;
|
||||
|
||||
const savedWidth = localStorage.getItem('readerWidth') || 'medium';
|
||||
applyWidth(content, savedWidth);
|
||||
|
||||
widthBtns.forEach(btn => {
|
||||
if (btn.dataset.width === savedWidth) {
|
||||
btn.classList.add('active');
|
||||
}
|
||||
|
||||
btn.addEventListener('click', () => {
|
||||
const width = btn.dataset.width;
|
||||
applyWidth(content, width);
|
||||
localStorage.setItem('readerWidth', width);
|
||||
|
||||
widthBtns.forEach(b => b.classList.remove('active'));
|
||||
btn.classList.add('active');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function applyWidth(content, width) {
|
||||
const widths = {
|
||||
narrow: '680px',
|
||||
medium: '800px',
|
||||
wide: '100%'
|
||||
};
|
||||
content.style.maxWidth = widths[width] || widths.medium;
|
||||
}
|
||||
71
alacarte-novel-website/js/sidebar.js
Normal file
71
alacarte-novel-website/js/sidebar.js
Normal file
@ -0,0 +1,71 @@
|
||||
// 公共组件加载器
|
||||
(function() {
|
||||
// 章节数据 - 只需要在这里维护
|
||||
const chaptersData = [
|
||||
{ id: 1, title: "第一章:洛兰" },
|
||||
{ id: 2, title: "第二章:洛兰深处" },
|
||||
{ id: 3, title: "第三章:幽暗密林" },
|
||||
{ id: 4, title: "第四章:幽暗密林深处" },
|
||||
{ id: 5, title: "第五章:雷鸣废墟" },
|
||||
{ id: 6, title: "第六章:格拉卡" },
|
||||
{ id: 7, title: "第七章:烈焰格拉卡" },
|
||||
{ id: 8, title: "第八章:冰霜幽暗密林" },
|
||||
{ id: 9, title: "第九章:转职之路" },
|
||||
{ id: 10, title: "第十章:暗黑雷鸣废墟" },
|
||||
{ id: 11, title: "第十一章:剑魂转职仪式" },
|
||||
{ id: 12, title: "第十二章:西海岸" },
|
||||
{ id: 13, title: "第十三章:龙人之塔" },
|
||||
{ id: 14, title: "第十四章:人偶玄关" },
|
||||
{ id: 15, title: "第十五章:石巨人塔" },
|
||||
{ id: 16, title: "第十六章:黑暗玄廊" },
|
||||
{ id: 17, title: "第十七章:城主宫殿" },
|
||||
{ id: 18, title: "第十八章:番外·悬空城" },
|
||||
{ id: 19, title: "第十九章:天帷巨兽·神殿外围" },
|
||||
{ id: 20, title: "第二十章:树精丛林" },
|
||||
{ id: 21, title: "第二十一章:炼狱" },
|
||||
{ id: 22, title: "第二十二章:西海岸的闲暇" },
|
||||
{ id: 23, title: "第二十三章:极昼" },
|
||||
{ id: 24, title: "第二十四章:第一脊椎" },
|
||||
{ id: 25, title: "第二十五章:赫顿玛尔的准备" },
|
||||
{ id: 26, title: "第二十六章:第二脊椎" },
|
||||
{ id: 27, title: "第二十七章:重逢的温柔" },
|
||||
{ id: 28, title: "第二十八章:暗精灵的委托" },
|
||||
{ id: 29, title: "第二十九章:阿法利亚营地" },
|
||||
{ id: 30, title: "第三十章:浅栖之地" },
|
||||
{ id: 31, title: "第三十一章:蜘蛛洞穴" },
|
||||
{ id: 32, title: "第三十二章:克伦特的委托" },
|
||||
{ id: 33, title: "第三十三章:暗精灵墓地·左翼守卫" }
|
||||
];
|
||||
|
||||
// 获取当前章节ID
|
||||
function getCurrentChapterId() {
|
||||
const path = window.location.pathname;
|
||||
const match = path.match(/chapter-(\d+)\.html/);
|
||||
return match ? parseInt(match[1]) : 0;
|
||||
}
|
||||
|
||||
// 渲染侧边栏
|
||||
function renderSidebar() {
|
||||
const sidebarContent = document.getElementById('sidebarChapters');
|
||||
if (!sidebarContent) return;
|
||||
|
||||
const currentId = getCurrentChapterId();
|
||||
|
||||
sidebarContent.innerHTML = chaptersData.map(chapter => {
|
||||
const isActive = chapter.id === currentId ? 'active' : '';
|
||||
return `
|
||||
<a href="chapter-${chapter.id}.html" class="sidebar-chapter ${isActive}">
|
||||
<span class="chapter-num">${chapter.id}</span>
|
||||
<span class="chapter-name">${chapter.title}</span>
|
||||
</a>
|
||||
`;
|
||||
}).join('');
|
||||
}
|
||||
|
||||
// 页面加载完成后渲染
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', renderSidebar);
|
||||
} else {
|
||||
renderSidebar();
|
||||
}
|
||||
})();
|
||||
146
alacarte-novel-website/reader.html
Normal file
146
alacarte-novel-website/reader.html
Normal file
@ -0,0 +1,146 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
</head>
|
||||
<body class="reader-page">
|
||||
<!-- 阅读器头部 -->
|
||||
<header class="reader-header" id="readerHeader">
|
||||
<div class="reader-header-content">
|
||||
<a href="index.html" class="reader-back">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M19 12H5M12 19l-7-7 7-7"/>
|
||||
</svg>
|
||||
</a>
|
||||
<div class="reader-info">
|
||||
<h1 class="reader-title" id="chapterTitle">第一章</h1>
|
||||
<span class="reader-book">阿拉德:剑之回响</span>
|
||||
</div>
|
||||
<button class="reader-menu-toggle" id="readerMenuToggle">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<circle cx="12" cy="12" r="1"/>
|
||||
<circle cx="19" cy="12" r="1"/>
|
||||
<circle cx="5" cy="12" r="1"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="reader-progress-bar">
|
||||
<div class="reader-progress-fill" id="readerProgress"></div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- 阅读器设置面板 -->
|
||||
<div class="reader-settings" id="readerSettings">
|
||||
<div class="settings-panel">
|
||||
<div class="settings-section">
|
||||
<h3>字体大小</h3>
|
||||
<div class="font-size-control">
|
||||
<button class="size-btn" data-size="small">小</button>
|
||||
<button class="size-btn active" data-size="normal">中</button>
|
||||
<button class="size-btn" data-size="large">大</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="settings-section">
|
||||
<h3>主题</h3>
|
||||
<div class="theme-options">
|
||||
<button class="theme-option active" data-theme="dark">
|
||||
<span class="theme-preview dark"></span>
|
||||
<span>深色</span>
|
||||
</button>
|
||||
<button class="theme-option" data-theme="light">
|
||||
<span class="theme-preview light"></span>
|
||||
<span>浅色</span>
|
||||
</button>
|
||||
<button class="theme-option" data-theme="sepia">
|
||||
<span class="theme-preview sepia"></span>
|
||||
<span>护眼</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="settings-section">
|
||||
<h3>行间距</h3>
|
||||
<div class="line-height-control">
|
||||
<button class="lh-btn" data-lh="compact">紧凑</button>
|
||||
<button class="lh-btn active" data-lh="normal">标准</button>
|
||||
<button class="lh-btn" data-lh="loose">宽松</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 目录侧边栏 -->
|
||||
<aside class="reader-sidebar" id="readerSidebar">
|
||||
<div class="sidebar-header">
|
||||
<h2>章节目录</h2>
|
||||
<button class="sidebar-close" id="sidebarClose">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M18 6L6 18M6 6l12 12"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="sidebar-content" id="sidebarChapters">
|
||||
<!-- 章节列表将通过JS动态生成 -->
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<!-- 阅读内容区域 -->
|
||||
<main class="reader-content" id="readerContent">
|
||||
<article class="chapter-content" id="chapterContent">
|
||||
<!-- 章节内容将通过JS动态加载 -->
|
||||
<div class="chapter-loading">
|
||||
<div class="loading-spinner"></div>
|
||||
<p>正在加载章节内容...</p>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
<!-- 阅读器底部导航 -->
|
||||
<footer class="reader-footer" id="readerFooter">
|
||||
<div class="reader-nav">
|
||||
<button class="nav-btn" id="prevChapter" disabled>
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M15 18l-6-6 6-6"/>
|
||||
</svg>
|
||||
<span>上一章</span>
|
||||
</button>
|
||||
<button class="nav-btn nav-center" id="openSidebar">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M4 6h16M4 12h16M4 18h16"/>
|
||||
</svg>
|
||||
<span>目录</span>
|
||||
</button>
|
||||
<button class="nav-btn" id="nextChapter">
|
||||
<span>下一章</span>
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<path d="M9 18l6-6-6-6"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- 阅读设置浮动按钮 -->
|
||||
<button class="reader-settings-toggle" id="settingsToggle" title="阅读设置">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<circle cx="12" cy="12" r="3"/>
|
||||
<path d="M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- 遮罩层 -->
|
||||
<div class="overlay" id="overlay"></div>
|
||||
|
||||
<script src="js/app.js"></script>
|
||||
<script>
|
||||
// 阅读页面特定逻辑
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
initReader();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
448
alacarte-novel-website/template.html
Normal file
448
alacarte-novel-website/template.html
Normal file
@ -0,0 +1,448 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{CHAPTER_TITLE}} - 阿拉德:剑之回响</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root {
|
||||
--bg-primary: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
|
||||
--text-primary: #e0e0e0;
|
||||
--text-secondary: #888;
|
||||
--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
--btn-bg: rgba(255,255,255,0.1);
|
||||
--btn-hover: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
[data-theme="light"] {
|
||||
--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
--text-primary: #333;
|
||||
--text-secondary: #666;
|
||||
--border-color: rgba(0,0,0,0.1);
|
||||
--btn-bg: rgba(0,0,0,0.05);
|
||||
--btn-hover: rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Noto Serif SC', serif;
|
||||
background: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
line-height: 1.8;
|
||||
min-height: 100vh;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
padding-bottom: 120px;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.top-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.top-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
.chapter-header {
|
||||
text-align: center;
|
||||
padding: 80px 0 40px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.chapter-number {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
letter-spacing: 4px;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.chapter-title {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.chapter-meta {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 18px;
|
||||
line-height: 2;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
.chapter-content p {
|
||||
margin-bottom: 1.5em;
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.chapter-content p:first-of-type::first-letter {
|
||||
font-size: 3em;
|
||||
float: left;
|
||||
line-height: 1;
|
||||
margin-right: 8px;
|
||||
margin-top: -5px;
|
||||
background: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 固定底部导航 */
|
||||
.fixed-nav {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
backdrop-filter: blur(10px);
|
||||
border-top: 1px solid var(--border-color);
|
||||
z-index: 1000;
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 12px 24px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
color: var(--text-primary);
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.nav-btn.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 右侧滚动按钮 */
|
||||
.scroll-buttons {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
z-index: 1001;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 8px;
|
||||
background: var(--btn-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
color: var(--text-primary);
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s ease;
|
||||
font-family: 'Noto Sans SC', sans-serif;
|
||||
}
|
||||
|
||||
.scroll-btn:hover {
|
||||
background: var(--btn-hover);
|
||||
}
|
||||
|
||||
/* 侧边栏 - 标题固定,内容滚动 */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(0,0,0,0.5);
|
||||
backdrop-filter: blur(10px);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 200px;
|
||||
max-height: 70vh;
|
||||
z-index: 999;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar-title {
|
||||
font-size: 14px;
|
||||
color: var(--text-secondary);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
padding: 15px 20px;
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.sidebar-content {
|
||||
overflow-y: auto;
|
||||
padding: 10px 20px 20px;
|
||||
flex: 1;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: transparent transparent;
|
||||
transition: scrollbar-color 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover {
|
||||
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar-content::-webkit-scrollbar-thumb {
|
||||
background: transparent;
|
||||
border-radius: 3px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.3);
|
||||
}
|
||||
|
||||
.sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover {
|
||||
scrollbar-color: rgba(0,0,0,0.3) transparent;
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb {
|
||||
background: rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
[data-theme="light"] .sidebar-content:hover::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.sidebar-chapter {
|
||||
display: block;
|
||||
padding: 8px 0;
|
||||
color: #aaa;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
transition: all 0.3s ease;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.sidebar-chapter:hover {
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
.sidebar-chapter.current {
|
||||
color: #667eea;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.sidebar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.chapter-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.chapter-content {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.fixed-nav-content {
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-btn {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.scroll-buttons {
|
||||
right: 10px;
|
||||
bottom: 80px;
|
||||
}
|
||||
|
||||
.scroll-btn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
.sidebar::-webkit-scrollbar {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.sidebar::-webkit-scrollbar-thumb {
|
||||
background: rgba(255,255,255,0.2);
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 顶部导航 -->
|
||||
<nav class="top-nav">
|
||||
<div class="top-nav-content">
|
||||
<a href="../index.html" class="nav-link">返回首页</a>
|
||||
<button class="nav-link" id="themeToggle">切换主题</button>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<header class="chapter-header">
|
||||
<div class="chapter-number">{{CHAPTER_NUMBER}}</div>
|
||||
<h1 class="chapter-title">{{CHAPTER_TITLE}}</h1>
|
||||
</header>
|
||||
|
||||
<article class="chapter-content">
|
||||
{{CHAPTER_CONTENT}}
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<!-- 固定底部导航 -->
|
||||
<nav class="fixed-nav">
|
||||
<div class="fixed-nav-content">
|
||||
<a href="{{PREV_CHAPTER}}" class="nav-btn {{PREV_DISABLED}}">上一章</a>
|
||||
<a href="../chapters.html" class="nav-btn">目录</a>
|
||||
<a href="{{NEXT_CHAPTER}}" class="nav-btn {{NEXT_DISABLED}}">下一章</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 右侧滚动按钮 -->
|
||||
<div class="scroll-buttons">
|
||||
<button class="scroll-btn" id="scrollTop" title="回到顶部">顶</button>
|
||||
<button class="scroll-btn" id="scrollBottom" title="回到底部">底</button>
|
||||
</div>
|
||||
|
||||
<!-- 侧边栏章节导航 -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-title">章节导航</div>
|
||||
<div class="sidebar-content" id="sidebarContent">
|
||||
{{SIDEBAR_CHAPTERS}}
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<script>
|
||||
// 记录阅读进度
|
||||
let readChapters = JSON.parse(localStorage.getItem('readChapters') || '[]');
|
||||
if (!readChapters.includes({{CHAPTER_ID}})) {
|
||||
readChapters.push({{CHAPTER_ID}});
|
||||
localStorage.setItem('readChapters', JSON.stringify(readChapters));
|
||||
}
|
||||
|
||||
// 主题切换
|
||||
const themeToggle = document.getElementById('themeToggle');
|
||||
const savedTheme = localStorage.getItem('theme') || 'dark';
|
||||
document.documentElement.setAttribute('data-theme', savedTheme);
|
||||
themeToggle.textContent = savedTheme === 'dark' ? '浅色' : '深色';
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme');
|
||||
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
||||
document.documentElement.setAttribute('data-theme', newTheme);
|
||||
localStorage.setItem('theme', newTheme);
|
||||
themeToggle.textContent = newTheme === 'dark' ? '浅色' : '深色';
|
||||
});
|
||||
|
||||
// 滚动到顶部
|
||||
document.getElementById('scrollTop').addEventListener('click', () => {
|
||||
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 滚动到底部
|
||||
document.getElementById('scrollBottom').addEventListener('click', () => {
|
||||
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
|
||||
});
|
||||
|
||||
// 页面加载时,侧边栏自动滚动到当前章节
|
||||
window.addEventListener('load', () => {
|
||||
const sidebarContent = document.getElementById('sidebarContent');
|
||||
const currentChapter = sidebarContent.querySelector('.current');
|
||||
if (currentChapter) {
|
||||
currentChapter.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
790
alacarte-novel-website/wiki.html
Normal file
790
alacarte-novel-website/wiki.html
Normal file
@ -0,0 +1,790 @@
|
||||
<!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="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<style>
|
||||
.wiki-page {
|
||||
padding-top: 72px;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.wiki-header {
|
||||
padding: 60px 0 40px;
|
||||
background: linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
|
||||
border-bottom: 1px solid var(--border);
|
||||
}
|
||||
|
||||
.wiki-title {
|
||||
font-family: var(--font-serif);
|
||||
font-size: 2.5rem;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.wiki-subtitle {
|
||||
text-align: center;
|
||||
color: var(--text-tertiary);
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.wiki-container {
|
||||
max-width: 1000px;
|
||||
margin: 0 auto;
|
||||
padding: 40px 24px;
|
||||
}
|
||||
|
||||
.wiki-nav {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
margin-bottom: 40px;
|
||||
padding: 20px;
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-md);
|
||||
}
|
||||
|
||||
.wiki-nav a {
|
||||
padding: 8px 16px;
|
||||
background: var(--bg-tertiary);
|
||||
border-radius: var(--radius-sm);
|
||||
color: var(--text-secondary);
|
||||
font-size: 0.9375rem;
|
||||
transition: all var(--transition-fast);
|
||||
}
|
||||
|
||||
.wiki-nav a:hover {
|
||||
background: var(--primary);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.wiki-section {
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
|
||||
.wiki-section h2 {
|
||||
font-family: var(--font-serif);
|
||||
font-size: 1.75rem;
|
||||
font-weight: 700;
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 12px;
|
||||
border-bottom: 2px solid var(--primary);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.wiki-section h3 {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 600;
|
||||
margin: 24px 0 12px;
|
||||
color: var(--primary-light);
|
||||
}
|
||||
|
||||
.wiki-section p {
|
||||
color: var(--text-secondary);
|
||||
line-height: 1.8;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.wiki-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.wiki-table th,
|
||||
.wiki-table td {
|
||||
padding: 12px 16px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid var(--border);
|
||||
}
|
||||
|
||||
.wiki-table th {
|
||||
background: var(--bg-tertiary);
|
||||
font-weight: 600;
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.wiki-table tr:hover {
|
||||
background: var(--bg-card);
|
||||
}
|
||||
|
||||
.character-card {
|
||||
display: flex;
|
||||
gap: 24px;
|
||||
padding: 24px;
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-md);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.character-avatar {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: linear-gradient(135deg, var(--primary), var(--secondary));
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 3rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.character-info h4 {
|
||||
font-size: 1.375rem;
|
||||
font-weight: 700;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.character-role {
|
||||
color: var(--primary-light);
|
||||
font-size: 0.9375rem;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.character-info p {
|
||||
color: var(--text-secondary);
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.weapon-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||
gap: 16px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.weapon-card {
|
||||
padding: 20px;
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-md);
|
||||
transition: all var(--transition-fast);
|
||||
}
|
||||
|
||||
.weapon-card:hover {
|
||||
border-color: var(--primary);
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
|
||||
.weapon-icon {
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.weapon-name {
|
||||
font-size: 1.125rem;
|
||||
font-weight: 600;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.weapon-type {
|
||||
font-size: 0.875rem;
|
||||
color: var(--primary-light);
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.weapon-desc {
|
||||
font-size: 0.875rem;
|
||||
color: var(--text-tertiary);
|
||||
}
|
||||
|
||||
.timeline-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.timeline-list li {
|
||||
padding: 16px 0;
|
||||
border-bottom: 1px solid var(--border);
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.timeline-list li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.timeline-level {
|
||||
width: 80px;
|
||||
flex-shrink: 0;
|
||||
font-weight: 600;
|
||||
color: var(--primary-light);
|
||||
}
|
||||
|
||||
.timeline-content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.timeline-content strong {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.tag {
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
background: var(--bg-tertiary);
|
||||
border-radius: 100px;
|
||||
font-size: 0.75rem;
|
||||
color: var(--text-tertiary);
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.tag.completed {
|
||||
background: rgba(99, 102, 241, 0.2);
|
||||
color: var(--primary-light);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.wiki-title {
|
||||
font-size: 1.75rem;
|
||||
}
|
||||
|
||||
.character-card {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.character-avatar {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.wiki-table {
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
.wiki-table th,
|
||||
.wiki-table td {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="wiki-page">
|
||||
<!-- 导航栏 -->
|
||||
<nav class="navbar">
|
||||
<div class="nav-container">
|
||||
<a href="index.html" class="logo">
|
||||
<span class="logo-icon">⚔️</span>
|
||||
<span class="logo-text">阿拉德文库</span>
|
||||
</a>
|
||||
<div class="nav-links">
|
||||
<a href="index.html">首页</a>
|
||||
<a href="chapters.html">目录</a>
|
||||
<a href="wiki.html" class="active">设定集</a>
|
||||
</div>
|
||||
<div class="nav-actions">
|
||||
<button class="theme-toggle" id="themeToggle">
|
||||
<span class="theme-icon">🌙</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- 头部 -->
|
||||
<header class="wiki-header">
|
||||
<div class="container">
|
||||
<h1 class="wiki-title">⚔️ 设定集</h1>
|
||||
<p class="wiki-subtitle">《阿拉德:剑之回响》世界观与资料</p>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- 内容区 -->
|
||||
<main class="wiki-container">
|
||||
<!-- 快速导航 -->
|
||||
<nav class="wiki-nav">
|
||||
<a href="#world">世界观</a>
|
||||
<a href="#characters">角色</a>
|
||||
<a href="#relationships">感情线</a>
|
||||
<a href="#weapons">武器</a>
|
||||
<a href="#classes">职业</a>
|
||||
<a href="#maps">地图</a>
|
||||
<a href="#progress">进度</a>
|
||||
</nav>
|
||||
|
||||
<!-- 世界观 -->
|
||||
<section class="wiki-section" id="world">
|
||||
<h2>🌍 世界观</h2>
|
||||
|
||||
<h3>故事背景</h3>
|
||||
<p>《阿拉德:剑之回响》是一部以DNF(地下城与勇士)60版本为背景的同人小说,讲述少年林克从鬼剑士成长为剑魂的冒险故事。</p>
|
||||
<p>故事严格遵循DNF 60版本的地图等级设定,从艾尔文防线的洛兰开始,一步步探索格兰之森、天空之城等经典区域。</p>
|
||||
|
||||
<h3>核心设定</h3>
|
||||
<p><strong>鬼手(Ghost Hand):</strong>被卡赞诅咒的左手,拥有鬼神之力的同时也会被诅咒侵蚀。鬼剑士通过修炼可以掌控这份力量。</p>
|
||||
<p><strong>转职系统:</strong>鬼剑士可以在18级时选择转职方向——狂战士、鬼泣、阿修罗或剑魂。</p>
|
||||
<p><strong>武器大师:</strong>剑魂的核心特性,可以精通所有武器类型,根据战况灵活切换。</p>
|
||||
<p><strong>天空之城:</strong>连接天界与阿拉德大陆的通道,隐藏着光之核心的秘密。</p>
|
||||
</section>
|
||||
|
||||
<!-- 角色 -->
|
||||
<section class="wiki-section" id="characters">
|
||||
<h2>👥 主要角色</h2>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">⚔️</div>
|
||||
<div class="character-info">
|
||||
<h4>林克(Link)</h4>
|
||||
<div class="character-role">主角 | 鬼剑士 → 剑魂</div>
|
||||
<p>从小被鬼手诅咒的少年,为寻找师父阿甘左踏上冒险之路。性格冷静坚韧,追求极致剑术。在GSD的指导下转职为剑魂,成为武器大师。</p>
|
||||
<p><strong>武器库:</strong>光剑晨曦、太刀霜刃、巨剑破军、短剑影牙、钝器碎骨</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">✨</div>
|
||||
<div class="character-info">
|
||||
<h4>赛丽亚</h4>
|
||||
<div class="character-role">女主角 | 精灵族最后的血脉</div>
|
||||
<p>艾尔文防线旅馆的少女,真实身份是精灵族最后的血脉,"精灵之心"的容器。拥有治愈魔法和精灵之箭,在旅途中给予林克重要的支持。</p>
|
||||
<p><strong>特殊能力:</strong>治愈术、精灵之箭、精灵感知</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">🗡️</div>
|
||||
<div class="character-info">
|
||||
<h4>阿甘左</h4>
|
||||
<div class="character-role">林克的师父 | 传奇剑士</div>
|
||||
<p>四处游历的传奇剑士,发现林克的潜力后收他为徒。性格冷淡但内心关心弟子,教授林克基础剑术后继续自己的旅程。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">👁️</div>
|
||||
<div class="character-info">
|
||||
<h4>GSD</h4>
|
||||
<div class="character-role">鬼剑士导师 | 阿修罗</div>
|
||||
<p>赫顿玛尔的鬼剑士导师,蒙眼的老人,掌握着四种鬼剑职业的力量。为林克主持剑魂转职仪式,并带领他初探天空之城。</p>
|
||||
<p><strong>觉醒技:</strong>暗天波动眼</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">✝️</div>
|
||||
<div class="character-info">
|
||||
<h4>艾伦(Alan)</h4>
|
||||
<div class="character-role">圣骑士 | 队友</div>
|
||||
<p>赫顿玛尔圣堂的年轻圣骑士,正直热心,追踪使徒气息来到天帷巨兽。在第一脊椎与林克相遇后加入队伍,成为重要的治疗和BUFF支援。</p>
|
||||
<p><strong>技能:</strong>治愈术、光之复仇、圣光守护、圣光十字</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">📜</div>
|
||||
<div class="character-info">
|
||||
<h4>奥菲利亚</h4>
|
||||
<div class="character-role">GBL教幸存者 | 向导</div>
|
||||
<p>GBL教唯一的清醒幸存者,请求林克调查天帷巨兽的异变。性格坚韧,对拯救被控制的教友有着强烈的执念,在冒险中对林克产生依赖和好感。</p>
|
||||
<p><strong>特殊能力:</strong>古代知识、神殿机关解读</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">🔫</div>
|
||||
<div class="character-info">
|
||||
<h4>凯丽</h4>
|
||||
<div class="character-role">装备强化师 | 天界人</div>
|
||||
<p>来自天界的漫游枪手,掌握着天界科技。在赫顿玛尔经营装备强化店,对赛丽亚有好感,后成为林克一行人的重要技术支持。</p>
|
||||
<p><strong>专长:</strong>装备强化、天界科技</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="character-card">
|
||||
<div class="character-avatar">🔮</div>
|
||||
<div class="character-info">
|
||||
<h4>莎兰</h4>
|
||||
<div class="character-role">魔法师公会会长 | 魔道学者</div>
|
||||
<p>西海岸魔法师公会的会长,暗精灵族,拥有强大的魔法知识。性格优雅神秘,对林克的故事很感兴趣,为他提供魔法方面的帮助。</p>
|
||||
<p><strong>专长:</strong>魔法研究、古代文献解读</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 角色关系与感情线 -->
|
||||
<section class="wiki-section" id="relationships">
|
||||
<h2>💕 角色关系与感情线</h2>
|
||||
|
||||
<h3>赛丽亚 → 林克(主线女主)</h3>
|
||||
<p><strong>关系进展:</strong></p>
|
||||
<ul style="margin-left: 20px; color: var(--text-secondary); line-height: 1.8;">
|
||||
<li><strong>初期(Lv.1-10):</strong>救命恩人→伙伴。赛丽亚救助重伤的林克,两人在艾尔文防线共同生活,建立起深厚的信任。</li>
|
||||
<li><strong>中期(Lv.11-22):</strong>亲密的伙伴。赛丽亚跟随林克踏上冒险,多次在危急时刻用治愈术救他,两人的羁绊逐渐加深。</li>
|
||||
<li><strong>当前(Lv.23+):</strong>暧昧萌芽。极昼离别时,赛丽亚主动拥抱林克,感情开始质变。重逢后有望发展更进一步的关系。</li>
|
||||
<li><strong>未来:</strong>预定成为林克的正宫女友,有亲吻、同眠等亲密场景。</li>
|
||||
</ul>
|
||||
|
||||
<h3>奥菲利亚 → 林克(暗恋者)</h3>
|
||||
<p><strong>关系进展:</strong></p>
|
||||
<ul style="margin-left: 20px; color: var(--text-secondary); line-height: 1.8;">
|
||||
<li><strong>初期(Lv.19-21):</strong>救命恩人→依赖。林克从发狂的GBL教徒手中救下奥菲利亚,成为她的希望。</li>
|
||||
<li><strong>中期(Lv.22-24):</strong>崇拜与暗恋。看着林克一路战斗,奥菲利亚对他产生强烈的好感和依赖,经常偷偷看他。</li>
|
||||
<li><strong>未来:</strong>预定表白,成为林克的后宫之一。有并肩作战时的肢体接触、危机时的保护等场景。</li>
|
||||
</ul>
|
||||
|
||||
<h3>莎兰 → 林克(暧昧对象)</h3>
|
||||
<p><strong>关系进展:</strong></p>
|
||||
<ul style="margin-left: 20px; color: var(--text-secondary); line-height: 1.8;">
|
||||
<li><strong>初期(Lv.18):</strong>前辈与后辈。莎兰对林克的鬼手和晨曦剑很感兴趣,提供魔法咨询。</li>
|
||||
<li><strong>未来:</strong>发展暧昧关系。莎兰喜欢调戏林克,有意无意的肢体接触(魔法指导时的近距离),可能会有醉酒后的亲密场景。</li>
|
||||
</ul>
|
||||
|
||||
<h3>凯丽 → 林克(欣赏者)</h3>
|
||||
<p><strong>关系进展:</strong></p>
|
||||
<ul style="margin-left: 20px; color: var(--text-secondary); line-height: 1.8;">
|
||||
<li><strong>初期:</strong>对赛丽亚有好感,对林克只是普通顾客。</li>
|
||||
<li><strong>中期(Lv.25):</strong>开始欣赏。看到林克为救赛丽亚不惜挑战使徒,凯丽对他产生好感。</li>
|
||||
<li><strong>未来:</strong>暗恋但不表白,默默支持。可能会吃赛丽亚的醋,有暧昧的互动。</li>
|
||||
</ul>
|
||||
|
||||
<h3>后宫关系设定</h3>
|
||||
<table class="wiki-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>角色</th>
|
||||
<th>定位</th>
|
||||
<th>亲密程度</th>
|
||||
<th>未来发展</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>赛丽亚</td>
|
||||
<td>正宫女主</td>
|
||||
<td>拥抱、亲吻脸颊</td>
|
||||
<td>亲吻、同眠、啪啪</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>奥菲利亚</td>
|
||||
<td>后宫成员</td>
|
||||
<td>并肩作战、保护</td>
|
||||
<td>表白、拥抱、亲吻</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>莎兰</td>
|
||||
<td>暧昧对象</td>
|
||||
<td>调戏、近距离指导</td>
|
||||
<td>醉酒亲密、暧昧关系</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>凯丽</td>
|
||||
<td>暗恋者</td>
|
||||
<td>欣赏、支持</td>
|
||||
<td>暗恋、偶尔暧昧</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- 武器 -->
|
||||
<section class="wiki-section" id="weapons">
|
||||
<h2>⚔️ 林克的武器库</h2>
|
||||
<p>作为剑魂,林克精通五种武器,根据敌人特点灵活切换:</p>
|
||||
|
||||
<div class="weapon-grid">
|
||||
<div class="weapon-card">
|
||||
<div class="weapon-icon">⚔️</div>
|
||||
<div class="weapon-name">晨曦</div>
|
||||
<div class="weapon-type">光剑 · 主武器</div>
|
||||
<div class="weapon-desc">剑魂专属武器,极速连击,附加光属性伤害。与天空之城的光之核心有着神秘的联系。</div>
|
||||
</div>
|
||||
|
||||
<div class="weapon-card">
|
||||
<div class="weapon-icon">🗡️</div>
|
||||
<div class="weapon-name">霜刃</div>
|
||||
<div class="weapon-type">太刀</div>
|
||||
<div class="weapon-desc">林纳斯赠送的武器,灵活迅捷,适合单挑和精准打击。</div>
|
||||
</div>
|
||||
|
||||
<div class="weapon-card">
|
||||
<div class="weapon-icon">🪓</div>
|
||||
<div class="weapon-name">破军</div>
|
||||
<div class="weapon-type">巨剑</div>
|
||||
<div class="weapon-desc">力量型武器,破甲能力极强。对付硬甲敌人时的最佳选择。</div>
|
||||
</div>
|
||||
|
||||
<div class="weapon-card">
|
||||
<div class="weapon-icon">🗡️</div>
|
||||
<div class="weapon-name">影牙</div>
|
||||
<div class="weapon-type">短剑</div>
|
||||
<div class="weapon-desc">漆黑如墨,剑刃上缠绕着暗影之力。对付魔法防御低的敌人效果显著。</div>
|
||||
</div>
|
||||
|
||||
<div class="weapon-card">
|
||||
<div class="weapon-icon">🔨</div>
|
||||
<div class="weapon-name">碎骨</div>
|
||||
<div class="weapon-type">钝器</div>
|
||||
<div class="weapon-desc">巨大的铁锤,能够产生震荡伤害,有概率眩晕目标。</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 职业 -->
|
||||
<section class="wiki-section" id="classes">
|
||||
<h2>🛡️ 鬼剑士转职方向</h2>
|
||||
|
||||
<table class="wiki-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>职业</th>
|
||||
<th>特点</th>
|
||||
<th>武器</th>
|
||||
<th>风格</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>狂战士</strong></td>
|
||||
<td>解放鬼手力量,以鲜血为代价换取狂暴战力</td>
|
||||
<td>巨剑</td>
|
||||
<td>越战越勇,生命值越低力量越强</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>鬼泣</strong></td>
|
||||
<td>与鬼神签订契约,借用鬼神之力</td>
|
||||
<td>太刀/短剑</td>
|
||||
<td>范围攻击和控制,团队控场者</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>阿修罗</strong></td>
|
||||
<td>放弃双眼,以心眼感知世界</td>
|
||||
<td>短剑/太刀</td>
|
||||
<td>波动之力,属性攻击,毁灭者</td>
|
||||
</tr>
|
||||
<tr style="background: rgba(99, 102, 241, 0.1);">
|
||||
<td><strong>剑魂</strong> ⭐</td>
|
||||
<td>追求极致剑术,武器大师</td>
|
||||
<td>所有武器</td>
|
||||
<td>精通所有武器,灵活切换</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- 地图 -->
|
||||
<section class="wiki-section" id="maps">
|
||||
<h2>🗺️ 地图等级表</h2>
|
||||
|
||||
<h3>格兰之森区域(Lv.1-18)</h3>
|
||||
<table class="wiki-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>地图</th>
|
||||
<th>等级</th>
|
||||
<th>BOSS</th>
|
||||
<th>状态</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>洛兰</td>
|
||||
<td>Lv.1-2</td>
|
||||
<td>哥布林</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>洛兰深处</td>
|
||||
<td>Lv.2-3</td>
|
||||
<td>哥布林头目</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>幽暗密林</td>
|
||||
<td>Lv.3-5</td>
|
||||
<td>猫妖</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>幽暗密林深处</td>
|
||||
<td>Lv.4-7</td>
|
||||
<td>猫妖王</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>雷鸣废墟</td>
|
||||
<td>Lv.7-10</td>
|
||||
<td>闪电哥布林王</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>格拉卡</td>
|
||||
<td>Lv.11-14</td>
|
||||
<td>牛头王萨乌塔</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>烈焰格拉卡</td>
|
||||
<td>Lv.13-16</td>
|
||||
<td>火女彼诺修</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>冰霜幽暗密林</td>
|
||||
<td>Lv.9-12</td>
|
||||
<td>冰女克拉赫</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>暗黑雷鸣废墟</td>
|
||||
<td>Lv.15-18</td>
|
||||
<td>僵尸王</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>天空之城区域(Lv.18-28)</h3>
|
||||
<table class="wiki-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>地图</th>
|
||||
<th>等级</th>
|
||||
<th>BOSS</th>
|
||||
<th>状态</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>龙人之塔</td>
|
||||
<td>Lv.19-20</td>
|
||||
<td>龙人首领</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>人偶玄关</td>
|
||||
<td>Lv.21-22</td>
|
||||
<td>人偶之王</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>石巨人塔</td>
|
||||
<td>Lv.23-26</td>
|
||||
<td>黄金巨人普拉塔尼</td>
|
||||
<td><span class="tag completed">✅ 完成</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>黑暗玄廊</td>
|
||||
<td>Lv.24-27</td>
|
||||
<td>天之驱逐者</td>
|
||||
<td><span class="tag">📝 待写</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>城主宫殿</td>
|
||||
<td>Lv.26-29</td>
|
||||
<td>光之城主赛格哈特</td>
|
||||
<td><span class="tag">📝 待写</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- 进度 -->
|
||||
<section class="wiki-section" id="progress">
|
||||
<h2>📊 当前进度</h2>
|
||||
|
||||
<h3>已完成章节(15/60+)</h3>
|
||||
<ul class="timeline-list">
|
||||
<li>
|
||||
<span class="timeline-level">Lv.1-2</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第一章:洛兰的风</strong> - 林克初到艾尔文防线,初遇赛丽亚,被阿甘左救下
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.2-3</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第二章:洛兰深处</strong> - 阿甘左教导剑术,战胜哥布林头目
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.3-7</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第三~四章:幽暗密林</strong> - 遭遇猫妖王,卡赞诅咒产生共鸣
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.7-10</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第五章:雷鸣废墟</strong> - 觉醒卡赞血脉,召唤卡赞虚影
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.11-16</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第六~七章:格拉卡</strong> - 挑战牛头王萨乌塔,赛丽亚身世初现
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.9-12</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第八章:冰霜幽暗密林</strong> - 冰女克拉赫揭示赛丽亚是精灵族最后的血脉
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.15-18</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第九~十章:转职试炼</strong> - 选择剑魂之道,通过暗黑雷鸣废墟试炼
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.18</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第十一章:剑魂转职仪式</strong> - GSD授予剑魂之名,详解武器大师特性
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.18</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第十二章:西海岸</strong> - 莎兰揭示晨曦与天空之城的联系
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.19-22</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第十三~十四章:GSD带队</strong> - 龙人之塔、人偶玄关,见识觉醒技暗天波动眼
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<span class="timeline-level">Lv.23-26</span>
|
||||
<div class="timeline-content">
|
||||
<strong>第十五章:石巨人塔</strong> - 独立挑战,切换五种武器击败黄金巨人普拉塔尼
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>后续路线预览</h3>
|
||||
<p><strong>天空之城:</strong>黑暗玄廊 → 城主宫殿(光之核心真相)</p>
|
||||
<p><strong>天帷巨兽:</strong>神殿外围 → 树精丛林 → 炼狱 → 极昼 → 第一脊椎 → 第二脊椎(罗特斯)</p>
|
||||
<p><strong>阿法利亚:</strong>浅栖之地 → 蜘蛛洞穴 → 熔岩穴 → 暗黑城入口(无头骑士)</p>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<!-- 页脚 -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<div class="footer-content">
|
||||
<div class="footer-brand">
|
||||
<span class="logo-icon">⚔️</span>
|
||||
<span class="logo-text">阿拉德文库</span>
|
||||
</div>
|
||||
<p class="footer-desc">为《阿拉德:剑之回响》打造的专属阅读平台</p>
|
||||
<div class="footer-links">
|
||||
<a href="index.html">首页</a>
|
||||
<a href="chapters.html">目录</a>
|
||||
<a href="wiki.html">设定集</a>
|
||||
</div>
|
||||
<p class="footer-copyright">© 2026 阿拉德:剑之回响 · 李策 著</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="js/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user