「みんな教えて! 選手権!!」開催のお知らせ

フレームを上下2つで切っていて、上は100ピクセルでスクロール無しで設定し、
下を*でスクロール有りで設定しています。
テーブルは、センター揃えの白バックで、BODYの背景には別の色を
設定しているのですが、下のテーブルがスクロールによって押されるらしく、
上のテーブルとずれてしまいます。
この場合の解決策をご存じの方いらっしゃいますでしょうか?
どうぞよろしくお願いします。

A 回答 (6件)

少し質問が分かりづらいかもしれません。


上のフレームにも下のフレームにも、テーブルがあるという事でしょうか?
>スクロールによって押されて上のテーブルとずれる
という部分が良く分からないです。

上のフレームに置いたテーブルと、
下のフレームに置いたテーブルが
横幅がぴったり合うようにしたい、という事でしょうか?
それとも…?
その辺を具体的に書いてもらうと、もっと回答がよせられると思いますよ。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます!
>上のフレームに置いたテーブルと、
>下のフレームに置いたテーブルが
>横幅がぴったり合うようにしたい、という事でしょうか?
そうです!お察しの通りです。
それぞれセンター寄せで、上フレームはメニューボタンのHTML、
下は内容のHTMLなのですが、メニューと内容がずれてしまうのです。
これはおそらく、スクロールが出ているかいないかが、原因かと
思って質問させていただきました。
よろしくお願いいたします。

お礼日時:2004/01/08 15:04

NNについてはスクリプトで修正すればいいのですが、Opera7.23でてこずってしまいました。



今回の場合に限らず、HPの表示を全てのブラウザ・パソコン環境で全く同じにしたいと望むのは、あまりにも無理がありますね。どこかで割り切らなければならないでしょう。

私の場合は、最新ブラウザできちんと表示できれば良しとしています。Macは持っていないので、WinのIE6・NN7.1・Opera7.23でチェックしています。この3つでさえ、きっちり統一するのはものすごく大変です。

余談はさておき、上側はメニューということですので常に同じ内容と考えて、内容が入れ替わるのは下側の本文ですね。

極論しますと、高さの短い内容であっても、下に透明なテーブルなどを入れて高さを確保し、フレーム下側には常にスクロールバーが出ている状態にするのが最も確実です。

なぜなら、スクリプトによる修正は閲覧者がJavaScriptを有効にしていなければ効果がないからで、セキュリティの関係上無効にしている方も結構います。

確かに、スクロールの必要がないのにスクロールバーが出ているのは格好悪いですが、閲覧者は製作者ほど気にしていないように思います。

本末転倒ではありますが、より確実に上下のテーブルを揃えて見せたいのであるなら、フレームの使用を諦め、全てのページの上部に同じメニューを付けた一枚ものに切り替えたほうがいいでしょう。

全部作り直しするのも大変ですけど、その判断はあなた自身のHP作成に対するポリシーに委ねるしかありません。
    • good
    • 0
この回答へのお礼

長い間検討しているうちに、こちらのサイトの規定でページが削除されていたりと、すみませんでした。
長い長い検討の末、背景を白にして、ブラウザの種類による多少のずれは諦めることにしました。
素晴らしいスクリプトをありがとうございました!!本当に勉強になりました。
これからも質問させていただくかと思いますが、よろしくお願いいたします。

お礼日時:2004/01/23 10:31

私の方としましても、とってもタイムリーな話題ですので、諦めずに研究したいと思っています。



掲載してもらったフレームセットのソースでやってみましたが、scrolling="AUTO" の場合(書かなくても同じ)IE6では常にスクロール領域が確保されているので問題ありませんでしたが、NN7.1ではスクロールバーのあるなしでズレますね。

Macは当方では確認しようがないですが、そちらがズレるとおっしゃっているのはIEのことですか?表示確認されているブラウザを教えてください。

NNへの対処はこれから考えます。

蛇足ながら、border="0" を記述すればframespacing="0"は必要ないと思いますが。
    • good
    • 0
この回答へのお礼

