2008-10-10 94 views
1

我正在使用ASP.Net/C#中的一個網頁,該網頁使用文本框的絕對定位,實際上有幾個。它工作得很好,直到我添加了更多的文本框。也就是說,現有的文本框仍然定位正確,但新的文本框沒有,儘管我爲他們創建了新的樣式,就像其他人一樣。一個exampe低於:在IE7中使用ASP.Net,CSS,VS 2008的奇怪定位行爲

.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)。在生成的HTML中正確設置。

如果這件事情還有一件事情;這個網站項目最初是在VS 2005中創建的,並轉換爲VS 2008格式。並不是說它應該重要,但是我想我會提及它。

有沒有其他人經歷過這種類型的行爲?

+0

請將網址發送到示例。沒有足夠的細節可以從發佈內容中分辨出來。 – 2008-10-10 19:57:06

回答

0

如果沒有提供實際的代碼,很難解釋像這樣的問題,但我的第一個猜測是,如果新控件沒有使用與舊的容器相同的父容器,則會出現問題。

您是否檢查過適用於正確工作文本框的父容器的css規則?他們通常應該設置爲「職位:親戚」;如果你想讓你的子控件按照它們對齊。

還要確保佈局問題沒有發生,因爲控件的重疊,即兩個文本框可能有相似或接近的位置,然後一個超過另一個。

在任何情況下,如果你想正確和直接的解決你的問題,我建議你張貼一部分代碼。

1

如果您已絕對定位具有絕對定位或相對定位父級的元素,則它們將相對於其容器而不是整個頁面定位自己。

換句話說,您的元素可能會從不同的原點定位自己。

+0

使用Firefox的Web Developer擴展(或IE中的等效項)調試定位問題。 – Liam 2008-10-11 09:24:04