Cascade Rule 串接规则
CSS具备串接的规则和明确度,用来处理样式冲突的情况。串接规则会依重要性排序,决定采用哪一种样式。
在串接规则中,重要性最高的是标示有「!import」的使用者样式,其次是同样标有「!import」的作者样式表。
在没有标「!import」时,作者样式表的重要性高于使用者。透过重要性规定,浏览器就能决定呈现哪一种样式,而如果重要性一致时,则后出的规则会覆写较早的规则。
Specificity 明确度
由于CSS具有可串接、继承的特性,某一个元素有可能被指定不同的样式。发生这种情况时,浏览器就会依明确度来决定呈现那一种样式。
明确度规定每一种选取器都具有一个计数值,例如ID选取器的明确度是「0,1,0,0」,而类别选取器的明确度是「0,0,1,0」,当某个元素同时套用两者,而且部分样式又有冲突时,因为ID选取器的明确度较高,就会以它的值为主。
CSS Hack CSS小技巧
CSS在浏览器支持与实作的方式不同,甚至存在bug,都让设计人员在跨浏览器的页面设计遇到挑战。为了解决这些难题而发展出的技巧,便称为CSS Hack。
例如IE 5在Width这个语法实作,与W3C制定的标准有所不同,造成它与其它浏览器会呈现不同的结果。为了解决这个问题,而有所谓「Box Model Hack」的技巧,让IE 5也能和其它浏览器呈现相同的结果。