Класс CSS не применяет стиль, но id применяет стиль?

У меня есть мой HTML настроен следующим образом

<div>
    <ul>
        <li></li>
    </ul>
    <ul>
        <li>
            <a class="nodecoration"></a>
        </li>
    </ul>
</div>

CSS:

.nodecoration {
    text-decoration:none;
}

Когда я изменяю свой тег привязки на <a id="nodecoration"></a> и измените CSS на:

#nodecoration {
    text-decoration:none;
}

Элемент теперь стилизуется. Почему это?

Примечание: я также использую Twitter Bootstrap, мешает ли CSS от этого?

2 ответа

Решение

Это указывает на то, что другое правило стиля имеет приоритет над этим правилом. Вы можете сделать это правило более конкретным, используя a.nodecoration что должно увеличить его приоритет.

К вашему сведению, такие инструменты, как firebug для Firefox, сообщат вам, какие правила имеют более высокий приоритет.

У бутстрапа уже есть правило для, нужно быть более конкретным.

  • отметка 1 балл
  • класс 10 баллов
  • 100 баллов

Вы можете рассчитывать таким образом, чтобы узнать, какой из них является более конкретным.

Другие вопросы по тегам