搞定IE的最重要CSS技巧

  •   2009-07-31/13:37
  • 众所周知道,IE向来是我们在制作网页时最难搞定的对手。但又迫于其用户群数量之多,我们不得不想法设法搞定它。下面,将介绍的将是利用其特点而被发现/创造出来的CSS技巧。让你轻松搞定这个难对付的家伙。

    IE注释:最安全的HACK IE的途径
    <!--[if IE]>
    <link rel=”stylesheet” type=”text/css” href=”ie.css” />
    <![endif]–>

    这应该是我最常用的方法了,一般情况下,我们现在已经不用考虑IE5或者以下的浏览器了,这个注释让我们可以轻松HACK IE,并且它是最安全的方法,因为别的浏览器不会显示/识别它(这里应该感谢微软的细心,即使他精粗心在先)。

    至于IE8 beta,以其为主浏览器的用户算起来应该不到K级,也暂时不是我们应该搞定的对象(当然,搞定它是最好不过的事)。或者我们应该把希望放在他正式版对CSS完美的支持,而现在我们把最重要的放在搞定IE6
    /IE7,区分它们,我最常用的是下面的代码:

    #forieothers{...} // 用这个搞定IE7
    *html #forie6{…} // 当然,这是写给IE6的

    而你需要注意的就是,别把它们的顺序写倒了,因为#forieothers这个是会被IE6看到的,而根据CSS书写顺序的优先性,应该把让*html #forie6写在后面,让浏览器最终显示它,但IE7又看不到。

    让IE6支持PNG透明图片
    #regular_logo
    {
    background:url(’test.png’); width:150px; height:55px;
    }
    /* \ */
    * html #regular_logo
    {
    background:none;
    float:left;
    width:150px;
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’test.
    png’, sizingMethod=’scale’);
    }
    /* */

    这并不是我喜欢的方法,不过,或许你会喜欢。当然,有时候,我们导出GIF图片的时候,其效果和质量都可能不是很好,搞定PNG或许就是为这个而做的吧。也可能是由于自己并不是画图的高手,所以,比较少用。

    让IE6支持min-width/max-width
    #container
    {
    min-width: 600px;
    max-width: 1200px;
    width:expression(document.body.clientWidth < 600? “600px” :
    document.body.clientWidth > 1200? “1200px” : “auto”);
    }

    这应该是非常重要的技巧,也是比较常用的。就像,你以前可能用了太大的图片,但现在又想用一个栏比较小的主题,这时,这个方法就显得异常重要。抑或是,如果你想创建一个流体布局,这个代码对你来说是必不可少的。

    当然,这三个并不能让你搞定所有IE的问题。不过,这应该是最重要的。IE注释通常被CSS新手忽略,而IE6显示透明PNG和IE6支持最小/最大宽度是难点。好吧,我想,看到这里,或许你已经学会了,或者,至少知道这是解决方法。但或许还有一句话你应该记住:少骂IE,完善自己!


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多