1

私は ASP.Net/C# でテキスト ボックスの絶対配置を使用する Web ページに取り組んでいます。テキストボックスを追加するまでは、問題なく機能していました。つまり、既存のテキスト ボックスはまだ正しく配置されていますが、他のものと同じように CSS で新しいスタイルを作成したにもかかわらず、新しいテキスト ボックスは正しく配置されませんでした。以下に例を示します。

.pieceBox {
    position: absolute;
    top: 425px;
    left: 133px;
    background-color: White;
    color: Black;
    width: 132px;
    font-weight: bold;
    text-align: center;     
} 

同じ CSS ファイル (もちろん名前は異なります) 内の同一のスタイルは、このファイルの上と下の両方で正常に機能します。の CssClass 属性でスタイルの名前を確認し、二重に確認し、三重に確認しましたが、正しいです。ただし、新しい名前を付けたり、古いエントリをコピーしたり、名前を変更したりするなど、何をしても、これらの3つの新しいテキストボックスはページの上部に配置されますが、他のテキストボックスは正しい絶対位置に表示されます. aspx のソース ページを見て、それらが他の DIV などに含まれていないことを確認しました。今のところ回避策を思いつきましたが、そのままにしておく方法ではありません (プログラムで Asp:Literal 内に HTML を作成する必要があります)。

結果のソースを (IE のビューソース経由で) チェックしたところ、結果の HTML でクラスが正しく設定されています。

これが問題になる場合に備えて、もう1つ。この Web サイト プロジェクトは、もともと VS 2005 で作成され、VS 2008 形式に変換されました。それは問題ではありませんが、私はそれについて言及したいと思いました。

他の誰かがこの種の行動を経験しましたか?

4

2 に答える 2

1

絶対配置または相対配置の親を持つ絶対配置要素がある場合、ページ全体ではなく、コンテナーに対して相対的に配置されます。

つまり、要素が異なる原点から配置されている可能性があります。

于 2008-10-11T01:22:50.813 に答える
0

実際のコードが提供されていない場合、このような問題を説明するのは困難ですが、古いものと同じ親コンテナーを使用していない新しいコントロールに問題があると最初に推測します。

適切に機能するテキスト ボックスの親コンテナーに適用される CSS ルールを確認しましたか? 通常は「position: relative;」に設定する必要があります。子コントロールをそれらに従って整列させたい場合。

また、コントロールが重なっているためにレイアウトの問題が発生していないことも確認してください。つまり、2 つのテキスト ボックスの位置が似ていたり近くにあったりして、一方が他方の上に重なっている可能性があります。

いずれにせよ、問題の適切かつ直接的な解決策が必要な場合は、コードの一部を投稿することをお勧めします。

于 2008-10-10T19:57:01.343 に答える