0

これは、私が取り組んできた過去のいくつかのサイト (まだ稼働していませんが) の問題であり、解決策を準備しようとするのではなく、これを理解しようと頭を悩ませてきました。問題の根本を見つけようとするのが好きです。

問題のサイトは次のとおりです: (URL は削除されました)

基本的に、私はこのホームページをプレーンな HTML としてコーディングし、時間をかけて完成させたときに JavaScript と Flash 要素を挿入しました。(SWF オブジェクトを使用して) Flash を追加したとき、その下の要素が約 5px 押し下げられていることに気付きましたが、それは Firefox と Safari だけでした (奇妙なことに、Internet Explorer は影響を受けません)。Flash をオフにするか JavaScript を無効にすると、Flash もオフになり、この余分なパディングが削除されます。

誰かがこの問題の原因について教えてもらえますか? JS または CSS の主要なエラー (IE のいくつかのハックを除いて) に気付かないので、困惑しています。

4

4 に答える 4

2

line-height:0; flash-swf の周りの divに追加してみてください。

<div id="flashDiv" style="line-height:0;">

これは私にとってはうまくいきました。

于 2010-11-11T12:55:58.687 に答える
1

ページ上の DIV 間の空白を削除し、swf オブジェクトを独自の DIV に配置してみてください。そうすれば、swf をロードせずにページの外観を制御でき、ロード時に他の要素に影響を与えることはありません。

于 2009-10-14T14:49:50.683 に答える
0

オブジェクト要素のマージンとパディングを明示的に 0px に設定してみてください

SWFObject 2.0 を使用しています。これは、古い SWFObject とは少し異なる動作をします。古いものは、ターゲット div の内部に埋め込みを植えます。新しいものは、実際にはターゲット DIV 全体をオブジェクト タグに置き換えているようです。

これが気に入らないので、古い SWFObject をまだ使用しています。

于 2009-10-14T14:56:19.967 に答える
0

SWFObject は <object> 要素を挿入します。<object> をインライン要素として扱うブラウザもあれば、ブロックレベル要素として扱うブラウザもあります。

オブジェクトが常にブロック レベルの要素として扱われるように、CSS を使用して修正します。

object { display: block; }

この件については、SWFObject FAQ を参照してください。

于 2011-11-28T20:45:59.210 に答える