它指出,特异性是CSS的得分系统。它告诉我们元素值1分,类值10分,ID值100分。最重要的是,这些点是合计的,总数就是选择者的特异性。
例如:
身体 = 1点
身体.wrapper = 11点
身体.wrapper#容器 = 111点
因此,使用这些要点,我期望以下CSS和HTML导致文本为蓝色:
#a {
color: red;
}
.a .b .c .d .e .f .g .h .i .j .k .l .m .n .o {
color: blue;
}
<div class="a">
<div class="b">
<div class="c">
<div class="d">
<div class="e">
<div class="f">
<div class="g">
<div class="h">
<div class="i">
<div class="j">
<div class="k">
<div class="l">
<div class="m">
<div class="n">
<div class="o" id="a">
This should be blue.
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
为什么当15个班级等于150分而1个ID等于100分时,文本变成红色?
显然,积分不只是总数。它们是串联在一起的。在此处了解更多相关信息这是否意味着选择器中的类= 0,0,15,0
OR 0,1,5,0
?
(我的直觉告诉我,这是前者,正如我们所知道的ID选择的特异性看起来是这样的:0,1,0,0
)
但是,正如许多人已经指出的那样,W3CCSS建议指出:“将三个数字abc(在基数较大的数字系统中)连接起来具有特殊性。”因此,我的极客只需要弄清楚这个基数是多少。
事实证明(至少4个最常用的浏览器*)用于实现此标准算法的“很大的基础” 是256或2 8。
这意味着用0个id和256个类名指定的样式 将 覆盖仅用1个id指定的样式。我用一些小提琴进行了测试:
… 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。
问题内容: CSS如何确定何时将一种样式应用于另一种样式? 我已经遍历了W3CSS3选择器文档几次,这帮助我了解了如何在jQuery中更好地使用CSS选择器,但是并没有真正帮助我理解何时将一个CSS规则应用于另一个CSS规则。 我有以下HTML: 我有以下CSS: 鉴于以上所述,链接1和链接2的样式将由CSS 确定。为什么与Link 2 关联的样式没有优先级? 显然,我可以这样解决: 但是,由于缺
问题内容: 我有这样的数据: 我想计算列之间的日期差异,并用差异替换列。我已经尝试过关于stackoverflow的相关解决方案,但是它们都不起作用。 问题答案: 您需要将该列转换为日期,然后才能与结合使用。使用 Spark 2.2 : 使用 < Spark 2.2,我们需要首先将该列转换为class :
本文向大家介绍xgboost的特征重要性计算相关面试题,主要包含被问及xgboost的特征重要性计算时的应答技巧和注意事项,需要的朋友参考一下 参考回答: Xgboost根据结构分数的增益情况计算出来选择哪个特征作为分割点,而某个特征的重要性就是它在所有树中出现的次数之和。
我有两张表发票和invoice_items。我想要的是和金额为每个发票id和显示在我的看法。 发票表 id invoice_items表 > id 发票号 数量 我想为具体的发票id求和金额列。我对laravel是新来的,所以我如何使用laravel eloquent做到这一点。
我有一个数据文件如下例,但大得多 我必须计算Y1和Y2的每个3个相同名称(第一列)的平均值。然后分别用Y1和Y2的每个名称的平均值制作一个条形图。因此,在x轴上,我将有名称,在y轴上将有平均值。任何人都可以帮我吗?
问题内容: 我经常对CSS覆盖规则感到困惑:总的来说,我意识到更具体的样式表会覆盖不太具体的样式表,而具体性取决于指定了多少个选择器。还有一个关键字,它也起作用。 因此,这是一个简单的示例:我有一个带有两个表单元格的表。表格本身具有CSS规则,适用于表格中的所有单元格。但是,第二个表单元格具有自己的规则,该规则应覆盖常规表规则: 但是…当我在浏览器中打开它时,我看到它没有被覆盖。好的- 我想我需要