- ベストアンサー
フレームページの固定について
お世話になります。 下記のようなフレームページを作成しているのですが、 変更をしたいと考えております。 その場合、全体の幅を860pxに固定したいのです。 一応、<FRAMESET COLS="250,610" と行ったのですが、 右側が広がってしまいます。 どのようにしたらよいか教えていただけないでしょうか。 <FRAMESET ROWS="350,*"> <FRAME NAME="_bs1" SRC="aa1.html"> <FRAMESET COLS="250,610" border=0 framespacing=0 frameborder=no> <FRAME NAME="_bs2" SRC="aa2.html" MARGINWIDTH="0px" MARGINHIGHT="0" NORESIZE> <FRAME NAME="_bs3" SRC="aa3.html" MARGINWIDTH="0px" framespacing=0 MARGINHIGHT="0" NORESIZE> </FRAMESET> </FRAMESET><noframes></noframes> </HTML>
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2 ORUKA1951です。3つに分けなくても簡単な方法も HTML4.01 Frameset DTDなら・・ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>簡単なフレーム設定文書</title> </head> <frameset cols="860,*"> <frameset rows="350,*"> <frame src="header.html"> <frameset cols="250, 610"> <frame src="menue.html"> <frame src="contents.html"> </frameset> </frameset> </frameset> <noframes> <p>このフレーム設定文書は、次のものを含む。</p> <ul> <li><a href="header.html">見出し</a></li> <li><a href="menue.html">メニュー</a></li> <li><a href="contents.html">最初のページ</a></li> </ul> </noframes> </frameset> </html> HTML4.01strict+CSSなら <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>3分割</title> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"> <!-- div#header{width:860px;height:350px;border:solid 1px red;} div#menue{width:250px;position:fixed; border:solid green 1px;} div.Body{margin-left:260px;width:600px;margin-right:auto;border: solid 1px blue;} --> </style> </head> <body> <div id="header"> <h1>title</h1> <h2>subTitle</h2> </div> <div id="menue"> <ol> <li>メニュー</li> <li>メニュー</li> </ol> </div> <div class="Body"> <h2>ArticleTitle</h2> <p> 内容 </p> </div> </body> </html>
その他の回答 (3)
- pasocom
- ベストアンサー率41% (3584/8637)
#1です。 メインのFRAMESETの記述は、 <FRAMESET ROWS="350,*"> <FRAME NAME="_bs1" SRC="aa1.html"> <FRAMESET COLS="250,*" border=0 framespacing=0 frameborder=no NORESIZE> <FRAME NAME="_bs2" SRC="aa2.html" MARGINWIDTH="0px" MARGINHIGHT="0"> <FRAME NAME="_bs3" SRC="aa3.html" MARGINWIDTH="0px" framespacing=0 MARGINHIGHT="0"> </FRAMESET> </FRAMESET><noframes></noframes> </HTML> 注意)「NORESIZE」はいじられたくないFRAMESET内に記述して下さい。 そして、「aa3.html」の記述は、 <body> <table border=1> <tr><td width=610 height=1000> ここにコンテンツを書き込む </td> </tr> </table> 実際に使うときには<table border=0>でお使い下さい。 とりあえず、目に見えるようにボーダーを表示したまでです。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
フレームとは、古い技術であまりにも問題が多く廃止されつつある仕様だということはご存知たとして・・(フレーム 問題 廃止)のキーワードで検索すると http://www.google.co.jp/search?hl=ja&q=%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0+%E5%95%8F%E9%A1%8C+%E5%BB%83%E6%AD%A2&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_en|lang_ja&aq=f&oq= そのうえで、あえて説明すると ★フレームで3つに分ける そのうち左の二つを使用する。右端は空白ページでも表示させておく。 という方法になると思います。 フレームは、今の様々な端末には対応できなくて、携帯電話は無論、画面の狭いPDA、そしてワイド画面では??? ・・私自身、ここ何年もフレームは使ってませんので・・ スタイルシートで左側のブロックをfixedにするのがベストですよ。それか、iframeを使う。
お礼
お礼が遅くなり申し訳ございません。 確かにフレームは古い技術です。 できれば使用したくないのですが、昔作成してもらったシステムがフレームで出来ていたため、リニューアル後のヘッダー、フッターを入れ込めなく困っておりました。 参考になりました。 ただ、スタイルシートの記述が恥ずかしながらわからず、出来ませんでした。 よろしければ、ご指導いただけますと幸いです。 現在 上部(一列)・・・うまくヘッダーwide860pxと合わせられました。 下部 2列 左側は、うまくいくのですが、どうしても右側がうまくいきませんでした。 tableのwideは、いくつか設定してみました。
- pasocom
- ベストアンサー率41% (3584/8637)
ページ全体の巾を860ピクセルとする、というのは不可能だと思います。それができた場合、全巾を1024ピクセルなどで閲覧している人にはどのように表示されるのでしょうか?。余った右端164ピクセルは真っ黒?。 ページレイアウトとして、右端を空白にしておきたいのなら、とりあえず、「COLS="250,*"」としておいて、右側のフレーム内をtableタグで「<table width=610>」として、この中にコンテンツを入れるように配置したらいかがでしょうか。
お礼
お礼が遅くなり申し訳ございません。 tableのwideを設定して 現在 上部(一列)・・・うまくヘッダーwide860pxと合わせられました。 下部 2列 左側は、うまくいくのですが、どうしても右側がうまくいきませんでした。 右側下のフレームがうまく寸法通りにならなく困ってしまいました。 よろしければ、再度ご教授いただけますと幸いです。
お礼
ありがとうございます。 早速試してみましたら、うまくいきました。 本当に感謝いたします。