Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何去除元素';使用CSS的偏移量是多少?_Html_Css_Internet Explorer_User Interface - Fatal编程技术网

Html 如何去除元素';使用CSS的偏移量是多少?

Html 如何去除元素';使用CSS的偏移量是多少?,html,css,internet-explorer,user-interface,Html,Css,Internet Explorer,User Interface,我发现一些元素存在定位问题,在检查it IE8开发者工具时,它向我展示了以下内容: 现在我很确定我的问题是12偏移量,但是如何删除它呢?我找不到任何提及CSS偏移属性的内容。除了保证金,我们还需要抵销吗 下面是生成此代码的代码: <div id="wahoo" style="border: solid 1px black; height:100px;"> <asp:TextBox ID="inputBox" runat="server" /> &l

我发现一些元素存在定位问题,在检查it IE8开发者工具时,它向我展示了以下内容:

现在我很确定我的问题是12偏移量,但是如何删除它呢?我找不到任何提及CSS偏移属性的内容。除了保证金,我们还需要抵销吗

下面是生成此代码的代码:

 <div id="wahoo" style="border: solid 1px black; height:100px;">

    <asp:TextBox ID="inputBox" runat="server" />

    <input id="btnDropDown" type="button" style="width:26px; height:26px; background-position: center center; border-left-color: buttonface; background-image: url(Images/WebResource.gif); border-bottom-color: buttonface; border-top-color: buttonface; background-repeat: no-repeat; border-right-color: buttonface;"  tabindex="99" />

    <div id="ListboxWrapper" style="display:none; position:absolute; onfocusout="this.style.display = 'none'"">
       <asp:ListBox ID="lstBoxCompany" runat="server" AutoPostBack="True" OnSelectedIndexChanged="lstBoxCompany_SelectedIndexChanged" style="z-index: 100;" Width="300px" />               
    </div>

</div>

带有偏移量的元素是
inputBox
快速修复:

position: relative;
top: -12px;
left: -2px;
这应该平衡这些偏移,但也许你应该看看你的整个布局,看看这个框是如何与其他框交互的

至于术语,
都是CSS偏移属性。它们用于将元素定位在特定位置(与
绝对定位
固定定位一起使用时),或相对于默认位置移动元素(与
相对定位一起使用时)。另一方面,边距指定长方体之间的间隙,它们有时会折叠,因此不能可靠地用作偏移


但请注意,在您的情况下,偏移量可能不会(仅)从CSS偏移量计算。

该偏移量基本上是浏览器根据元素的位置CSS属性为元素计算的x,y位置。因此,如果将

放在它或任何其他元素之前,它将更改偏移量。例如,您可以通过以下方式将其设置为0:

#inputBox{position:absolute;top:0px;left:0px;}

因此,无论您有什么定位问题,都不一定是偏移问题,尽管您可以通过使用top、left、right和bottom属性来解决它


您的浏览器不兼容是否有问题?

您可以应用重置css来消除这些“默认设置”。下面是一个重置css的示例。只需在您自己的样式之前应用重置样式。

如果您的问题只是处于“怪癖”模式,则将“顶部”和“左侧”属性设置为负值可能不是一个好的解决方法。如果页面缺少
声明,导致它在IE8中以怪癖模式呈现,则可能发生这种情况。在IE8开发者工具中,确保“文档模式”下未选择“怪癖模式”。如果选择了它,您可能需要添加相应的
声明。

我也遇到了同样的问题。UpdatePanel刷新后出现偏移量。解决方案是在UpdatePanel之前添加一个空标记,如下所示:

<div></div>

...

对我来说,正是
垂直对齐:基线
垂直对齐:顶部
导致顶部偏移


尝试设置
垂直对齐:top

我在基于.NET的网站上遇到了同样的问题,运行在DotNetNuke(DNN)上,基本上解决了这一问题的方法是简单地重置表单标签的边距。基于NET的网站通常被包装在一个表单中,在不重置边距的情况下,您有时会看到奇怪的偏移量,主要是当包含一些脚本时

因此,如果您试图在您的网站上解决此问题,请尝试将其输入CSS文件:

form {
  margin: 0;
}

只需将大纲设置为“无”即可

[识别码]{ 大纲:无;}


为面临问题的元素定义边距和填充:

#element_id {margin: 0; padding: 0}  

看看问题是否存在。IE使用更多不需要的继承来呈现页面。您应该阻止它这样做。

如果您使用的是IE开发者工具,请确保您没有意外地将它们保留在较旧的设置中。在看到它被设置为InternetExplorer7标准之前,我一直在为同样的问题发疯。将其更改为Internet Explorer 9标准,所有内容都已就绪。

这似乎很奇怪,但您可以尝试在
CSS
中为输入设置
vertical align:top
。这至少在IE8中解决了这个问题。

移动元素top:-12px或定位它绝对不能解决问题,只能掩盖它


我也有同样的问题-检查是否在一个包装元素中混合了:浮动元素和非浮动元素-我的非浮动元素导致了浮动元素的这种奇怪偏移量

在我的情况下,偏移量被添加到一个li内具有网格布局的自定义元素,而ul是一个垂直flexbox

非常简单的解决方案是使用

li {
 display: block;
}

偏移量消失了

元素定位了吗?检查
left
top
属性。在这里输入一点代码将非常有用。CSS中没有“偏移”规则,但IE确实倾向于在随机位置添加随机像素。这通常与浮动和定位有关,我假设“偏移量”是“与其他元素相关的像素”——比如前一个元素上的边距将此元素向下推。我现在没有时间尝试IE开发工具来找出答案。我已经添加了完整的内联CSS代码,这样我们就可以看到其中的进展。有一个web页面示例,我们可以查看它,例如,我们可以将firebug指向它,并了解更广泛的页面。例如,您的输入控件是否从另一个css定义继承了边距或填充?这只是将空格移到元素的另一侧。@David什么空格?为什么除了目标框之外的任何东西都会被移动?空白是指没有任何内容的空间。除了目标盒子之外的东西不会被移动,这就是重点。如果你在下面有一个1px的东西,你向上移动12px,那么它在下面是13px而不是1px。@大卫,我们可能对空格的定义不同,但我明白你想说的。我同意将差距移到另一边。我将该解决方案标记为“快速修复”,因为它可能可用,也可能不可用。在询问者提供更多细节之前,这是我唯一可以建议的。UpdatePanel是ASP.NET的东西,对吗?因为这似乎不是ASP.NET的问题。事实上,如果您查看
li {
 display: block;
}