如何为IE定义不同的填充值?

时间:2012-12-20 06:48:35

标签: javascript html css cross-browser

我需要在Internet Explorer中分配不同的填充值,因为当我声明<div>的高度时,它会将其计算为高度+填充(它在Firefox和Chrome中都正常工作)。

这是我的CSS:

#payment{
    width: 265px;
    border: 1px solid #cecece;
    border-radius: 8px;
    -webkit-box-shadow: 0 2px 7px rgba(50,50,50,0.46);
    -moz-box-shadow: 0 2px 7px rgba(50,50,50,0.46);
    box-shadow: 0 2px 7px rgba(50,50,50,0.46);
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    /*display: block;*/
    position: absolute;
    /*float: right;*/
    height: 230px;
    padding: 10px;
    left: 549px;
}

2 个答案:

答案 0 :(得分:3)

您可以将IE条件添加到html元素并将类分配给特定的IE版本。

<!--[if lt IE 7]>      <html lang="en-us" class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html lang="en-us" class="lt-ie9 lt-ie8 ie7"> <![endif]-->
<!--[if IE 8]>         <html lang="en-us" class="lt-ie9 ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en-us"> <!--<![endif]-->

然后,您可以使用前面的IE类来定位您的选择器。

.lt-ie8 #payment { /* IE7 & below */
    padding: 5px;
}

.ie7 #payment { /* IE7 only */
    padding: 5px;
}

答案 1 :(得分:1)

你应该这样使用:

#payment{
    padding: 10px; /* standard */
    padding: 17px\9; /* IE 8 and below */
    *padding: 15px\9; /* IE 7 and below */
    _padding: 16px\9; /* IE 6 */
}

reference link 1

reference link 2