我有一段这样的 HTML 代码:
<div id="a">
<p>A piece of HTML</p>
<div>
根据某些条件,它将以不同的方式放置到页面中,因此我需要给它不同的样式。
它可以像这样放置
情况1
<div id="container">
<div id="b">
<div id="a"></div>
</div>
<div>
或者
案例2
<div id="container">
<div id="b"></div>
<div id="a"></div>
<div>
我想知道什么是更好的方法(如果存在并考虑到最佳实践和性能)来识别这两种不同的情况并#a
使用 CSS 规则以不同的方式设置 div 的样式。
我是否应该为每种情况分配两个不同的类,然后检测添加一些这样的 CSS 规则:
#a.class-for-case-1{
/* Rules here */
}
#a.class-for-case-2{
/* Rules here */
}
或使用 + 选择器之类的特异性选择器:
#b #a{
/* Rules here */
}
#b + #a{
/* Rules here */
}
甚至使用#a
应该从 + 选择器覆盖的 div 的默认样式?
#a{
/* Default rules here */
}
#b + #a{
/* Specific rules here */
}
提前谢谢你,如果有我没有注意到的类似问题,请原谅我。