我见过一些开发人员写的
HTML:
<div class="test"> some content </div>
Run Code Online (Sandbox Code Playgroud)
CSS:
div.test {
width:100px.
}
Run Code Online (Sandbox Code Playgroud)
做的目的是什么,div.className而不仅仅是.className.
这是否意味着只有在将类应用于div时才应用此样式.
那么,<span class='test'>content</span>上面的css对'test'没有影响吗?如果是这样,这是最佳做法吗?这几乎就像样式覆盖不同类型的元素,混合风格与规则!
是否有任何 CSS 选择器(CSS3+ 都可以)在元素仅出现一次时将某些样式应用于元素?
例如,以下 CSS 规则:
border: 1px solid black;
Run Code Online (Sandbox Code Playgroud)
...仅当HTML 中仅出现一次.info时才适用于.info 。
所以,
<p class="info">This would have a border because there is only one</p>
Run Code Online (Sandbox Code Playgroud)
和,
<p class="info">This would not have a border because there are two</p>
<p class="info">And neither would this</p>
Run Code Online (Sandbox Code Playgroud)
我猜我必须以编程方式应用一个附加类,例如:.single-occurrence或使用 Javascript 计算出现次数?
编辑:
让我澄清一些事情。
当我提到 Javascript 作为我正在尝试做的事情的解决方案时 - 这并不意味着我将使用它。我尽量避免使用 JS 来处理任何与行为无关的事情。所以我不需要 Javascript 答案,这非常容易完成 - 我的问题是关于 CSS 的。
另外,对于那些感到困惑的人:页面上有时只有一个类的原因是因为我使用的实际类是: search-result。有时只有一个结果。但仅仅因为只有一个并不意味着该项目不能属于名为search-result 的对象类的一部分。从语义上(和逻辑上)来说,当然可以存在一个项目的一类。有时,我认为人们应该更多地考虑语义,而不是应用一揽子规则。