关于css @import url()总结

    今天群里无意谈到了@import url(),不太常用,争论很大。一开始是由于一个兼容问题: @import url(/css/a.css) 很简单但出现了兼容问题,在ff下无法调用样式,大家都以为是@import搞的怪,但用link后问题依然出现。经过一番讨论原来是绝对路径在ff下是不认的。 

    对@import url()做一下总结: 
    1,@import url()机制是不同于link的,link是在加载页面前把css加载完毕,而@import url()则是读取完文件后在加载,所以会出现一开始没有css样式,闪烁一下出现样式后的页面(网速慢的情况下)。 
    2,@import 是css2里面的,所以古老的ie5不支持。 
    3,当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。4,link除了能加载css外还能定义RSS,定义rel连接属性,@import只能加载css 


    @import url(xxx.css); 有最大次数的限制,经测试IE6的最大次数是31次,第32个import及以后的都不能生效,如下: 

    @import url(1.css); 
    @import url(2.css); 
    @import url(3.css); 
    @import url(4.css); 
    @import url(5.css); 
    @import url(6.css); 
    @import url(7.css); 
    @import url(8.css); 
    @import url(9.css); 
    @import url(10.css); 
    @import url(11.css); 
    @import url(12.css); 
    @import url(13.css); 
    @import url(14.css); 
    @import url(15.css); 
    @import url(16.css); 
    @import url(17.css); 
    @import url(18.css); 
    @import url(19.css); 
    @import url(20.css); 
    @import url(21.css); 
    @import url(22.css); 
    @import url(23.css); 
    @import url(24.css); 
    @import url(25.css); 
    @import url(26.css); 
    @import url(27.css); 
    @import url(28.css); 
    @import url(29.css); 
    @import url(30.css); 
    @import url(31.css); 
    @import url(32.css); 
    ◎import url(xx.css); 

    body{color:#333} 


    虽然最多只能import 31次,但不会影响css里面的其他规则,如body{}的定义还能正常显示。 
    Firefox 没有发现有import的最大值。 

    另外,既然横向import有最大次数限制,却可以通过垂直import来继续扩展。 
posted @ 2011-10-21 08:32  布瓜  阅读(2308)  评论(0编辑  收藏  举报