【问题标题】:Why width is set different on input elements为什么输入元素的宽度设置不同
【发布时间】:2012-02-13 16:04:35
【问题描述】:

我头疼了很长时间,不知道设置输入元素的宽度有什么问题。

Here 100px set width for submit button
Here same 100px is set to text field

您可以检查宽度的差异。似乎有人遵循怪癖模式但是为什么设置相同的文档类型?

这是 FX/Chrome 中的错误吗?

【问题讨论】:

    标签: html css width quirks-mode


    【解决方案1】:

    这是因为边框大小 试试这个,

    http://jsfiddle.net/gn3Cw/2/

    http://jsfiddle.net/gn3Cw/3/

    【讨论】:

    • 是的,如果在 Chrome 中检查元素。然后展开右侧的“指标”部分。你会看到其中一个是 96px,左/右边框为 2px,而另一个是 100px,左/右边框为 2px。
    • 我理解,但我试图找到默认边框here,但没有找到任何信息。很奇怪:|
    【解决方案2】:

    通过在输入文本中添加box-sizing:border-box 即可解决。

    因为默认计算不包含边框的宽高,所以通过添加box-sizing:border-box宽高属性的总和包含padding和border,但是margin不会是100px

    http://jsfiddle.net/wizztjh/gn3Cw/6/

    box-sizing的更多信息

    【讨论】:

      【解决方案3】:

      文本字段已内置边框。看看移除边框后会发生什么:Fiddle here

      【讨论】:

      • 我理解,但我试图找到默认边框here,但没有找到任何信息。很奇怪:|
      最近更新 更多