我正在努力调整一个站点来支持IE 7.我有一些元素,但是,正好被69px的偏移。我在IE9中测试,设置为将页面呈现为IE7。当我打开开发者模式并检查元素时,我注意到围绕“边距”的元素有一个名为“offset”的参数。
我以前从来没有听说过,谷歌没有帮助我,我只是设法找到一些关于浮点偏移的东西,这是不一样的,但是我认为是在那里消除一些怪癖模式的问题?如何消除这个偏移参数?
显然,我有一个IE-7特定的样式表设置,您可以通过访问我的测试环境在此链接自己测试问题:
http://suitable.amok-adhoc.com/2012/
解决了:
找到一个解决方案 – 这很简单。只需要明确地声明这样的位置(虽然它是继承自所有其他浏览器中的父元素,IE添加了一个边距,并将其称为“offset”,这被覆盖)
p { left:0px; }
解决方法
偏移量是元素从其原始位置移动的距离。当您使用left,top,bottom和/或right值定位一个相对或绝对的元素时,会出现这种情况。以下列代码为例:
#header { top: 3em; left: 3em; position: relative; }
如果我们在Internet Explorer 10中检查此元素,我们会看到您提到的偏移量。 em值已转换为像素,但效果依然可见。请注意,我们在Chrome开发人员工具(也在Opera中)看到类似的东西,而只是标记为“position”:
奇怪的是,Firefox甚至不会通过图示来传达偏移/位置:
最后这是一个纯粹的语义问题。无论我们称之为“偏移”还是“位置”,它都是一样的;这是距离屏幕上原始位置的距离。
希望这可以帮助。