如何在MSIE和Chrome中使CSS按钮宽度相同?

时间:2013-04-03 11:33:07

标签: button width css

我在使最新版本的Internet Explorer(9)看起来与Google Chrome(26.0.1)相同时遇到问题。

内容 我有两个按钮,一个是使用一个名为.linkBtn的类 另一个按钮是使用一个名为.buynowBtn的类 我尝试使用“min-width:85px”将它们设置为85px宽。 然而在MSIE中,两个按钮都是104像素宽...而在Google Chrome中虽然LinkBtn是104px,但是buynowBtn是106px!

CODE 以下是相关的CSS代码行:

    .lot .lotDesc .linkBtn, .lot .lotDesc .linkBtnFinal{ /* (TJ-NEW) new style ".lot .lotDesc .linkBtnFinal" added for finalise button */
    position:absolute;
    left:8px;
    bottom:0;
    }
    .linkBtn,.linkBtnFinal{ /* (TJ-NEW) new style ".linkBtnFinal" added for finalise button */
    position:relative;
    display:inline-block; /* (TJ-NEW) required to standardise button widths */
    float:left;/* (TJ-NEW) required to standardise button widths */
    }
    .linkBtn a{
    min-width:85px;
    margin-bottom:3px;
    }
    .buynowBtn{
    position:relative;
    display:inline-block; /* (TJ-NEW) required to standardise button widths */
    float:left; /* (TJ-NEW-180313) */
    }
    .buynowBtn a{
    /* CSS3 Corner Radius */
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
    /* (TJ-NEW) the following has been added to standardise button widths */
    min-width:85px;
    display:block;
    text-align:center;
    }
    .linkBtn a{
    color:#fff!important;
    font-size:12px!important;
    padding:0.1em 1em; /* (TJ-NEW) ? padding adjustment previously entered had been rolled back! */
    font-weight:normal;
    text-decoration:none!important;
    background:#BF2A48 ; /* Old browsers */
    /* CSS3 Gradient Background */
    background:-moz-linear-gradient(top, #BF2A48 0%, #BF2A48 49%, #9B0624 51%, #9B0624 100%); /* FF3.6+ */
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#BF2A48 ), color-stop(49%,#BF2A48 ), color-stop(51%,#9B0624), color-stop(100%,#9B0624)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #BF2A48 0%,#BF2A48 49%,#9B0624 51%,#9B0624 100%); /* Chrome10+,Safari5.1+ */
    background:-o-linear-gradient(top, #BF2A48 0%,#BF2A48 49%,#9B0624 51%,#9B0624 100%); /* Opera 11.10+ */
    background:-ms-linear-gradient(top, #BF2A48 0%,#BF2A48 49%,#9B0624 51%,#9B0624 100%); /* IE10+ */
    background:linear-gradient(to bottom, #BF2A48 0%,#BF2A48 49%,#9B0624 51%,#9B0624 100%); /* W3C */
    /*filterrogidXImageTransform.Microsoft.gradient( startColorstr='#BF2A48 ', endColorstr='#9B0624',GradientType=0 ); *//*IE6-8 */ /* (TJ-NEW) commented out IE style, as not working anyway and causes issue with fixed width */
    /* CSS3 Corner Radius */
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
    /* (TJ-NEW) the following has been added to standardise button widths */
    display:block;
    text-align:center;
    }
    .linkBtn a:hover{
    color:#fff;
    text-decoration:none;
    background: #9B0624;
    }



    .buynowBtn a{
    color:#fff!important;
    font-size:12px!important;
    padding:0.1em 1em; /* ******* Updated to match place bid (TJ) ******* */
    font-weight:normal;
    text-decoration:none!important;
    background:#888; /* Old browsers */
    /* CSS3 Gradient Background */
    background:-moz-linear-gradient(top, #888 0%, #888 49%, #666 51%, #666 100%); /* FF3.6+ */
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#888), color-stop(49%,#888), color-stop(51%,#666), color-stop(100%,#666)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #888 0%,#888 49%,#666 51%,#666 100%); /* Chrome10+,Safari5.1+ */
    background:-o-linear-gradient(top, #888 0%,#888 49%,#666 51%,#666 100%); /* Opera 11.10+ */
    background:-ms-linear-gradient(top, #888 0%,#888 49%,#666 51%,#666 100%); /* IE10+ */
    background:linear-gradient(to bottom, #888 0%,#888 49%,#666 51%,#666 100%); /* W3C */
    /* filterrogidXImageTransform.Microsoft.gradient( startColorstr='#888', endColorstr='#666',GradientType=0 ); *//* IE6-8 */ /* (TJ-NEW) commented out IE style, as not working anyway and causes issue with fixed width */
    }
    .buynowBtn a:hover{
    color:#fff;
    text-decoration:none;
    background: #444;
    }
    .buynowBtn{
    position:relative;
    display:inline-block; /* (TJ-NEW) required to standardise button widths */
    float:left; /* (TJ-NEW-180313) */
    }
    .buynowBtn a{
    /* CSS3 Corner Radius */
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
    /* (TJ-NEW) the following has been added to standardise button widths */
    min-width:85px;
    display:block;
    text-align:center;
    }

有什么想法? - 我尝试使用“width:”而不是“min-width”,但文本似乎包含在两行中,这是一场灾难。

谢谢

J

1 个答案:

答案 0 :(得分:0)

出现这种情况的原因有多种,从盒子模型的差异到正在使用的字体的差异。

你仍然可以像这样使用IE-only CSS:

<!--[if IE 9]--><link to your CSS /><!--[endif]-->

有几个选项可以让你定位特定版本的IE(例如)

<!--[if IE]-->targets all versions of IE<!--[endif]-->
<!--[if IE 9]-->targets IE 9 only<!--[endif]-->
<!--[if lt IE 8]-->targets versions 7 and below of IE (lt: <)<!--[endif]-->
<!--[if gte IE 8]-->targets versions 8 and up of IE (gte: >=)<!--[endif]-->

如果按钮绝对必须是像素完美的,请尝试使用图像。