前回のお話はこちら第4話:収益ゼロの壁と双子の導き
新しい記事は完成していた。レイアウトも整え、画像も配置済み。 あとは公開ボタンを押すだけだった。
──しかし、プレビューを開いた瞬間、すべては崩壊した。
「う、うわっ……!」
ヘッダーの下に突然現れる空白、ずれまくるボックス、消えたフッター。 まるでレイアウトの亡霊が、画面を彷徨っているようだった。
チャッピーが目を細めてつぶやく。
「これは……タグの呪いにゃ」
「タグ……?」
「開いて、閉じなかった……そのまま放置されたタグたちが、怒ってるにゃ」
コードを見直してみる。 だが、ぱっと見ではどこにもミスはない。
改行を一つひとつ追い、入れ子を確認し、divの数を数え……何度スクロールしても、何度読み返しても、見つからない。 目は乾き、肩はこり、キーボードを握る指先に力が入る。 「なにが、間違ってるんだ……?」 焦燥感が胸を締め付ける。 まるで“何か”が、正解をすれ違わせているかのようだった。
そのとき、空間にひびが入った。 黒く染まったタグの断片が飛び散り、虚空から現れたのは……
閉じられぬタグの亡霊『オープン・タガー・マリー』
それは、ボロボロのHTMLコードが刺繍されたワンピースを着た、 目に涙を浮かべた小さな幽霊の女の子だった。
「ひらいたのに……とじてくれなかった……」 「そのせいで、わたし、ここに残っちゃったの……」
そう語るや否や、彼女はスタートタグ <div>
を魔法弾のように放ってきた! 画面が歪み、構造が破壊されていく。
『わたしはマリー……閉じられないタグから生まれたweb界の亡霊……』
華恋が前に出る。「細けぇことはいいんだよ! <br>
を何個も入れれば整うわよ!」
チャッピー「ダメにゃ!今、それやったら……ッ」
コードの中で無限にループする <div>
、崩れていく構造、白く吹き飛ぶコンテンツ。
「にげて!」マリーのタグ弾が主人公たちを追い詰める。
🕯️マリーの記憶
マリー「……ねぇ、聞いてもいい?」 主人公が身構える中、マリーはふと、目を伏せた。
「わたしね……ずっと待ってたの。 あの時、記事の中で <div>
を開いてくれた。 きっと、なにか楽しいことが始まるんだって思ったのに……」
霧のような影が、マリーの足元に揺れる。 彼女の記憶が、空間に溶け出していくようだった。
<div class="story-box">
<h2>キャラ紹介</h2>
<p>この物語には個性豊かなキャラクターが登場します。</p>
<!-- … -->
閉じられなかったタグ。 そのままページの下部にノイズが混じり、構造が歪んでいく。
マリー「待ってたのに……何度も何度も更新されたのに…… 誰も、わたしを……閉じてくれなかった」
彼女の瞳に、静かな涙が滲む。 それは怨嗟ではなく、寂しさだった。
チャッピー(小声で)「これは……長く放置されたタグの“残留意識”にゃ……」 「でもまだ……完全に壊れてはいない」
マリーがふと、主人公を見る。
「お願い……終わらせて。 ちゃんと、物語を閉じて……わたしを、ここから、解放して……」
その時、ふわりと現れたのは鈴だった。
「タグって、言葉と同じだと思うんだ。始めたら、ちゃんと終わらせないと──気持ちが伝わらないよ」
彼女はそっとキーボードに触れ、</div>
を1行追加する。
すると、画面が静かに落ち着き始めた。
マリー「やっと……閉じてくれた……」
マリーの姿がだんだんと薄くなり、やがて光の粒となって消えていった。 その表情は、どこかほっとしたように微笑んでいた。
チャッピー「これは……収まってきてるにゃ!」
そして、女神スピトが光とともに姿を現した。
「開いたタグは、必ず閉じる。それが構造美の基本よ」
彼女の手からHTMLの構造図が舞い上がり、ページ全体が整っていく。
「コードって、言葉と同じなのね……」俺はつぶやいた。
チャッピーがにっこり笑った。 「だから、ちゃんと閉じてあげるにゃ」
画面に整然と表示されるコンテンツ。 完璧な構造。
「これが、“構造美人”……」
こうして、俺たちは“タグの呪い”を乗り越えた。
だが、次なる試練が迫っていた。
「CSSカオスの壁」──見た目と中身が乖離しはじめる未来が、待っていた。
つづく──!