シンプルなメニューがあります:
<ul id="menu">
<li><a href="a.html">A</a></li>
<li><a href="b.html">B</a></li>
<li><a href="c.html">C</a></li>
</ul>
このメニューは 3 つのファイル ( ) に挿入されています{a-c}.html
。a.html
ここで、CSS を使用して現在のメニュー項目 (A in 、B inなど)を強調表示したいと考えていますb.html
。簡単な方法は、追加のクラスを挿入することです。
<ul id="menu">
<li><a href="a.html">A</a></li>
<li class="current"><a href="b.html">B</a></li>
<li><a href="c.html">C</a></li>
</ul>
current
しかし、必要に応じてクラスを追加するようにジェネレータ コードに指示する簡単な方法はありません。にクラスを追加するようにジェネレーターに簡単に指示できますbody
。
<body class="a">…</body> <!-- in a.html -->
<body class="b">…</body> <!-- in b.html -->
<body class="c">…</body> <!-- in c.html -->
そして、次のように現在のメニュー項目をターゲットにできます。
body.a li.a, body.b li.b, body.c li.c { /* highlight */ }
これは機能しますが、ハックのように感じます。もっと良いアイデアはありますか?