@watakabi

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ウェブサイトの基本的なことについて

Q&A

Closed

解決したいこと

ウェブサイトを作成しているのですが、index.html以外のページを作成する際にindex.htmlを参照してそれを改変して使用することは可能でしょうか?それともいちいち手動でヘッダーなどをコピーして作る必要があるのでしょうか?
見てわかる通り初心者なので分かりやすくお願いします。

0 likes

2Answer

Comments

  1. 解決方法まで記載していただけると、同じ問題に直面した方の参考になるかと思います。もし可能でしたら、どのように解決されたのかを共有していただけると助かります。

  2. @watakabi

    Questioner

    なるほど、その通りですね。そこまで頭が回りませんでした。
    回答をコピーしておきます。

    ウェブサイト作成の初心者さん、こんにちは!ご質問ありがとう。すごくいい質問ですし、全然難しく考えなくて大丈夫ですよ。一緒に解決していきましょう!
    状況を整理
    あなたは「index.html」を作ったけど、他のページ(例えば「about.html」や「contact.html」など)を作る時に、「index.html」をベースにして少し変えたいってことですよね?でも毎回手動でヘッダーやフッターをコピペするのは面倒だなって感じている、と。
    答え:可能だし、もっと楽にできる方法もあるよ!
    「index.html」を参照して改変するのは全然OKです。むしろ、ウェブサイトを作るときには同じデザインや構造(ヘッダー、ナビゲーション、フッターなど)を複数のページで使い回すのが普通です。ただ、手動でコピペする以外にも、初心者でも取り組みやすい方法があります。以下に2つのアプローチを紹介しますね。
    方法1:手動でコピペして改変する(シンプルだけどちょっと手間)
    やり方
    「index.html」をコピーして、新しいファイル(例えば「about.html」)として保存。
    「about.html」を開いて、必要な部分(例えば本文とかタイトルとか)を書き換える。
    他のページも同じように作っていく。
    メリット
    すぐ始められる。
    特別なツールや知識がいらない。
    デメリット
    後でヘッダーやフッターを変更したいとき、全部のファイルを手動で直さないといけない。
    ページが増えると管理が大変。
    初心者ならこれでも十分スタートできます。ただ、ページが多くなると疲れちゃうかもしれないので、もう一つの方法も見てみてください。
    方法2:テンプレート的な考え方を取り入れる(少し賢く効率的に)
    ウェブサイトでは、同じ部分(ヘッダーとかフッターとか)を繰り返し使うことが多いので、それを「共通化」する方法があります。初心者でも簡単にできる方法として、以下を試してみるのはどうでしょう?
    ステップ1:共通部分を分ける
    「header.html」(ヘッダー部分だけ書いたファイル)や「footer.html」(フッター部分だけ書いたファイル)を作ります。
    例えば:
    header.html に タグやナビゲーションメニューを書く。
    footer.html に タグやコピーライトを書く。
    ステップ2:HTMLで「include」を使う(サーバー側を使う場合)
    もしウェブサーバー(例えば無料の「GitHub Pages」や「Netlify」)を使っているなら、HTMLを少し賢くできます。たとえば、SSI(Server Side Includes)という方法で共通部分を読み込む設定が可能です。
    「index.html」にこんな感じで書く:
    html

    ホーム

    ここが本文本文!

    他のページも同じように「header.html」と「footer.html」を呼び出すだけ。 注意:これを使うにはサーバーがSSIをサポートしている必要があるよ。ローカル(自分のPC)だけだと動かないこともある。 ステップ3:JavaScriptで簡単にやる(サーバーなしでもOK) サーバーを使わない場合でも、JavaScriptで似たようなことができます。例えば: header.html と footer.html を用意。 各ページでJavaScriptを使って読み込む: html

    ページの内容

    <script>
        fetch('header.html').then(response => response.text()).then(data => {
            document.getElementById('header').innerHTML = data;
        });
        fetch('footer.html').then(response => response.text()).then(data => {
            document.getElementById('footer').innerHTML = data;
        });
    </script>
    
    これならローカルでも動くし、後で「header.html」を変えれば全部のページに反映されるよ。 初心者におすすめの進め方 最初は手動でやってみる とりあえず「index.html」をコピーして「about.html」を作ってみて、感覚をつかんでください。2~3ページくらいならこれで十分です。 慣れたら共通部分を分けてみる ページが増えてきたら「header.html」や「footer.html」を作って、JavaScriptで読み込む方法を試してみるといいよ。少しずつステップアップできます。 将来を見据えるなら HTML/CSSをある程度覚えたら、「テンプレートエンジン」(例えば「Handlebars」や「Jekyll」)やフレームワーク(「React」や「Vue」)に挑戦するのもあり。でも今はそこまで急がなくていいよ! 結論 「index.html」を参照して改変するのは全然可能だし、最初はそれでOK!ただ、もっと楽したいなら「共通部分を分ける」方法を少しずつ取り入れてみてください。初心者でもできる簡単な方法から始められるから、焦らず楽しんで作ってみてね。何か分からないことがあったらまた聞いてください。一緒に頑張りましょう!

Your answer might help someone💌