但是,正如许多人已经指出的那样,W3CCSS建议指出:“将三个数字abc(在基数较大的数字系统中)连接起来具有特殊性。”因此,我的极客只需要弄清楚这个基数是多少。
事实证明(至少4个最常用的浏览器*)用于实现此标准算法的“很大的基础” 是256或2 8。
这意味着用0个id和256个类名指定的样式 将 覆盖仅用1个id指定的样式。我用一些小提琴进行了测试:
- 255类是 不 足够覆盖1号
- ......但256类 是 足以覆盖1号
… 256标签名称 是 足以覆盖1类名
......但是,唉256个ID是 不 足够覆盖1种内嵌样式 (更新2012年8月15日-你将不得不使用
!important
)
因此,有效地存在一个“点系统”,但它不是以10为基础,而是以256为基础。这是它的工作方式:
(2 8)2或65536,乘以选择器中ID的数量
+(2 8)1或256,乘以选择器中类名称的数量
+(2 8)0或1,乘以tag的数量-选择器中的名称
这对于进行信封式练习来传达概念不是很实际。
这可能就是有关该主题的文章一直使用10进制的原因。
* [Opera使用2 16(请参阅karlcow的注释)。其他一些选择器引擎使用 无穷大 -实际上是无分制(请参阅Simon
Sapin的评论)。
更新,2014年7月:
正如Blazemonger在当年早些时候指出的那样,Webkit浏览器(chrome,safari)现在使用的基数高于256。也许2
16,例如Opera?IE和Firefox仍使用256。



