我正在使用 ASP.Net/C# 开发一个网页,该网页对文本框使用绝对定位,实际上有几个。它工作得很好,直到我添加了更多文本框。也就是说,现有的文本框仍然正确定位,但新的文本框没有,尽管我在 CSS 中为它们创建了新样式,就像其他文本框一样。一个例子如下:
.pieceBox {
position: absolute;
top: 425px;
left: 133px;
background-color: White;
color: Black;
width: 132px;
font-weight: bold;
text-align: center;
}
同一个 CSS 文件中的相同样式(当然名称不同)在这个文件的上方和下方都可以正常工作。我已经检查、仔细检查和三次检查了 的 CssClass 属性中的样式名称,它是正确的。然而,无论我做什么,包括给它起一个新的名字,复制旧的条目,重命名等等,这三个新的文本框都将它们自己定位在页面的顶部,而其他的则显示在它们正确的绝对位置.我查看了 aspx 源页面并确保它们不在其他 DIV 等中。我对此束手无策。我现在确实想出了一个解决方法,但这不是我想要离开的方式(涉及以编程方式在 Asp:Literal 中创建一些 HTML。)
我检查了生成的源(通过 IE 的 View 源),并且在生成的 HTML 中正确设置了类。
如果这很重要,还有一件事;该网站元素最初是在VS 2005 中创建的,并转换为VS 2008 格式。这并不重要,但我想我会提到它。
有没有其他人经历过这种行为?
最佳答案
如果您的绝对定位元素的父元素是绝对定位或相对定位的,它们将相对于它们的容器而不是整个页面定位自己。
换句话说,您的元素可能会从不同的原点定位自己。
关于asp.net - 在 IE7 中使用 ASP.Net、CSS、VS 2008 的奇怪定位行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192748/