Проблема с отрицательным запасом IE8

#css #internet-explorer-8 #margin

#css #internet-explorer-8 #запас

Вопрос:

У меня проблема с макетом только в IE8, где отрицательное поле делает странные вещи.

Я пытался использовать некоторые исправления, которые я нашел на этом форуме, но безрезультатно. В конце концов, сегодня вечер пятницы!

Страница находится здесь:http://community.thelandtrust.org.uk/wordpress /

Причиной является поле поиска с правой стороны, которое имеет отрицательное поле, позволяющее кнопке располагаться над ним на одной строке.

Он отлично работает во всех, кроме IE8. В IE8 с правым полем -80 пикселей кнопка находится над полем, но справа есть большой пробел. При правом поле в -40 пикселей кнопка находится на следующей строке, и по-прежнему с большим пробелом справа.

Я заметил, что, похоже, каждый раз расстояние справа одинаковое. Это проблема с очисткой?

Заранее спасибо за любую помощь, которую вы можете предложить!

Код:

 <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. у меня отлично работает в ie7 или, по крайней мере, в ie9 в режиме ie7. по крайней мере, кнопка расположена нормально. однако углы рамки не закруглены

2. Спасибо @Jason! Чувствую себя довольно глупо, поскольку я только что понял, что проблема в IE8…

Ответ №1:

по какой-то причине IE8 увеличивает ширину кнопки в два раза.

добавление padding: 0; в input.search-submit , похоже, устраняет это