IE8负边际问题

时间:2011-06-03 18:59:32

标签: css internet-explorer-8 margin

我在IE8中有一个布局问题,只有在负边距做奇怪的事情的时候。

我试图使用我在这个论坛中找到的一些修复,但无济于事。毕竟是星期五晚上!

页面位于:http://community.thelandtrust.org.uk/wordpress/

罪魁祸首是右侧的搜索字段,它有一个负边距,允许按钮位于同一条线上。

除IE8外,它的工作正常。在IE8中,右边距为-80px,按钮位于字段上方,但右侧有一个很大的空间。右边距为-40px,按钮位于下一行,并且右边有一个大的空间。

我注意到每次看起来与右边的距离相同。是清算问题吗?

提前感谢您提供的任何帮助!

代码:

<form action="http://community.thelandtrust.org.uk/wordpress/" id="search-form" class="search-form" method="get">
    <div>
        <input type="text" onblur="if(this.value=='')this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue)this.value='';" value="Search..." id="search-text" name="s" class="search-text">
        <input type="submit" value="Go" id="search-submit" name="submit" class="search-submit button">
    </div>
</form>

CSS:

input,textarea {
    background:#f7f9e0 url(images/Input_gradient.jpg) repeat-x top left;
    border:none;
    -moz-border-radius:20px;
    border-radius:20px;
    vertical-align:middle;
    min-height:20px;
    width:94%;
    font-family:Arial, sans-serif;
    font-size:1em;
    padding:10px 20px;
}
input.button,input#submit {
    background:#e6e99d url(images/Button_gradient.jpg) repeat-x bottom left;
    height:40px;
    width:auto;
    min-width:40px;
    font-weight:700;
    cursor:pointer;
    float:right;
}
input.button:hover,input#submit:hover,#primary-menu li a:hover {
    background:#c7cc5c;
}
form#search-form{
    overflow: hidden;
}
input.search-text {
    margin-right: -80px;
    width: 200px;
    float:left;
    font-size: 1.2em;
}
input.search-submit {
    background:url(images/Button_arrow_40px.png) no-repeat 0 0 transparent!important;
    width:40px;
    text-indent:-1000px;
    font-size: 0;  
    display:block; 
    line-height: 0;
    float:right;
    clear:right;
}
input.search-submit:hover {
    background-position:0 -40px!important;
}

1 个答案:

答案 0 :(得分:2)

出于某种原因,IE8使按钮的宽度增加了一倍。

padding: 0;添加到input.search-submit似乎可以解决问题