时间:2021-05-08
最近在做项目中发现很多CSS代码里面都使用!important去覆盖原有高优先级的样式。按照常理来说,越是灵活的东西,需要做的工作就会更多。所以想当然的认为像!important这样灵活、方便的规则如果用得多的话肯定会对性能有所影响。基于这种考虑,本来想把所有的这些样式通过提高优先级给去掉的。不过后来一想,还是去google一下吧,猜想一般都是不可靠的。
复制代码代码如下:
if (aIsImportant) {
if (!HasImportantBit(aPropID))
changed = PR_TRUE;
SetImportantBit(aPropID);
} else {
// ...
复制代码代码如下:
/**
* Transfer the state for |aPropID| (which may be a shorthand)
* from |aFromBlock| to this block. The property being transferred
* is !important if |aIsImportant| is true, and should replace an
* existing !important property regardless of its own importance
* if |aOverrideImportant| is true.
*
* ...
*/
从上面可以看出,firefox对于!important规则的判断很简单:将包含!important的样式直接覆盖了正常生成的样式规则,然后如果解析到后面还有!important规则时,再和以前的important规则比较优先级。就是说,使用!important的CSS规则是置为了最高优先级,然后最高优先级中去判断应用那个样式。
结论就是,使用!important对于性能并没有什么负面影响。但是从可维护性角度考虑还是少用这个规则。不过这个规则在IE6中有bug(IE6 IE7(Q) IE8(Q) 不完全支持 !important 规则),使用的时候还要注意。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
RAS特性(Reliability,AvailabilityandServiceability,可靠性、可用性与可维护性)具体来说,可靠性要求计算机能够持续运转
电子商务网站开发的基本原则:1、内容是吸引客户的重要因素2、效率也必须受到重视3、考虑网站的可扩展性4、考虑网站的可用性和可维护性。电商推广升级推广模式投入资金
一个门户网站建设方案是需要从不同的角度考虑的,收集各方面意见,通过审核评价,再做详细部署。系统设计应本着先进性、开放性、可扩充性、可维护性的原则。根据企业的实际
软件系统的可维护性评价指标不包括扩展性。软件的可维护性是指维护人员理解、改正、改动和改进这个软件的难易程度,是软件开发阶段各个时期的关键目标。软件系统的可维护性
网站设计的可用性原则 一:实用性和艺术性矛盾吗? 网站结构的组成,实用性和艺术性如何协调是网站设计的挑战。从搜索引擎优化的角度观察,无疑是实用性为先。这