0

フォームを含むjQueryダイアログを使用しています。ie6では、フォームの上に説明のつかない数インチのパディングがあります。マークアップからフォームを削除すると、最も深刻なレイアウトの問題がなくなります。テーマなし(デフォルト)、Flora、およびテーマローラーテーマで試してみましたが、すべて同じ問題があるようです。

ダイアログCSSにさまざまな調整を試みましたが、何の効果もないようです。ダイアログが作成されると、他のスタイルが適用されないように、大量のインラインCSSが書き込まれます。

フローティング、マージンとパディングの削除、インライン表示など、フォーム自体にcssプロパティを設定しようとしましたが、フォームが存在する限り、余分なスペースがあります。誰かがこれの回避策を見つけることができましたか?私はそれをハックしたくないし、フォームタグのないフォームコントロールを持っています。

ありがとう。

4

4 に答える 4

4

既存のサイト、フォーラム、ウィジェットなどの CSS テーマを作成する必要があるときはいつでも、すべてのスタイルシートを取り除き、すべてのマージンを正規化し、主要な html DOM 要素ごとに 0 にパディングすることから始めます。これは、インライン CSS に関しては特に重要です。

試してみるべきことは、フォーム要素自体のインライン CSS を削除することです。次に、次のようなものを試してください。

form {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

多くの場合、IE6 のオーバーフローを調整することで、多くのマージンの問題が解決されます。次のスタイルを使用して、すべての html 要素に一時的に境界線を設定して、前の要素がフォームのスペースにはみ出していないかどうかを確認してください。

* {
    border: solid 1px #FF0000;
}

境界線がフォームに押し付けられている場合は、その要素のオーバーフローも抑制しようとする必要があります。

于 2008-12-31T08:43:59.117 に答える
1

CSS を変更する前に、ページに適切なdoctype があることを確認してください。

Doctype がない場合、ブラウザーは「quirks」モードでレンダリングされ、多くのものが正しく表示されません。

于 2008-12-31T08:59:45.060 に答える
1

ボタンと説明のつかない余白に関して、以前にも同様の問題がありました。IE6 には、親要素のマージンを継承する要素がいくつかあります。非常に奇妙...

この修正を試してください: http://blog.netscraps.com/internet-explorer-bugs/ie6-ie7-margin-inheritance-bug.html

于 2008-12-31T09:25:02.077 に答える
0

次のようなことを試してください:

#yourDiv { padding:1.2em; margin-right:2.4em; }

#yourDiv は、タグを含む div の ID です (入力でこの問題が発生しました)。

于 2009-01-05T16:29:30.117 に答える