Перечитав ваш вопрос, я думаю, что реальный ответ заключается в том, что вы не можете использовать только CSS для управления поведением элементов при взаимодействии с пользователем.
Я понимаю, что это не сработает, потому что стилиприменяется немедленно , а элементы в DOM обычно не :active
по умолчанию :
li {
font-weight: bold;
}
li:not(:active) {
font-weight: normal;
}
Плюс, :not()
- псевдокласс CSS3,так что поддержка сейчас довольно слабая, если вам приходится учитывать старые браузеры.
Может быть, вы можете сделать это с помощью JavaScript (я использую jQuery здесь) ...
$('li').click(function() {
$(this).siblings().css('font-weight', 'normal');
});