我有CSS的一大块,我想“范围”,以HTML的特定块。 我生成一个唯一的ID,然后将其设置HTML的块上,然后想换CSS的块具有相同的ID,使得这些选择器所不能比拟的兄弟姐妹或父元素。 我不知道CSS的块的内容。 考虑到CSS的一大块:
.container {
background-color: black;
}
.container .title {
color: white;
}
.container .description {
color: grey;
}
我需要它出来是这样的:
.theme0 .container, .theme0.container {
background-color: black;
}
.theme0 .container .title, .theme0.container .title {
color: white;
}
.theme0 .container .description, .theme0.container .description {
color: grey;
}
有什么办法少花钱多办事呢? 第一个选择是容易的,只是包装的CSS块与'.theme0 {' + cssChunk + '}'
。 但我一直没能想出一个办法前面加上'.theme0'
所有选择的,而没有空间。
编辑:所以我要澄清,我们的意图是建立这样一个系统到我们的构建过程/依赖系统。 我们试图范围CSS的一大块的反应成分。 我们有我们尝试了几个不同的方法,这只是其中之一。 重点是,CSS和HTML我们正在努力的范围可以是任何东西,我们无法控制或它的知识。 第一图案可以很容易地通过预先计算来实现.uniqueID {
和附加}
。 这给.uniqueID .someSelector {}
我不知道是否有可能做类似的事情,但得到.uniqueID.someSelector {}
理想的情况下,而无需编写CSS的原块与我们的作用域系统的知识。