• ベストアンサー

フレームを使用しないフレームのようなページ

ホームページを制作しています。フレームは使用していません。 コラム集のページがあり、1つのコラムごとに1ページで作りたいと思います。 ヘッダ部分・メニュー部分・フッタ部分は1つのHTMLで、コラムを表示する部分だけ表示を切り替えたいと思っています。 (要はフレームを使用したページのようなものを実現したいです。) iframeを使用しようかと思ったのですが、 コラムページの内容量(縦の長さ)により、親のHTMLのページサイズを変えたいので iframeでは不可能と判断しました。 CSSやJavascriptを用いて上記のような事が実現できないでしょうか? よろしくお願いします。

  • HTML
  • 回答数5
  • ありがとう数4

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

  • ベストアンサー
  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.1

以下などを参考にiframeのサイズをコンテンツにあわせて、動的に変更すればどうでしょうか。 スクロール バーを表示せずにその内容のサイズを IFrame サイズを変更する方法 http://support.microsoft.com/kb/278469/ja

kikategoon
質問者

お礼

ありがとうございます、参考にします。

その他の回答 (4)

回答No.5

1案として。 ヘッダ、メニュー、コラムの3つに分けたフレームセットを作り、 各コラムのページにインラインフレームでフッタを取り込む。

kikategoon
質問者

お礼

なるほど、そういう方法は思いつかなかったです。 参考にします。ご回答ありがとうございました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

SSIを使うのは最近は見かけませんね。 最近の流行はPHPでCMS(コンテンツマネージメントシステム)のツールを使って管理するのが多いですね。ヘッダ部分・メニュー部分・フッタ部分だけならCMSなくてもphpで簡単に実現できます。 javascriptのみでやるなら、コラム部分を<div>要素にしておいて、ajaxで読み込んでその<div>にセットするといった手順でしょうか? <div>の装飾はCSSでやります。

kikategoon
質問者

お礼

CMS、AJAXといった、最近主流となりつつある(なっている?)技術を習得せねばと思いつつ取り残されています(汗)。 ご回答ありがとうございました。

  • abril
  • ベストアンサー率69% (388/560)
回答No.3

参考になる回答が色々出ているので、補足のみ。 > CSSやJavascriptを用いて上記のような事が実現できないでしょうか? この手の質問、繰り返し出てくる様ですが、CSSでは「見た目をフレームっぽく」(No.2様の書かれた2番目の参考URLはその方法です)する事はできても、本来フレームが持っている機能は実現できません。 CSSはあくまで「スタイル」を整えるものであって、コンテンツの内容自体をその中に持てるものではないからです。 ですから、 > ヘッダ部分・メニュー部分・フッタ部分は1つのHTMLで、 という「仕様」はCSSの担う部分ではありません。 依って、コンテンツの内容の一部を独立した共通の外部ファイルとして管理するという仕様は、他の方が回答してらっしゃる様にPHPやSSIやJavaScript…といったCSS以外の方法が必要となります。

  • k-josui
  • ベストアンサー率24% (3220/13025)
回答No.2

サーバーが対応している必要がありますが、SSIを使う方法もあります。 私はこちらでやっています。 http://allabout.co.jp/internet/hpcreate/closeup/CU20020520A/     このような方法もあるようですが・・・・ http://kikky.net/pc/css_pseudoframe.html

kikategoon
質問者

お礼

SSIですか、こんなに簡単な方法で共通部分を1つのHTMLで済ませる方法があるとは知りませんでした。 今後いろいろと使えそうなので勉強してみます。

