重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

スタイルシートでmarginを0pxに設定し、テーブルを幅100%、縦100%に設定したあとでjavascriptを設定すると、どうしても上部に余白が出来てしまいます。

javascriptを設定しないときは

<HTML>
<HEAD>
<TITLE></TITLE>
<STYLE type="text/css">
<!--
BODY{
margin-top : 0px;
margin-left : 0px;
margin-right : 0px;
margin-bottom : 0px;
}
-->
</STYLE>
</HEAD>
<BODY bgcolor="#ffffff">
<TABLE border="1" width="100%" height="100%" bgcolor="#000000">
<TBODY><TR><TD></TD></TR></TBODY></TABLE>
</BODY>
</HTML>

と正常なんですが、javascriptを設定すると、

<HTML>
<HEAD>
<TITLE></TITLE>
<STYLE type="text/css">
<!--
BODY{
margin-top : 0px;
margin-left : 0px;
margin-right : 0px;
margin-bottom : 0px;
}
-->
</STYLE>
<SCRIPT Language="JavaScript">
<!--
document.write("<img src=cgi-bin/sasuke.cgi?sasuke=");
document.write(document.referrer+"' width=1 height=1>");// -->
</SCRIPT>
</HEAD>
<BODY bgcolor="#ffffff">
<TABLE border="1" width="100%" height="100%" bgcolor="#000000">
<TBODY><TR>
<TD></TD>
</TR>
</TBODY></TABLE>
</BODY>
</HTML>

のようにどうしても上部に余白が出来てしまいます。
このスクリプトを設定したときのみ、こうなるので非常に困っています。(HPのデザイン上…)
どなたか、よい方法がありましたら教えてください。m(__)m

なお、スクリプトはアクセス解析です。
当方はwindows98 ie5.5の環境で作成しています。
javascriptはこの場合はhtml内に組み込んでいますが、××.jsで呼び出しをかけています。
よろしくお願いします!

A 回答 (3件)

原因は、TABLE要素の外にアクセス解析用のIMG要素が描かれるような記述をしているからです。

BODY要素の直下にはTABLE要素だけが存在するように記述しないと狙ったデザインにはなりません。よってスクリプトをTD要素の中に入れておけばOKです。

HEAD要素の中に含むことができる要素は限られています。IMG要素はダメですし、そうなるようなスクリプトもダメです(IEだとBODY要素の先頭に記述された、とものとして描画するようですが)。

このような文法の間違いがあっても(あまりにも文法を間違えたHTMLを書く人が多すぎるため)ブラウザは何とか表示しようとがんばってくれます。思ったとおりに表示されたからHTMLは間違っていない、と考えてはいけません。

#間違っていても思ったとおりに表示されてればいいじゃないか、という意見もありますが、実際にはそういう考え方だと表示上の問題が発生しやすい/原因がわからない、などなどデメリットがかなり多いです。
#地道にHTMLの基礎からしっかり勉強する方が、トータルでは時間の節約になります<経験談ですけど。

<HTML>
<HEAD>
<TITLE></TITLE>
<STYLE type="text/css">
<!--
BODY {margin : 0}
-->
</STYLE>
</HEAD>
<BODY bgcolor="#ffffff">
<TABLE border="1" width="100%" height="100%" bgcolor="#000000">
<TBODY><TR>
<TD><SCRIPT Language="JavaScript">
<!--
document.write("<img src='cgi-bin/sasuke.cgi?sasuke=");
document.write(document.referrer+"' width=1 height=1>");// -->
</SCRIPT>
</TD>
</TR>
</TBODY></TABLE>
</BODY>
</HTML>

#スタイルシート部の記述が、ムダが多いので直してます(^^;
    • good
    • 0
この回答へのお礼

お答えありがとうございます。

上記の方法で、うまくいきました! ありがとうございます!!
デザインも崩れることなくいきました。

スタイルシート部分はHP作成ソフトで出力した部分ですので(汗)
直してくださってありがとうございました。参考にいたします。

お礼日時:2002/09/23 18:26

CSSを使わなくても、BODYタグだけでできますよ。



<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    • good
    • 0
この回答へのお礼

お答えありがとうございます。

BODYタグだけでもできるんですね。記述方法がちょっとわからなかったので、とても参考になりました。
ありがとうございました!!

お礼日時:2002/09/23 18:29

≫ <SCRIPT Language="JavaScript">


≫ document.write("<img src=cgi-bin/sasuke.cgi?sasuke=");
≫ document.write(document.referrer+"' width=1 height=1>");
≫ </SCRIPT>
を、
≪ <script type="text/javascript">
≪ with ( new Image ){ src = 'cgi-bin/sasuke.cgi?sasuke=' + document.referrer; }
≪ </script>
にしてみるとか。

head部に、imgタグが出てくるのは、かなーり、おかしい。
    • good
    • 0
この回答へのお礼

お答えありがとうございます。

一度試してみたのですが、うまくスクリプトが作動しませんでした;;
でも、head部分にimgタグがでるのはおかしいんですね。勉強になりました。

お礼日時:2002/09/23 18:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!