0

http://jsfiddle.net/uA97K/に次の例があります

私が達成しようとしているのは、選択したタブでホバーと同じ色を維持することです。したがって、ユーザーがタブをクリックすると、その選択されたタブは、別のタブが選択されるまで青色のままになります。

これは a:target を使用して実行できると思いましたが、機能しているようです。

#bar a:target { background: #00A3EF; color: #003366;}

私が間違っているかもしれないアイデアはありますか?

4

2 に答える 2

1

これは、すでに述べたように、現在の CSS では不可能です。ただし、プレーンな JavaScript では可能です (ただし、次のデモは と API をサポートするブラウザでのみ機能しdocument.querySelector()ますaddEventListener()) element.classList

function hashMonitor() {
    var D = document,
        active = D.querySelector('a.active'),
        link = D.querySelector('[href="#' + D.querySelector(':target').id + '"]');
    if (active) {
        active.classList.remove('active');
    }
    link.classList.add('active');
}
window.addEventListener('hashchange', hashMonitor, false);

JS フィドルのデモ

おそらく、CSS のレベル 4 (現在のところ、実際にはまったくサポートされていません) でこれが可能になる可能性がありますが、実装が現れるまで、そのようなセレクターがどのように使用されるかを推測することは無駄に思えます。

参考文献:

于 2013-05-22T10:02:19.223 に答える