http://oshiete1.goo.ne.jp/qa4870757.html この質問の続きですが、
Firefoxで下の隙間があきます。IEでは隙間が無いです。Firefoxで一番下までスクロールしても下の隙間を無くす方法をお願いします。
**********************************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
上のDTDで隙間が開く 下のDTDなら開かない
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
scriptは、xrea.comの見本です。 scriptは一番下に置きたいのです。
下記例のHTMLは単純な例です。
**********************************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>最終行の表示テスト</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<style type="text/css"><!-- *{margin:0 50px;} #body{border-left:1px solid red; border-right:1px solid blue; background-color: #EEE;} --></style>
</head>
<body>
<div id="body">
<p style="padding-top: 800px;">最終行</p>
</div>
<script type="text/javascript"><!--
var ID="100000000-INDEX";
var AD=1;
var FRAME=0;
// --></script>
<script src="http://j1.ax.xrea.com/l.j?id=100000000-INDEX" type="text/javascript"></script>
<noscript>
<a href="http://w1.ax.xrea.com/c.f?id=100000000-INDEX" target="_blank"><img src="http://w1.ax.xrea.com/l.f?id=100000000-INDEX&url … alt="AX" border="0"></a>
</noscript>
</body>
</html>
No.2ベストアンサー
- 回答日時:
ANo.1です。
補足を拝見しました。> 下記のスクリプトで隙間ができます。
実際にこちらを挿入して再検証してみました。
※スクリプト自体の仕様は関知していないので、実行結果がIE6とFirefox2/3・IE7では微妙に異なっている(前者のみ、右下端にロードされてから3秒ぐらいの間、ACCESSANALYZERという画像が表示されます)点は無視させて頂きます。
----------------------------------------------------------------------
【サンプル修正版】
----------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
(省略)
<style type="text/css">
<!--
* {
margin: 0;
}
#body {
border-left: 1px solid red;
border-right: 1px solid blue;
background-color: #eee;
margin: 0 50px;
}
#hoge {
position: absolute;
_position: static;
bottom: 0;
left: 0;
height: 0;
overflow: hidden;
}
// -->
</style>
</head>
<body>
<div id="body">
<p style="padding-top: 800px;">最終行</p>
</div>
<div id="hoge">
<script type="text/javascript"><!--
var ID="100000000";
var AD=4;
var FRAME=0;
// --></script><script src="http://j1.ax.xrea.com/l.j?id=***" type="text/javascript"></script>
<noscript><a href="http://w1.ax.xrea.com/c.f?id=***" target="_blank"><img src="http://w1.ax.xrea.com/l.f?id=***" alt="AX"></a></noscript>
</div>
</body>
</html>
----------------------------------------------------------------------
これで検証した結果は、一応、IE6/7、Firefox2/3共に下の隙間はない状態でしたが。
以下は、マークアップとCSSの変更部分についての補足です。
注:オリジナルでは全称セレクタで{margin:0 50px;}としていますが、これだと全ての要素に左右50pxの余白ができて使い勝手が悪いのでは?単に<div id="body">~</div>までウィンドウサイズの左右から50pxづつ余白を取りたいだけなら、全称セレクタでは上下左右の余白を0にリセットするだけにしておいて、#bodyで左右余白50pxを設定すれば良いと思いましたので、上記の様にしました。
(1)スクリプト部分をhogeというidを付与した親要素divで囲む。
(2)#hogeに対するスタイルを以下の様に設定する:
(2-1)"position: absolute;"とした上でbottomプロパティで下端からの位置を0とする。
(2-2)ただし、IE6ではこのプロパティの値がabsoluteだと逆に不具合が出るので、アンダースコア・ハックでIE6のみstaticとして続くbottom・leftの値を無視させる。
(2-3)コンテナブロック全体の高さを0に。
(2-4)"overflow: hidden;"で高さをはみ出す分をカット。
※実際には(2-3)の指定はなくても結果はOKみたいですが、高さを指定していないのにoverflowが指定されているのも変なので…。
いかがでしょうか。
出来ました\(^o^)/本当にありがとうございました。
*{margin:0 50px;}は実際には使ってないのですが、サンプルのボーダーが見やすいと思って横だけ50pxにしていました<(_ _)>
最後に1つだけ質問させて下さい。色々やっている内に
divでmargin:-10px とかマイナスmarginでも良いかなとか思ったのですが、この使い方は、不具合になるのでしょうか?
No.3
- 回答日時:
ANo.1-2です。
> divでmargin:-10px とかマイナスmarginでも良いかなとか思ったのですが、この使い方は、不具合になるのでしょうか?
この場合のマイナス・マージン("margin-bottom: -10px;")はどちらへの指定を想定されていますか?#bodyの方であれば、確かにFirefoxでの隙間は解消されますが、今度は逆にIE6の方が「最終行」の文字が下10px分ウィンドウの外に隠れてしまいますので、いずれにせよハックなどによる振り分けをする必要が出てくると思います。
#hogeの方であれば、何も変わらないままです。
マイナス・マージン自体は色々な局面で使いでのある手法ですが、前後の要素を巻き込んだ不具合が出ない様に充分に配慮して指定を考える必要はありますね。
No.1
- 回答日時:
ソースをそのまま貼り付けたダミーHTMLで検証してみましたけど、Firefoxの2でも3でも「下の隙間」はできない様ですが…?
質問者様の環境では、”質問文で提供されたコードのみ”の状態でも、下に隙間ができるのでしょうか?その状態で実際に検証されてみましたか?
この回答への補足
本当にすいません・・・ 見本を貼ったのが間違いでした。
下記のスクリプトで隙間ができます。
<script type="text/javascript"><!--
var ID="100000000";
var AD=4;
var FRAME=0;
// --></script><script src="http://j1.ax.xrea.com/l.j?id=***" type="text/javascript"></script>
<noscript><a href="http://w1.ax.xrea.com/c.f?id=***" target="_blank"><img src="http://w1.ax.xrea.com/l.f?id=***" alt="AX"></a></noscript>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Ctrl+F(検索)の窓を出したいの...
-
文字を固定したいのですが…
-
1行で左寄せと右寄せと中央揃え...
-
floatさせたdivタグを折り返さ...
-
画像の特定の座標にカーソルが...
-
css固定したフッターが本文と重...
-
スタイルシートで画面を上下に...
-
大分類・中分類・小分類
-
HTMLですCSSです この画像のよ...
-
文字をクリックしたら別の文字...
-
フッター上部に謎の隙間
-
MAX関数を使ってからLEFT JOIN...
-
jQueryで同じクラス名のものを...
-
JavaScriptで変更した属性の元...
-
fancyboxのポップアップ時の画...
-
2つのULの中のリストをランダム...
-
Javascript で共通の処理をどこ...
-
読み込んだQRコードをフォーム...
-
配列で特定キーが同じ値だった...
-
JavaScript で flexslider の画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSS <div>の入れ子が反映さ...
-
フッター上部に謎の隙間
-
Ctrl+F(検索)の窓を出したいの...
-
【CSS】floatで左右に並べた...
-
css固定したフッターが本文と重...
-
HTMLですCSSです 画像のように...
-
htmlのstyleのposition:relativ...
-
HTMLですCSSです この画像のよ...
-
Flickity で画像にリンクを貼る...
-
画像の特定の座標にカーソルが...
-
チェックボックスの背景色って...
-
html スクロール要素を下から表...
-
レイアウトが崩れないようにす...
-
スクロール可能なチェックボックス
-
リンクで違うページの指定箇所...
-
オンマウス時に別画像を上に重...
-
フッターの下に隙間ができてしまう
-
スタイルシート(CSS)で、高さ...
-
かなり困っています。知恵を貸...
-
離れた場所にマウスオーバーで...
おすすめ情報