- ベストアンサー
フレームを使うべきでしょうか?
たとえばフレームでページをわけて左側のページのリンクをクリックしたら右側のページに表示させるみたいなことができますよね。 それと似たような感じでリンクをクリックしたときにページ内のフォームというかボックス(400*400くらいの四角い範囲内)にそこのリンク先のページを表示させたいのですが、この場合は、ページの上下左右をフレームで分けて、表示させたい部分の四角を作らないといけないのでしょうか? 文章だけだと表現しずらいのですが、回答おねがいします。わかりづらい点は質問していただければ補足させてもらいます。 あとホームページ作成は、タグとスタイルシート使ってやろうと思います。スタイルシートはまだまだ勉強不足ですが。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
インラインフレームで対応できると思います。 古いブラウザには、インラインフレームに対応していないものもありますが、最近のブラウザではサポートされていますので、使えると思いますよ。 参考URLなども参照してみてください。
その他の回答 (4)
言葉足らずだったようなので補足します。 400×400くらいの範囲に表示させるということだったので、 わざわざ別ページにするほどの内容量ではないのではと考えて「overflow」について書いてみました。 また、「visibility」を使うことで切り替えも可能です。 javascriptを使う必要がありますが。 ただ、やはり他の方が言うようにインラインフレームが一番良いでしょうが、色々と工夫することがとても勉強になるので、あえて難しい手段を選ぶのも良いのではと思います。 再度、すみませんでした。
あの、再度失礼します。 なんだか情報が混乱してきているようですので… 質問では、通常のページの中に四角いフレームを用意して、そこに別のHTMLファイルを読み出したいと言うことですよね? このケースでは、スタイルシートで対応することはできません。 スタイルシートでは、特定の要素に対して、そのボックスの表示サイズを指定した上でoverflowプロパティをscrollに指定することで、スクロールバーのついたボックスとして表示させることはできますが、別のHTMLファイルをページ内に組み込むことはできないと思います。 なお、蛇足ですが、「overflow: auto;」と、overflowプロパティをautoに指定した場合は、大抵のブラウザではスクロールとして表示しますが、基本的にブラウザによって表示方法が左右されるので、場合によっては意図した表示にならないケースもあり得るでしょう。 ご質問のケースではインラインフレームを使うことで対応するのが良いと思います。 インラインフレームのソースについては、 <iframe src="***.html" name="***" width="400" height="300">インラインフレームに対応していないブラウザに対するテキスト</iframe> このような感じに書きます。 srcは初期状態で読み込むHTMLファイル、nameはフレーム名、widthとheightはインラインフレームの表示枠のサイズ、<iframe></iframe>の中身は上記のように、インラインフレームに対応していないブラウザで開かれた場合に表示されるメッセージ類を書き込みます。 なお、このインラインフレームをもつ親ページから、インラインフレーム内にページを読み出す方法については、JavaScriptを使わない方法もあります。 このケースは、通常のフレームを使ったページで別フレーム内にページを読み出す指定と同じように、 <a href="***.html" target="インラインフレームにつけたname">リンク</a> と、インラインフレームにつけたnameをターゲットに指定してリンクを張れば良いです。 参考まで。 たびたび失礼しました。
インラインフレームを使うのが無難ですが、 勉強も兼ねてスタイルシートの「overflow」を 使ってみるのはどうでしょうか。 インラインフレームは2つのHTMLファイルが必要になりますが、 「overflow」なら1つのファイルでフレームのような 効果を出すことができます。 overflow:auto; width:100px; height:100px; とすれば、100×100の表示領域を作ることができます。 widthは横幅、heightは縦幅です。 幅を設定しない場合は可能な分だけ広がります。 この設定をDIV要素に適用して、表示させたい内容を DIV要素で囲めば良いだけです。 ただし、表示領域よりも大きな画像やサイズを指定したテーブルがあると、 指定した幅を無視して広がってしまいます。 実際にやってみると感じがわかると思います。 対応ブラウザはIE4.0以上、ネスケ6以上です。 ただし、DIV要素以外に適用した場合や、overflowの 設定を auto 以外にした場合には、無視されることも あるので注意です。 こんな方法もあるという、参考までに。
インラインフレームにリンクページを表示する場合は下記の参考URLを参照ください。 Javascriptを使うので少し難しいかもしれませんがコピペすれば簡単ですね。 フレームを使用する場合は「表示させたい部分の四角を作らないといけない」ということはありません。 分けたフレーム自体が表示させたい部分になるからです。 とりあえずこんなところでお勉強。 http://www.openspc2.org/ http://tohoho.wakusei.ne.jp/ http://www.sky.sannet.ne.jp/masapine/homepage/index.html http://www.icc.aitai.ne.jp/~ja2dpb/
お礼
回答くださった方々ありがとうございました。 なんとかそれらしくつくることができました。