繁体   English   中英

div的宽度,IE中的边距与firefox不同

[英]Width of div with margin different in IE than firefox

我正在做一个向服务器异步发布的用户控件。 我希望用户控件褪色并在工作时显示“正在发送...”消息和gif。 为此,我试图将半透明的div绝对定位在控件主div的顶部。 事实证明,这比应该做的要难得多。 我终于在Firefox中找到了它,但进入IE,发现控件的主div甚至不是正确的宽度。

我希望总宽度为275px。 所以我在Firefox中将其样式设置为

width: 245px; margin 36px 15px 46px 15px;

宽度+边距= 275就是这样渲染。 在IE中,浏览器从宽度中减去边距,因此总宽度为245,其中边距为15px。 好吧,我发现两种浏览器都以怪癖模式运行,尽管...我认为...文档类型为:

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>

我的理解是这就是怪癖模式应该做的,但是即使IE和Firefox都处于怪癖模式下,当IE和Firefox呈现不同的外观时,我也不知道该怎么做。

如果发布了链接,响应会更容易,但是如果我的假设正确,则可以通过使用如下所示的元标记来强制IE模式

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

显然,这取决于要使用的版本。 同样,您可以强制退出兼容模式,进入怪癖模式,等等。我在Firefox中从未遇到过这个问题,所以不能这么说,但是我想Mozilla也有类似的问题。

我认为通过设置盒子模型可以更好地解决您的问题。 在有问题的块元素上使用此CSS类

#yourdiv { box-sizing: border-box }

这将有助于减轻不同浏览器渲染盒模型的痛苦。 有关框大小的更多信息,请参见此处

另外,不要忘了display: block因为有时这会解决奇怪的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM