今天做网站改版的时候,设计师太飘逸,语义化搞得我够呛。郁结在心中一整天,后来终于释然,猛然发现自己仍然是菜鸟一只。
以前听一个高手说过一句话,他说做CSS的最高境界就是不用HACK也可以搞定一切,当时觉得特牛B,于是在后来的开发中真的强迫自己不用HACK,结果就是我今天悲剧了。
从今往后,我决定不这么偏执了,不用HACK可以搞定一切,这个我承认,确实是有办法的。但是代价也是有的,最明显的就是结构变复杂了,语义化也不好操作。
其实今天碰到了两个问题:
第一个很无聊也很简单,就是在对li的列表样式清零的时候定义了list-type:none对IE6是不够的。由于是网站改版,清零代码早已写好,我就总以为是其他什么地方出错,baidu、google也没人说这个问题,IE6也没听说有这个BUG,左右分析实在是不像,后来实在是被逼无奈,清零代码里加了句list-style-position:outside。嘿,他NND,果然解决问题。我享受完兴奋的高潮后冷静下来想原因,简单得很,可能大家早就发现了,就是他妈的写清零代码的那个人弄错了,本应该是定义的list-style,结果这位老兄弄个list-type。汗……其实我们不到真正需要的时候不要自己写清零代码,优质的清零代码网上多的是,那些可都是高手的结晶,理解了它的再说吧。
第二个比较有趣,就是如果你在编辑器中(我就用的DREAMWEAVER,不知道其他编辑器怎么样),在行内元素上插了个换行,这对格式化代码是无可厚非,但是在火狐中却愣是这两个行内元素之间插入了一点点距离,大概5个像素,IE没间隔,歇菜。解决这个问题很简单,要么不换行,全部缩成一顿;要么加HACK;要么换结构。最后我选择了加HACK,原因很简单,它是最简单的方法。