Изменение Специфичности
<html>
<head>
<style type="text/css">
#sidebar p {
font-family: Verdana;
font-size: .9em; }
#sidebar .intro {
font-family: Georgia;
font-size: 1.25em;
color:red;
}
</style>
</head>
<body>
<div id=”sidebar”>
<p class=”intro”>
As you can see, the more CSS styles you create, the greater the potential for formatting
snafus. For example, you may create a class style specifying a particular
font and font size, but when you apply the style to a paragraph, nothing happens!
This kind of problem is usually related to the cascade. Even though you may think
that directly applying a class to a tag should apply the class’s formatting properties,
it may not if there’s a style with greater specificity.
You have a couple of options for dealing with this kind of problem. First, you can
use !important (as described in the box above) to make sure a property always
applies. The !important approach is a bit heavy handed, though, since it’s hard to
predict that you’ll never, ever, want to overrule an !important property someday.
Read on for two other cascade-tweaking solutions.
</p>
</div>
</body>
</html>
стиль #sidebar p имеет специфичность 101 (100 для идентификатора и 1 для селектора тега), в то время как стиль.intro имеет специфичность 10 (10 баллов для селектора класса). Поскольку 101 больше 10, #sidebar p имеет приоритет. Изменение.intro на #sidebar .intro меняет его специфику на 110.
Хотя я должен изменить это, мой результат не приходит
Может кто-нибудь объяснить мне.
вывод: должен быть красного цвета, font-size-1.25em и font-family -Georgia
1 ответ
Решение
Кавычки вокруг удостоверения личности sidebar
и имя класса intro
являются недействительными”sidebar”
должно быть "sidebar"
,
Браузер интерпретирует идентификатор как ”sidebar”
и не sidebar
следовательно, ни одно из ваших правил даже не соответствует.