【问题标题】:Why text input field in IE 8 is always 6px wider than the other browser?为什么 IE 8 中的文本输入字段总是比其他浏览器宽 6px?
【发布时间】:2013-09-23 19:23:59
【问题描述】:

更新:我认为这是因为 IE 框模型问题。但是,调试器显示“内容宽度”156px 和高度 22px 有点令人困惑:

如果我将边界和填充设置为 0,则内容宽度是正确的,即 150 像素:

问题来了,好像如果我设置了边框和内边距,IE中整个宽度的总宽度会变成156px + 6px;在 Chrome/Firefox 中为 150px + 6px;

如果我清除边界和填充,总宽度变为: IE:150px + 0,Chrome/Firefox:150px + 0;

我使用了 style="width: 150px;"设置文本输入字段的宽度。它在 Chrome/Firefox 中完美运行,但在 IE8/10 中总是宽 6px。我使用 IE 调试器检查文本输入字段的宽度。如果我把宽度设置为146px,那么宽度就变成了150px。

我尝试将“box-sizing”设置为“content-box”以及设置字体。他们根本没有帮助。

现在,我唯一的解决方案是为 IE 写一个特定的宽度。有没有办法解决这个问题?谢谢!!

【问题讨论】:

  • 请确认浏览器是否为标准模式。这听起来像是一个怪癖模式问题。如果没有看到任何代码,我无法确定,但如果这是问题所在,那么解决方案很简单:退出怪癖模式。
  • 尝试重置.. 或帮助小提琴。
  • @Spudley 抱歉,我不知道您所说的“怪癖模式”是什么意思。
  • @DavidLiu:Quirks 模式是一种旧的渲染模式,存在于某些浏览器中,如果您的页面没有有效的文档类型,则会激活该模式。它会导致许多布局问题,例如您所描述的问题,并且还会关闭许多浏览器功能。你可能想read my blog post on the topic
  • @Spudley 谢谢,我的文档类型声明是 ,我认为这是一个有效的 HTML 5 文档类型声明。

标签: html css internet-explorer debugging input


【解决方案1】:

可能和IE盒子模型有关

因此,如果您有填充或边框,它可能会搞砸,但这只是我的猜测。

【讨论】:

  • 你所说的“IE盒子模型”是Quirks模式下的盒子模型。如果您的 IE 处于标准模式(您应该始终尝试这样做),那么它使用与所有其他浏览器相同的标准框模型。
  • @Spudley 我现在想,我的 IE 在“怪癖模式”下的行为很像,请参考我的截图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 2013-10-25
  • 1970-01-01
相关资源
最近更新 更多