お世話になります。
下記のようなフレームページを作成しているのですが、
変更をしたいと考えております。

その場合、全体の幅を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>

A 回答 (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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/30 12:57

#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>でお使い下さい。
とりあえず、目に見えるようにボーダーを表示したまでです。
    • good
    • 0

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


http://www.google.co.jp/search?hl=ja&q=%E3%83%95 …|lang_ja&aq=f&oq=

 そのうえで、あえて説明すると
★フレームで3つに分ける
 そのうち左の二つを使用する。右端は空白ページでも表示させておく。
という方法になると思います。
 フレームは、今の様々な端末には対応できなくて、携帯電話は無論、画面の狭いPDA、そしてワイド画面では???
 ・・私自身、ここ何年もフレームは使ってませんので・・

 スタイルシートで左側のブロックをfixedにするのがベストですよ。それか、iframeを使う。
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ございません。
確かにフレームは古い技術です。
できれば使用したくないのですが、昔作成してもらったシステムがフレームで出来ていたため、リニューアル後のヘッダー、フッターを入れ込めなく困っておりました。

参考になりました。
ただ、スタイルシートの記述が恥ずかしながらわからず、出来ませんでした。
よろしければ、ご指導いただけますと幸いです。

現在
上部(一列)・・・うまくヘッダーwide860pxと合わせられました。

下部 2列
左側は、うまくいくのですが、どうしても右側がうまくいきませんでした。

tableのwideは、いくつか設定してみました。

お礼日時:2009/05/29 14:55

ページ全体の巾を860ピクセルとする、というのは不可能だと思います。

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

お礼が遅くなり申し訳ございません。
tableのwideを設定して

現在
上部(一列)・・・うまくヘッダーwide860pxと合わせられました。

下部 2列
左側は、うまくいくのですが、どうしても右側がうまくいきませんでした。

右側下のフレームがうまく寸法通りにならなく困ってしまいました。

よろしければ、再度ご教授いただけますと幸いです。

お礼日時:2009/05/29 14:56

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


人気Q&Aランキング