在IT公司实习了1个多月,氛围还是不错的,也算是积累了一些项目经验,同时在代码模块化、版本控制、任务优先级等方面有了更进一步的体会和理解,深刻认识到在一个团队,最重要的是沟通和负责。
嗯,说了下题外话,这就直奔主题吧,本博文就是用来吐槽!important的滥用,表示对公司目前的项目中使用的smartadmin真是累觉不爱。
先简单介绍下!important为何物:
!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。对于ie7+、firefox、chrome等浏览器,都可以识别 !important 的优先权, 但是当!important跟要覆盖的样式写在一个{}里,并写在要覆盖样式的前面时,IE 6不能正常识别。说白了,可以用来用来hack IE6样式的。
公司项目中的样式经常用!important写死,可同时smartadmin也使用了bootstrap框架,这就发生了很奇葩的事情,一方面smartadmin用像素单位加!important写死长高,另一方面使用bootstrap是为了制作响应式网页,然后各种奇葩的不明现象就会出来,样式错乱,表现异常,各种修改,晕。。特别是要对某页面进行样式调整时,经常发现,诶,怎么没反应,不科学啊,细心调半天才惊觉,怎么这个样式又用!important写死了,为了修正,只好在当前页面也用!mportant写死,提高自定义样式优先级。
必须承认!important是个挺重要的css规则,能最快速度更正页面的样式,而不用去共用的css文件中查找修改,同时又担心会因为此次的修改改变了其他页面的样式;另一方面,用!important写死某些规则有时是必要的。但这是非常不好的习惯,不到非用不可的时候就千万不要用,我们不可能一直维护一个项目,总有后人来接手维护,如果我们滥用!important,就会给后来的人带来莫大的困扰,维护代码会变得越来越棘手,想想看项目中到处是!important,你不写!important就覆盖不了前者,长此以往,项目的维护越来越麻烦。
想想调整了这么多界面,经常被!important害得不浅。
嗯,就这样,呼吁大家尽量不要用!important规则。
吐槽完毕~
-----------------------原创,转载请把本文链接附上http://www.cnblogs.com/suspiderweb/。