jianzhihuixiang/alacarte-novel-website/chapters/chapter-7.html
小虾米 f8894dd3f3 fix: 修复上一章/下一章导航对小数章节(如107.5)的支持
- updateNavButtons: 改用数组索引查找,而非简单的+1/-1
- updateSidebarHighlight: 使用parseFloat比较章节ID
- updateMobileTOCHighlight: 使用parseFloat比较章节ID
- 更新版本号强制刷新缓存
2026-03-27 17:42:41 +08:00

553 lines
23 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>