プロが教える店舗&オフィスのセキュリティ対策術

フレームタグを使う以外で1つのページ内に複数のページを表示する方法


はじめまして。Webデザインを勉強中の者です。基礎的なHTML.CSS(スタイルシート),XML
の知識があります。

タイトルにもあるとおり、(よくつかわれるiframeタグ含め)フレームタグを利用する以外で
一つのページ内に複数のページを表示する方法を探しています。

FC2ブログのソースを見て回って気付いたことなのですが、
そのどれもが、フレームタグを使わずに一つのページ内に複数のページを表示してるようです。

例を挙げると、FC2ブログは、テンプレートを選択するだけで
本文(メインコンテンツ)はそのまま、レイアウトが全く違うようになる、というように。
ちなみに私もFC2ブログのユーザーで、テンプレートのメインファイルとCSSファイルのソースも
見てみたのですが、フレームタグは一切使われていませんでした。

それとも、FC2ブログは全てのページにサイドバーやトップなどのレイアウト情報を書き込んでて、
テンプレートを選択するたびに一括変換しているのでしょうか?


わかりにくいですが、Aのファイルにレイアウト情報を、Bのファイルに本文(メインコンテンツ)を。
そしてそのA+Bで、一つのページが完成する、Aのファイルをすり替えるだけで、レイアウトが変えられる、
そんな風にしたいわけです。知ってる方がいれば、是非ご教授願えませんでしょうか?

A 回答 (2件)

 レイアウト分けには、大きく分けて、二つの方法があります。


 一つは、<TABLE>を使用する方法。
 ボーダーなどの飾りをなにも表示しないテーブルを作成して、そのフィールドに、各ブロックを作っていきます。
 もう一つは、<div>を利用する方法。これは、CSSの、floatとwidthを利用して、各、divブロックの配置を指定していく方法です。
 div#container { width:100% }
 div#contents { width:70%; float:right; }
 div#sidebar { width:30%; float:right; }
 のようにやってあげて、後は、各divブロックの中に適切なコンテンツを入れていきます。widthとfloatの使いようで、相当自由なマルチカラムレイアウトの作成が可能です。(入れ子を駆使すれば、<table>より自由なレイアウトができます。)

 さて、テンプレートの件ですが・・・これは、htmlやcssの世界とは別の世界の話になります。ブログなどのページは、ユーザーが記事を随時追加していくわけですから、固定したhtmlファイルをサーバーに持っておくことはできません。というわけで、通常、aspやjsp等のアプリケーションサーバーを利用するのが普通です。(cgiのスクリプトという手もありますが・・・)
 この類の手を利用すると、テンプレートをいくつか用意しておいて、それをユーザーの指定により自由に組み合わせるという構成をとるることが可能になります。
 テンプレートファイルの中に、include文やタグで別のファイルを埋め込むような機構も用意されていますし、条件によってどのテンプレートを利用するかを選択する、果ては、条件によってテンプレートの一部を違う物とすり替える・その場で条件に合わせてテンプレートを自動で生成するなど、高度なことも可能です。が・・・これ、れっきとしたプログラミングの世界です。ホームページのデザインとは別の学習が必要となります。

 どんな世界かのぞいてみたければ、J2EEとかASPとかアプリーションサーバーの様な単語で検索してみてください。
    • good
    • 0

貴方の言いたいレイアウトとは、配置/配色だけではなく、メニュー項目の内容も含めてという事ですか。



あくまで見た目(配置/配色)だけなら、CSSを外部ファイルとして管理するだけで済みますが、内容もとなるとCSSでは無理です。

フレームを使うのが最も単純ではありますが、
それ以外だと
・<object>タグ(ifremeと似たようなもの)
http://www.tagindex.com/html_tag/other/object.html
・JavaScriptで読み込む
http://www.google.co.jp/search?lr=lang_ja&q=java …
・SSIを利用する
http://allabout.co.jp/internet/hpcreate/closeup/ …
等があります。

テンプレートファイル使って自由にというなら、既存の汎用CMSを利用するか、perlやPHPでそういったのを自作する事になります。
http://pc.nikkeibp.co.jp/article/NPC/20071113/28 …
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3% …
ブログもCMSの一種です。
    • good
    • 0

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