14

我在 Chrome 中测试过,它显示正常,但是在 Firefox 中,输入框比预期的要大。

这是标记:

<div class="form-wrapper">           
    <input type="search" name="Ofsearch"
            placeholder="Search here..." value=""/> 
    <button id="searchButton" type="submit">
        Search
    </button>
</div>

这是样式:

.form-wrapper {
     height: 80px;
     clear: both;
}

.form-wrapper input {
     border-radius: 10px;
     border: 5px solid #E5E4E2;
     margin: 2px;
     height: 40px;
     vertical-align: middle;
     padding: 20px;
     margin-top: 15px;
     width: 85%;
}

.form-wrapper button {
     overflow: visible;
     position: absolute;
     float: right;
     border: 0;
     padding: 0;
     height: 40px;
     width: 110px;
     border-radius: 0 3px 3px 0;
     margin: 20px -118px;
}

这是fiddle中的示例。

从示例中可以看出,在 Chrome 和 Firefox 中,它们以不同的大小显示。

当我检查这个问题时,我发现padding:20px导致.form-wrapper input{ }了这个问题。但是,当我删除它时,Firefox 显示正常,但 Chrome 中的输入区域变小了。只是想知道,任何让它在两个浏览器中显示相同的方法。

4

2 回答 2

19

存在差异,因为 Firefox 使用box-sizing: content-box输入type="search",而 Chrome 使用border-box.

.form-wrapper input {
    box-sizing: border-box;
}

http://jsfiddle.net/J8dSN/12/

于 2013-09-03T01:27:12.417 回答
0

我认为这可能会回答您的问题:Form padding Differences in Firefox and Opera/Chrome/IE

不同的浏览器从不同的起点处理诸如填充和边框之类的属性

于 2013-09-03T01:29:06.537 回答