CSSの「階層」に問題があります(階層と呼ぶのが適切かどうかはわかりません)。以下のHTMLのスタイルを設定しようとしています。
<body>
<section id="content">
<article>
<ul class="posts-list">
<li class="post-item">
<h2>[post title]</h2>
<p class="item-description">...</p>
<p class="item-meta">...</p>
</li>
...
</ul>
</article>
</section>
</body>
section#contentはページごとに変わるので、すべてのページで一貫したスタイルを維持したかったので、いくつかの「グローバル」CSSルールを作成しました。
#content {
color: #000;
margin-left: 300px;
max-width: 620px;
padding: 0px 10px;
position: relative;
}
#content p,
#content li {
color: #111;
font: 16px / 24px serif;
}
別の方法でHTMLのスタイルを設定したかったul.posts-list
ので、これらのルールを作成しました。
li.post-item > * {
margin: 0px;
}
.item-description {
color: #FFF;
}
.item-meta {
color: #666;
}
しかし、私はいくつかの問題に遭遇しました。ChromeがCSSをレンダリングする方法は次のとおりです。
何らかの理由で、ルールがとのルール#content p, #content li
を上書きしています。私の印象では、クラス/ ID名は特定のものと見なされるため、優先度が高くなります。しかし、CSSがどのように機能するかについて誤解しているようです。私はここで何が間違っているのですか?.item-description
.item-meta
編集:また、この階層がどのように機能するかについて、どこでもっと読むことができますか?