Так что CSS в настоящее время не поддерживает эту функцию напрямую.Таким образом, вам нужно искать альтернативы и взвешивать компромиссы.
Используйте JavaScript и jQuery для добавления класса
$(function () {
$('a[href="' + document.location.pathname + '"]').addClass("current");
});
Затем вы можете основывать свои стили на селекторе .current
.
a.current {background-color: white;}
Просто не помещайте class="current"
в ваш HTML - пусть все они будут нормальными, когда страница загружается, и javascript добавит класс к нужным элементам.Это хорошо, потому что он будет работать для любой страницы и не требует динамического кода на сервере.Конечно, это можно сделать и без jQuery.Это может потребовать корректировки параметров строки запроса, абсолютных URL-адресов и некоторых других крайних случаев, но отлично работает для простого случая.
Используйте динамический код на стороне сервера, чтобы поместить class = "current" в правильныйelements
Вы также можете сделать это таким же образом, но он не будет таким кратким и выразительным, как версия JavaScript, потому что в большинстве сред программирования на стороне сервера нет доступных хороших селекторов DOM.