IE6貌似没有那么讨厌

有IE6的一天,就要慎用很多CSS样式,比如说浮动、定位、旋转等,还要额外增加样式,比如触发haslayout,甚至还有一些诡异的规则。不过,最近遇到的两个问题,让我对IE6有些改观。

一,在某个class中,background-color写在了width、height之前,背景颜色竟然不生效。好像也可以理解,浏览器要先对DOM定位,然后解析自身属性,接着再解析内部对象。CSS属性确实有推荐的书写顺序:

   
   
   
   
  1. Display & Flow
  2. Positioning
  3. Dimensions
  4. Margins, Padding, Borders, Outline
  5. Typographic Styles
  6. Backgrounds
  7. Opacity, Cursors, Generated Content
详情见 http://fordinteractive.com/2009/02/order-of-the-day-css-properties/。其他浏览器不会出现这种情况,想必是自动对属性进行排序了吧。IE6确实也应该这么做,也许是做了,没做完全而已,只是这样额外增加大量的开发成本。我想,这就好比你教一个年轻人和老年人用电脑,年轻人学得很快,你说几句他就懂了。而老年人呢,你要明确说明这是键盘那时鼠标如何单击如何双击等等,但是他的不懂又情有可原。就像IE怪异模式的盒模型,div的宽度就是width,包括内容宽度,padding、border,你想,用卡车装纸箱,先量出车斗的宽度和纸箱的宽度,才能确定一排可以放下多少个(根本不用计算,直接往里装就好了,只是讲这个意思),那纸箱的宽度你能只算里面物品的宽度么。当然不能,而且还要算上纸箱自身的宽度呢。

二、文字的垂直显示。当时做的时候用了一个比较“尖酸刻薄”的方式,就是不太常见,果然在IE6下就出了问题。之前做的那种常见的网页标签卡,标签层和内容层不能是整齐地上下接触,常常是选中的标签盖住内容层一点点。有这么一个规律,如果子元素浮动,父元素不做任何处理的话就无法根据子元素来自适应高度,那就因祸得福,我们就利用这个规律,正好不想让父元素完全撑开内容呢。正当我为这么个解决方案洋洋得意的时候,发现IE下就是不行。还是老老实实本本分分地采用常用方案吧。所以说,IE6迫使我不能想什么“歪点子”,因为它笨,不懂,哪像火狐,她就像了解你的心意似的。哎~


你可能感兴趣的:(css,浏览器,IE,Class,div,border)