関連するQ&A

  • 複数のページで使用する共通のレイアウトについて

    なるべく(X)HTML+CSSでサイトを作ろうと思っているのですが、 ヘッダ、フッタ、メニューなどの複数のページに及ぶ共通のレイアウト部分を CSSで一括で管理する方法はないのでしょうか? JavaScriptでの方法は分かるのですが。。。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTML+フレーム構成のページを、HTML+CSSで書き換えるには?

    HTML+フレーム構成のページを、HTML+CSSで書き換えるには? コンテンツはそのままに、HTML+フレーム構成のページを、HTML+CSSで書き換えることになりました。 ヘッダー、フッター、上部に画像ロゴ、左にメニューを配置したいと思ってます。 メインコンテンツ部分以外はSSIでインクルードしたいと思っています。 案外簡単だと思ったのですが・・・すぐ配置が崩れて悩んでます。 さらに、CromeとIEで確認をするたびに配置が違ってしまいます。 merginとpadsdingを0にしてから始めるらしいことまでは調べたのですが、 そうするととても配置が変で面倒になります。 現在はFFFTPと秀丸とブラウザで作業してます。 ほかに、PhotoShop6とホームページビルダー14とMicrosoftExpressionweb3は手元にライセンスがあります。 HTMLは分かりますが、CSSは初めてです。多少がんばれば、javaScriptも使えるかもしれません。 お薦めの本や、作り方、フリーウェアなどありましたらご指導ください。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • フレームの外枠を消したい HTML、CSS

    <iframe></iframe> このタグを使ってページ内にフレームを作成しました。 このフレームの外枠(ボーダー?)を消したいのですが・・・。 タグ内にborder=0を入れ <iframe border=0></iframe> としましたが、外枠は消えません。 CSSも少しならわかるので、CSSを使用する方法でもいいのですが・・・。どちらにしろHTMLで作られている外枠部分を消す必要がありますよね?考え方が間違っていたらおかしなこと言ってるのかもしれません。 とにかく<iframe></iframe>タグで作成したフレームの外枠を消したい。ということで質問させていただきます。わかる方どうぞよろしくお願い致します。

  • CSSでのページ構築について

    CSSでのページ構築について CSSでのサイト制作に挑戦しています。 まずは、テンプレートをつかってカスタマイズしてみようとおもい、テンプレートをDLしました。 「フッタ/左メニュー/メインコンテンツ/フッタ」というブログなどでよくあるものです。 (縦三段で、真ん中が左右2つに別れている2カラム) CSSファイルは、外部読み込み形式です。 トップページを作って、いざメニューからメインページのリンクを貼ろうと思ってつまずきました。 左ページのコンテンツメニューに設定したリンクを、右側の枠内に表示したいのですが、そういった場合は、どうすれよいでしょうか。普通に右側の内容をいれたHTMLにリンクすると、全画面がそのページになってしまって、ヘッダ/左メニュー/フッタは消えて(隠れて)しまいます。 ヘッダや左メニューをそのままにしてページ数を増やしたいときは、トップページをひたすらコピーして、右側の要素部分だけを変更していくのでしょうか? でも、それだとCSSにする意味がないというか、全然楽ではないですよね。 左メニューの項目が増えた時など、全ページを修正しなければならなくなりますし。 自分なりにCSS関連のサイトを検索して調べてみたのですが、どこも「トップページをそのままコピーしているようにしかみえない」のです。 右側ページ内容のHTMLに、ヘッダやメニューも読み込ませるような設定が必要なのでしょうか? ソフトはDW CS4を使っています。 どなたか、CSSの達人さま、教えてくださいませ。 お願い致します。

  • CSSで(3)段組のページを作りたいのですが

    上から3段のページを作りたいと思っています。 ヘッダー ↓ コンテンツ ↓ フッター という形にしたいのです。 ヘッダーとフッターの背景色は同じにして、フレームを使ったように見せたかったのですが、画面いっぱいまで広がってくれず困っています。 フレームを使ったら簡単にできるのですが、CSSでは不可能なのでしょうか? 基本的かもしれませんがよろしくお願いいたします。

    • ベストアンサー
    • CSS
  • ビルダーで、フレームを使わないフレームのようなものってできるでしょうか?

    宜しくお願いいたします。 フレームを使用して、ヘッダーやメニューやフッターにそれぞれのフレームを割り当てれば、それらの記載内容に変更があった場合でも一つの変更だけで、全てのページに適用されますが、フレームは検索エンジンなどで不利と聞くので、使いたくありません。 でもフレーム無しでは、例えばメニュー内容のひとつに変更があった場合、全てのページを書き換えるしかないのでしょうか? フレームを使用しないで、ヘッダー部やフッター部やメニューを全ページ(もしくは指定したページ)に適用する方法はないものでしょうか? 宜しくお願いいたします。 (わかりづらかったらすみません)

  • フッターの位置を一番下に表示させたいのですが・・・

    表示方法について質問をさせてください。 現在、サイトを作っているのですがフッターの表示が上手くいかず悩んでいます。要はフッター部分(ページ最下部)の表示項目を、必ずページの一番下に表示させたいのです・・・。 しかし、今の設定ではコンテンツ量の多い少ないで表示される場所が変わってしまいます。 コンテンツが結構あるページでは、当然一番下に表示されるのでOKなのですが、例えば、空っぽのページでヘッダーとフッターしかない状態だと、ヘッダーのすぐ下にフッターが表示されてしまい、その下に無駄な空間が存在してしまいます。 そうでは無く、コンテンツの量に左右されず、必ずブラウザの画面一番下にフッター部分が表示されるようにしたいのですが、色々と試してみるのですが、出来ませんでした・・・。 サイズなどを指定してしまうと、コンテンツの内容に影響されまた結果が変わってしまいますし、ブラウザによってはバグ的な表示になってしまうので、これはNGでした。 これらを実現するためには、何か特殊な設定をHTML側、またはCSS側で定義しなければならないのでしょうか? ご存知の方いらっしゃいましたら、是非、アドバイスの程よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • フレームページをHTMLで1枚に

    現在フレームページをHTML1枚に変更しようと思っているのですが、この場合どういったjavascriptを使用すればいいのでしょうか? ちなみに作ろうとしているのは左右でmenuとmainで分けmenu部分でmainの内容を変更していきたいのですが。

  • HTMLでのフレーム処理について

    こんにちわ。 現在サイトを構築しています。 サイトの一部のページとして掲示板を検討しています。 掲示板には、CGIで動作するフリーのものを使用し既存ページのイメージを変えないようにHTMLに<iframe>インラインフレームで表示しています。 フレーム処理していますのでフレームの部分にスクロールバーが表示されますが、そのスクロールバーを消してフレーム内の掲示板の大きさによって組み込み元のHTMLのサイズを変えることは可能でしょうか? 宜しくお願いします。

    • ベストアンサー
    • HTML
  • フレームを使わず、スタイルシートを使用して、視覚的にフレームを使用した

    フレームを使わず、スタイルシートを使用して、視覚的にフレームを使用したメニューを作ろうということで、ホームページを作成しました。 divにてコンテンツブロックを分け、スタイルシートで、そのブロックの並びを制御してやろう、とまあ、こういういきさつです。 制作したのが、こちらのページ。制作したHPのリンクを張るのはOKWaveのルール違反のようですが、あえて… http://www.poetican.com/poetica/ このHPに使用しているすべてのページが、同じデザインで制作されています。 IEでは、理想通りにページが展開されるのですが、FireFoxやGoogleClomeでは、そのようには表示されません。 CSSファイルは、次のアドレスです。 http://www.poetican.com/poetica/poetica_main.css おそらく、『float: left;』というのがまずいようですが… W3Cに準拠し、なおかつ、どのブラウザでもIEと同じように表示させるためには、どのようにすればいいのでしょうか。 可能であれば、CSSだけを修正すればいいような感じでできればありがたいのですが…。 アドバイスを、よろしくお願いします。

専門家に質問してみよう