• ベストアンサー

フレームページの固定について

お世話になります。 下記のようなフレームページを作成しているのですが、 変更をしたいと考えております。 その場合、全体の幅を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>

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.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>

tomo0117
質問者

お礼

ありがとうございます。 早速試してみましたら、うまくいきました。 本当に感謝いたします。

その他の回答 (3)

  • pasocom
  • ベストアンサー率41% (3584/8637)
回答No.3

#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)
回答No.2

 フレームとは、古い技術であまりにも問題が多く廃止されつつある仕様だということはご存知たとして・・(フレーム 問題 廃止)のキーワードで検索すると 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を使う。

tomo0117
質問者

お礼

お礼が遅くなり申し訳ございません。 確かにフレームは古い技術です。 できれば使用したくないのですが、昔作成してもらったシステムがフレームで出来ていたため、リニューアル後のヘッダー、フッターを入れ込めなく困っておりました。 参考になりました。 ただ、スタイルシートの記述が恥ずかしながらわからず、出来ませんでした。 よろしければ、ご指導いただけますと幸いです。 現在 上部(一列)・・・うまくヘッダーwide860pxと合わせられました。 下部 2列 左側は、うまくいくのですが、どうしても右側がうまくいきませんでした。 tableのwideは、いくつか設定してみました。

  • pasocom
  • ベストアンサー率41% (3584/8637)
回答No.1

ページ全体の巾を860ピクセルとする、というのは不可能だと思います。それができた場合、全巾を1024ピクセルなどで閲覧している人にはどのように表示されるのでしょうか?。余った右端164ピクセルは真っ黒?。 ページレイアウトとして、右端を空白にしておきたいのなら、とりあえず、「COLS="250,*"」としておいて、右側のフレーム内をtableタグで「<table width=610>」として、この中にコンテンツを入れるように配置したらいかがでしょうか。

tomo0117
質問者

お礼

お礼が遅くなり申し訳ございません。 tableのwideを設定して 現在 上部(一列)・・・うまくヘッダーwide860pxと合わせられました。 下部 2列 左側は、うまくいくのですが、どうしても右側がうまくいきませんでした。 右側下のフレームがうまく寸法通りにならなく困ってしまいました。 よろしければ、再度ご教授いただけますと幸いです。

関連するQ&A

専門家に質問してみよう