また微妙に古いネタを引っ張り出すことになるんですけどね。
裏サイファーメディアでこんなことになるって話があったんですけど……
その場では、Scriptを切らなければOKということで解決してしまったらしいんですが、根本的な解決になっていないような気がするので調べてみたわけですよ。
そもそもCOOL ONLINEの広告はポップアップ式の場合
<SCRIPT LANGUAGE="JavaScript">
<!--
function popup十桁の数字() {if (parent.name != "cool_advertisement") {window.open("/ad/?bg=&bc=","cool_advertisement","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=548,height=84");}}popup十桁の数字();
// -->
</SCRIPT>
<html>
〜本体〜
</html>
<NOSCRIPT>
<BR><BR>
<CENTER><table width="528" border="0" cellspacing="0" cellpadding="0"><tr><td width="468" height="84"><A HREF="http://ad4.cool.ne.jp/link/?media=001" TARGET="_blank"><IMG SRC="http://ad4.cool.ne.jp/img/?media=001" BORDER="0"></A></TD><TD width="60" height="84"><A href="http://www.cool.ne.jp/" target="_blank"><IMG src="http://city.cool.ne.jp/images/cool_1.gif" width="60" height="60" border="0"></A></TD></TR></table></CENTER>
</NOSCRIPT>
…となっているのですよ。
手っ取り早く説明するならば…
Scriptが有効ならばポップアップ式広告を表示。
無効の場合、最後にtable要素で囲んだ広告を挿入する。
となっています。
…html要素の外に書くなヨ。
それはさておき、件の症例はScriptを切ったことによって最後に挿入されるはずだった広告が何故か変な場所に表示されてしまったわけですな。
では何故変な場所に挿入されることになったのか?
これを見て下さい。
特定の環境でしか確認していませんが、テーブルが二つ重なって見えると思います。
つか、件の症状が起きてこっちで再現しないとしたら、そのブラウザを教えて欲しいくらいだ。
…と思ったら、Liteだとwidth属性を無視して重ならないように頑張っているなぁ。
ソースを見てもらえればわかると思いますが、何の変哲も無いテーブル要素が二つ並んでいるだけです。CSSを利用して表示位置を指定しているわけでもありません。
ポイントは一つ目のtable要素で指定されていて二つ目では指定されていない属性「align="right"」です。
これを取り去ることで普通に表示されるようになります。不思議ですね〜。
もちろんHTMLの仕様にこんなものは無いはずなので明らかにバグな筈なのですが、IE5とMozillaに加えOperaやNetFrontでも再現するバグというのも珍しいと思います。
もっとも、JustView1.2(3.x持ってないんだわ)やNCSA Mosaic3.0、Wbrowserでは再現しないので、Mozilla3.x以降のcompatibleブラウザ特有の問題なのかもしれません。
ではalign="right"を使わずに右に寄せるにはどうすればよいか?
左にダミーのテーブルセルを配置すればHTML3.2的にはOK。
HTML4.0以降の場合は?
左側にCSSでマージン確保するか、DIV要素で囲んだ後にCSSでtext-align: rightか。
つか、CSS勧告後の規格であるHTML4.0以降でレイアウトにtable使うなよ…