CSSの「階層」に問題があります(階層と呼ぶのが適切かどうかはわかりません)。私はHTMLの下のビットをスタイルすることを試みています。CSSプロパティがオーバーライド/無視されるのはなぜですか?
<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>
は、私が持っているすべてのページのセクション#内容の変更以来、私はそれらのすべてにわたって一貫したスタイルを維持したかったので、私はいくつかの「グローバル」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;
}
私は違ったul.posts-list
以内スタイルのHTMLに望んでいたので、私はこれらのルールを書きました。
li.post-item > * {
margin: 0px;
}
.item-description {
color: #FFF;
}
.item-meta {
color: #666;
}
しかし、いくつかの問題が発生しました。ここではChromeはCSSをレンダリングする方法である。
何らかの理由で、ルール#content p, #content li
は.item-description
と.item-meta
のための私のルールをオーバーライドしています。私の印象は、class/idの名前が特定のものであると考えられていることです。しかし、私はCSSがどのように動作するのか誤解しているようです。私はここで間違って何をしていますか?
編集:さらに、この階層の仕組みについてはどこで読むことができますか?
コードで+1しましたが、 [特定の公式仕様](http://www.w3.org/TR/CSS21/cascade.html#specificity)と[フレンドリーチートシート](http://www.stuffandnonsense.co.uk/archives/images/ specificitywars-05v2.jpg) – benesch
フレンドリーなチートシート、または「オタクのcssの仕様を説明する方法」!優れた! – tibo