ありがとうございます~!!
眠い目をこすりつつ、検討してみました。
何が原因だったのか?なのですが、
WinのIEではずれないようになりました!
でも、やはりNN7.1はだめなようですね。。何とか、、スクロール領域を確保できないものでしょうか。。
ちなみに、Macの環境はOS9.0でIE5とNN4.7で確認しております。
&ご指摘のとおりframespacing="0"はいらなかったです(^^;
もしNNについての朗報がございましたら、お知らせいただければ幸いです。
私もがんばります!

お礼日時:2004/01/09 02:04

例えばスクロールの必要が無いほど縦に短いページであったとしても、左の縦スクロールの領域は常に確保されているはずです。

(スライドバーが出ないだけ)
そういう場合でも、自分でスクロールバーを消すような指定をしないかぎり、( <BODY scroll=no> とか <BODY style="overflow : hidden;"> )マージンの変更は要りません。
もしそういう設定をした場合は、そのページの右マージンを上の段と同じに設定すればいいのではないでしょうか。

もしかして、横スクロールバーが出るのでしょうか?
その場合は・・・横スクロールバーが出ないようにページ作りをするよう心がけて下さい。

また、ウインドウ幅を横スクロールバーが出るほど狭めて使っている人への対策は・・・そこまで完璧に作りたいですか?だったら、考えます。
    • good
    • 0
この回答へのお礼

丁寧にご回答いただき、ありがとうございます!!
設定ですが、特にBODYにはスクロールに関わる記述はいれておりません。
教えていただきました、マージンの設定と、 topmargin="0" の設定、他背景色などの指定を入れているのみです。でも…短いページになると、ずれてしまうのです。。
Mac,Win共ずれてしまいました。。
ちなみに、フレームの設定は
-----------------
<frameset rows="100,*" frameborder="NO" border="0" framespacing="0">
<frame src="aa.html" scrolling="AUTO" frameborder="NO" noresize name="menu">
<frame src="aa.html" frameborder="NO" name="page">
-----------------
としているのですが、こちらに問題があるのでしょうか?
何度も申し訳ありません。
よろしくお願いいたします。

お礼日時:2004/01/08 23:03

現在あなたと同じような構成のフレームページを製作中のため、容易に実験できました。



上のフレームのHTML文書で<BODY>に右マージンを入れればとりあえずはOKでしょう。

<BODY style="margin-right : 16px;">

この場合下側のHTMLは

<BODY style="margin-right : 0px;">

としてください。要は上側の右マージンが、下側のそれより16px多ければいいということです。

とりあえずIEとOperaで見ると16pxでしたが、NN7.1はこれでは1px多いようです。

<SCRIPT Language="JavaScript">
<!--
if (!document.all) document.body.style.marginRight = "15px";
//-->
</SCRIPT>

というスクリプトをBODY部(HEAD部はダメ)の下のほうにでも入れておいてください。JavaScriptが有効になっていればNNでもぴったり揃います。これはあくまで下側のBODYの右マージンが0pxの場合ですから、もし下側に5pxの右マージンが指定してあれば、スクリプト内の値は"20px"となります。

他のブラウザでは確認できません(特にMac)が、ほとんどの閲覧者はこれでカバーできるでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます!!うまくいきました!
…ですが、更新によってスクロールが出たり出なかったりするページがある場合、やはりこのレイアウトでデザインするのは諦めるしかないのでしょうか。。
もし、良い回避方法がありましたらお教え頂ければ幸いです。
よろしくお願いいたします。

お礼日時:2004/01/08 20:12

こんにちは!



上のフレームのページの内容が100ピクセル以内に収まるようにして、テーブルの高さを100%に指定します。
そして上のフレームのスクロールの設定を無しにしてみて下さい。

scrolling="no" ではなくて指定自体を入れません。

確認していないのですが、以前これで上手くいったような記憶があります。
    • good
    • 0
この回答へのお礼

ありがとうございます!早速試してみたのですが、
うまくいきませんでした(TT)
うーん。やはり打つ手無しでしょうか。。

お礼日時:2004/01/08 21:05

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


おすすめ情報