作り方・ツール

HTML・CSSでホームページを作成する方法

HTMLとCSSを使う方法では、ホームページの内容と見た目をコードで記述します。HTMLは文章や見出しなどの構造を作り、CSSは色、文字サイズ、余白などのデザインを整える役割です。作成したファイルをブラウザーで確認し、サーバーへアップロードすると公開できます。

小規模な案内サイトなら、HTMLとCSSだけでも作成可能です。一方、問い合わせフォームの送信、予約、会員機能、複数人での更新などには、JavaScript、サーバー側の処理、外部サービス、CMSなどが必要になる場合があります。

このページでは、すべてのHTMLタグを覚えるための教材ではなく、「コードでホームページを作ると何が必要で、どの順番で公開するのか」を初心者向けに整理します。

このページで確認できる流れ

  • HTML・CSSで作るホームページの仕組み
  • 作成に必要なソフト、ブラウザー、公開環境
  • HTML、CSS、画像、JavaScriptの役割
  • ファイル作成からサーバー公開までの手順
  • スマートフォンへ対応する基本的な考え方

HTML・CSSで作るホームページとは

HTML・CSSで作るホームページでは、ページの内容と構造をHTML、見た目をCSSで記述します。必要に応じてJavaScriptで動きや操作を追加し、画像などのファイルと一緒にサーバーへ置きます。

基本的な関係は次のとおりです。

要素 主な役割
HTML 内容と構造を示す 見出し、段落、画像、リンク、表、フォーム
CSS 表示とレイアウトを整える 色、文字、余白、幅、並び方、画面幅への対応
JavaScript 操作や動的な処理を追加する メニュー開閉、タブ、入力確認、データ取得
画像・動画など 内容を視覚的に伝える 写真、ロゴ、図版、動画
サーバー ファイルを保存して配信する レンタルサーバー、静的サイトの公開サービス
ドメイン 公開サイトのURLになる example.com

HTML・CSSのファイルだけで構成され、アクセス時に完成済みのファイルを配信するサイトは、一般に静的サイトと呼ばれます。ページごとにHTMLファイルを作成し、変更時は元ファイルを編集して再アップロードするのが基本です。

WordPressのようなCMSは、管理画面へ入力した文章や設定をデータベースへ保存し、ページを出力します。HTML・CSSでの作成は、管理画面を使わず、表示されるファイルを直接管理する点が大きな違いです。

コードで作る場合も、先に目的、必要ページ、文章、画像を決める必要があります。HTMLを入力し始めることは制作工程の一部であり、サイト構成や内容まで自動的に決まるわけではありません。

作成に必要なもの

最小構成なら、パソコン、コードエディター、ブラウザーがあれば制作を始められます。インターネット上へ正式公開する段階で、サーバーと必要に応じて独自ドメインを用意します。

段階 必要なもの 用途
設計 ページ一覧、文章、画像 何を作るか決める
制作 パソコン、コードエディター ファイルを作成・編集する
確認 複数のブラウザー、開発者ツール 表示、エラー、画面幅を確認する
公開 サーバー、アップロード方法 ファイルをインターネットへ置く
URL 独自ドメイン 長く使うサイトのURLにする
安全性 SSL、バックアップ 通信とデータを守る
  1. 01

    コードエディター

    コードエディターは、HTML、CSS、JavaScriptなどのテキストファイルを編集するソフトです。一般的なメモ帳でも作れますが、コードエディターには入力補助、色分け、検索、ファイル一覧、エラーの発見を助ける機能があります。

    初心者が確認したい機能は次のとおりです。

    • HTML・CSSの入力補助と色分け
    • ファイル・フォルダーをまとめて表示できる
    • 複数ファイルを横断して検索・置換できる
    • 文字コードをUTF-8で保存できる
    • 行番号とインデントを表示できる
    • 拡張機能を必要以上に入れなくても使える
    • 使用しているOSに対応し、更新が続いている

    Visual Studio Codeなど無料のコードエディターもあります。Adobe Dreamweaverのように、コード編集と画面による制作を組み合わせるソフトもあります。ソフトの違いはAdobe製品でホームページを作成する方法で扱います。

    最初から多くの拡張機能や自動化ツールを入れる必要はありません。HTMLファイルとCSSファイルを作り、ブラウザーで確認できる最小環境から始めます。

  2. 02

    ブラウザー

    ブラウザーは、作成したHTMLを読み込み、ホームページとして表示するソフトです。Chrome、Safari、Firefox、Edgeなどがあります。

    制作中はHTMLファイルをブラウザーで直接開くか、ローカルの確認用サーバーを使います。修正後に再読み込みし、表示が変わるか確認します。

    ブラウザーに付属する開発者ツールでは、次の確認ができます。

    • HTMLの構造と適用されているCSS
    • CSSが打ち消されている箇所
    • JavaScriptのエラー
    • 読み込めていない画像・ファイル
    • スマートフォンに近い画面幅での表示
    • ページや画像の読み込み状況

    一つのブラウザーで表示できても、ほかのブラウザーや端末で同じになるとは限りません。公開前は主要なブラウザーと実機で確認します。

  3. 03

    ドメイン・サーバー・FTP等

    作成したホームページを一般公開するには、ファイルを配信するサーバーが必要です。事業用サイトでは、レンタルサーバーや静的サイトに対応する公開サービスを利用し、独自ドメインを接続する方法があります。

    サーバーを選ぶときは、次の点を確認します。

    • HTML・CSS・画像などを公開できるか
    • 独自ドメインとSSLを利用できるか
    • ファイルマネージャー、SFTP、FTPSなどのアップロード方法
    • 容量、転送量、バックアップ、復元方法
    • 問い合わせフォームなどで必要なサーバー側機能
    • アクセス解析やログの確認方法
    • サポートと障害情報
    • 解約・移転時にファイルを取り出せるか

    FTPは、パソコンとサーバー間でファイルを転送する仕組みとして広く使われてきました。利用する場合は、サーバー会社が案内する安全な接続方式を選びます。SFTPやFTPSに対応している場合は、認証情報や通信を保護できる方式を優先しましょう。

    サーバー管理画面のファイルマネージャーを使えば、専用ソフトなしでアップロードできる場合もあります。どの方法でも、接続先、公開フォルダー、上書き対象を確認してから操作します。詳しくはホームページ用サーバーの基礎知識もあわせてご覧ください。

基本となるファイルと役割

最初は、HTML、CSS、画像を分けて管理します。必要になった段階でJavaScriptを追加します。

小規模サイトのファイル構成例は次のとおりです。

my-site/
├── index.html
├── about.html
├── service.html
├── css/
│   └── style.css
├── images/
│   ├── main-visual.jpg
│   └── logo.svg
└── js/
    └── script.js

index.htmlは、フォルダーの先頭ページとして表示されることが多いファイル名です。ほかのファイル名やフォルダー名は、半角英数字とハイフンなどで、内容が分かる短い名前にします。

  1. 01

    HTML

    HTMLは、ページの内容と意味のある構造を示します。見出し、段落、ナビゲーション、本文、フッターなどを適切な要素で記述します。

    最小限のページ例は次のとおりです。

    <!doctype html>
    <html lang="ja">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>サービス案内|サイト名</title>
      <meta name="description" content="サービスの対象者、内容、料金を案内します。">
      <link rel="stylesheet" href="css/style.css">
    </head>
    <body>
      <header>
        <a href="index.html">サイト名</a>
        <nav aria-label="メインナビゲーション">
          <a href="service.html">サービス</a>
          <a href="about.html">運営者情報</a>
        </nav>
      </header>
    
      <main>
        <h1>サービス案内</h1>
        <p>対象者とサービスの概要を記載します。</p>
      </main>
    
      <footer>
        <p><small>&copy; サイト名</small></p>
      </footer>
    </body>
    </html>
    

    titleとmeta descriptionは検索結果やブラウザー表示に関わる情報、h1はページの主題です。これらを同じものとして扱わず、ページごとに内容へ合わせて設定します。

    HTMLは見た目のためだけでなく、情報の意味と順序を伝える役割があります。文字を大きくしたいから見出しを使うのではなく、ページ構造に合わせてH1、H2、H3を使い、見た目はCSSで調整します。

  2. 02

    CSS

    CSSは、HTMLで記述した内容の色、文字サイズ、余白、幅、並び方などを指定します。複数ページから同じCSSファイルを読み込めば、サイト全体のデザインをまとめて変更できます。

    * {
      box-sizing: border-box;
    }
    
    body {
      margin: 0;
      color: #1f2937;
      font-family: sans-serif;
      line-height: 1.8;
    }
    
    img {
      max-width: 100%;
      height: auto;
    }
    
    main {
      width: min(100% - 32px, 960px);
      margin-inline: auto;
    }
    
    @media (max-width: 767px) {
      main {
        width: min(100% - 24px, 960px);
      }
    }
    

    CSSでは、後から書いた指定、より具体的な指定、継承などによって、同じ要素への指定が上書きされます。意図どおりにならないときは、指定を重ね続けず、開発者ツールでどのCSSが適用・上書きされているか確認します。

    ページごとに似たCSSを複製すると、修正漏れが起こります。色、余白、文字サイズ、ボタン、見出しなど、繰り返すルールを共通化すると管理しやすくなります。

  3. 03

    画像・JavaScript

    画像は、商品、人物、場所、手順など、文章だけでは伝わりにくい内容を補います。撮影したままの大きな画像を使わず、表示サイズと画質のバランスを考えて圧縮します。

    画像で確認する項目は次のとおりです。

    • 使用許可や素材ライセンスがあるか
    • 内容に合うファイル名か
    • JPG、PNG、WebP、SVGなど用途に合う形式か
    • 必要以上に大きな寸法・容量ではないか
    • HTMLのalt属性に適切な代替テキストがあるか
    • スマートフォンで縦横比や切り抜きが崩れないか

    JavaScriptは、メニュー開閉、スライダー、タブ、入力確認などの動作に使えます。ただし、HTMLとCSSだけで伝えられる内容までJavaScriptへ依存させると、読み込み失敗時や操作方法によって利用できなくなる場合があります。

    外部ライブラリやサンプルコードを使う場合は、配布元、利用条件、更新状況、安全性を確認します。意味を理解しないまま貼り付けると、ほかのコードと競合したり、不要な通信や脆弱性が残ったりする可能性があります。

    また、HTMLでフォームの入力欄を表示しただけでは、問い合わせ内容を安全に送信・保存できません。送信先となるサーバー側の処理や外部フォームサービス、迷惑送信対策、通知、個人情報の取扱いが必要です。

HTMLホームページ作成の手順

HTML・CSSでホームページを作る基本手順は次のとおりです。

  1. 目的、対象者、必要ページを決める
    誰に何を伝え、どの行動につなげるかを決めます。トップ、サービス、料金、運営者情報など必要なページを一覧にします。

  2. 文章・画像・ページ構成を用意する
    コードを書く前に、各ページの見出し、本文、画像、メニューの順番を決めます。紙やデザインツールで簡単なワイヤーフレームを作っても構いません。

  3. 制作フォルダーとファイルを作る
    HTML、CSS、画像、JavaScriptを分け、決めた命名規則で保存します。元画像や資料は公開フォルダーと別に管理します。

  4. 共通するHTML構造を作る
    head内の基本情報、ヘッダー、ナビゲーション、メイン、フッターを作ります。ページごとにtitle、説明文、H1、本文を変更します。

  5. CSSで基本デザインを整える
    文字、色、余白、幅、リンク、ボタンなどの共通ルールから作ります。装飾より先に、文章が読みやすく情報の順序が分かる状態を目指します。

  6. 画面幅に合わせて調整する
    固定幅だけにせず、スマートフォンからパソコンまで内容が読めるようにします。画像、表、メニュー、複数列が画面からはみ出さないか確認します。

  7. 必要な動作だけ追加する
    JavaScriptや外部サービスを使う場合は、動作しないときにも重要情報へアクセスできるか確認します。フォームは送信・通知・エラーまでテストします。

  8. ローカル環境で確認する
    リンク、画像、見出し、誤字、ブラウザー差、キーボード操作、画面幅を確認します。開発者ツールのエラーも確認します。

  9. サーバーとドメインを準備する
    公開環境を契約し、独自ドメインとSSLを設定します。正式URLと公開フォルダーを確認します。

  10. ファイルをアップロードして公開する
    ファイルマネージャー、SFTP、FTPSなどで、フォルダー構造を保ったままアップロードします。公開URLで表示と機能を再確認します。

  11. バックアップと更新方法を決める
    制作元ファイル、公開版、画像、接続情報を安全に管理します。更新前後の版を残し、誰がどのファイルを変更するか決めます。

最初は1ページを完成させ、共通部分と命名ルールを確認してからページを増やすと、同じ修正を繰り返しにくくなります。

レスポンシブ対応の基本

レスポンシブWebデザインは、同じHTMLを基本に、画面の幅や端末の特性に合わせてレイアウトを調整する考え方です。スマートフォン専用ページを別に作ることと同じではありません。

初心者は次の基本から確認します。

  1. viewportを設定する
    HTMLのheadにviewportのmeta要素を入れ、端末幅に合う表示の基準を作ります。

  2. 固定幅だけにしない
    横幅を常に1,000pxなどへ固定すると、小さな画面からはみ出します。%max-widthmin()などを用途に応じて使います。

  3. 画像を親要素より大きくしない
    max-width: 100%height: autoを基本にし、縦横比を保ちます。

  4. Flexbox・Gridで並びを調整する
    横並びの要素を、画面幅に応じて折り返す、または縦並びへ変更します。

  5. メディアクエリーを必要な箇所で使う
    デザインが崩れる幅を基準に、列数、余白、文字サイズ、メニューなどを調整します。特定機種の画面幅だけを基準にしません。

  6. タップとキーボード操作を確認する
    ボタンを十分な大きさにし、リンク同士を近づけすぎず、キーボードでも操作できるようにします。

開発者ツールの端末表示は便利ですが、実機と完全に同じではありません。iPhone、Android、パソコンなど、可能な範囲で実際の端末とブラウザーを確認します。

ここでは制作時の概要にとどめ、設計と確認方法はホームページのスマホ・レスポンシブ対応で詳しく扱います。

コードで作るメリットとデメリット

HTML・CSSで作る方法は、表示内容を直接管理できる一方、制作と更新をコードで行う知識が必要です。

メリット デメリット・注意点
必要な構造とデザインを細かく指定できる HTML・CSSとファイル管理の学習が必要
不要な機能を減らし、構成を小さくできる ページ追加や共通部分の変更に手作業が増える
特定CMSのテーマや管理画面に依存しにくい 管理画面がなく、更新担当者がコードを扱う必要がある
静的ページは構成が単純で表示を軽くしやすい 軽さは画像・外部スクリプト・コード品質にも左右される
データベースやCMSを使わない構成も選べる フォーム、検索、予約などは別の仕組みが必要
制作元ファイルを手元で管理できる アップロードや上書きのミスで公開版を壊すことがある
Web制作の仕組みを理解しやすい ブラウザー差、アクセシビリティ、安全性まで確認が必要

数ページのサイトで更新頻度が低く、必要機能が明確なら、静的なHTML・CSSは管理しやすい方法です。反対に、ページが多く、複数人が頻繁に更新するサイトでは、共通部分の修正や公開管理が負担になります。

「コードで作れば必ずSEOに強い」「WordPressより必ず速い」とは限りません。検索意図に合う内容、HTML構造、内部リンク、表示速度、スマートフォン対応などを適切に整える必要があります。

初心者がつまずきやすい点

HTML・CSSの初期トラブルは、難しいプログラムより、ファイル名や読み込み先の違いで起きることが多くあります。

症状 主な確認点
ページが表示されない index.htmlがあるかどうか、公開フォルダー、URL、アップロード先
CSSが反映されない linkのパス、ファイル名、拡張子、キャッシュ、記述エラー
画像が出ない srcのパス、大文字・小文字、ファイル名、アップロード漏れ
リンク先が404になる href、相対パス、階層、URL末尾、ファイルの場所
日本語が文字化けする UTF-8保存、meta charset、サーバー設定
スマホで横にはみ出す 固定幅、画像、表、長い文字列、viewport
パソコンでは動くが公開先で動かない 大文字・小文字、絶対・相対パス、サーバー仕様
修正したのに変わらない ブラウザーや配信側のキャッシュ、別ファイルの編集

WindowsやmacOSのローカル環境では同じものとして扱われたファイル名でも、公開サーバーでは大文字・小文字を区別する場合があります。Main.jpgmain.jpgを混在させないよう、命名規則を統一します。

相対パスは、現在のHTMLファイルから見たCSSや画像の場所を示します。ページの階層を変更すると読み込み先も変わるため、フォルダー構成とパスの関係を理解する必要があります。

また、サンプルコードを継ぎ足し続けると、同じ要素に異なるCSSが重なり、どこを直すべきか分からなくなります。問題が起きたら、直前の変更を戻し、小さな範囲へ分けて確認します。

公開前の確認とアップロード

ローカルで完成した後、公開前チェックを行い、サーバーへアップロードします。

内容とHTML

  • ページごとにtitle、meta description、H1が内容と一致している
  • H1、H2、H3の階層が意味に沿っている
  • 会社名、住所、料金、営業時間などの事実が正しい
  • 仮の文章、サンプル画像、空リンクが残っていない
  • 画像の代替テキストと使用権を確認した
  • 言語、文字コード、viewportを設定した

表示と操作

  • Chrome、Safari、Firefox、Edgeなどで主要ページを確認した
  • スマートフォン、タブレット、パソコンで崩れない
  • キーボードでメニュー、リンク、フォームを操作できる
  • 文字と背景のコントラストが読みやすい
  • 画像、動画、外部フォントが重すぎない
  • JavaScriptが動かない場合も重要情報へアクセスできる

リンクと機能

  • メニュー、内部リンク、外部リンクが正しい
  • 電話、地図、メール、SNSのリンクを実際に試した
  • 404ページと存在しないURLの動作を確認した
  • フォームの入力、送信、通知、完了画面を確認した
  • APIキーやパスワードを公開ファイルへ書いていない

公開環境

  • 正式な公開フォルダーを確認した
  • 独自ドメインが正しいサーバーへ接続されている
  • SSLを設定し、https://で警告なく表示できる
  • http://や別URLから正式URLへ必要な転送がある
  • 検索させないテストファイルやバックアップを公開していない
  • アクセス解析とSearch Consoleの確認方法を決めた

アップロード前に、公開中ファイルをバックアップします。フォルダー全体を無条件に上書きせず、追加・変更・削除するファイルを確認します。

アップロード後は、パソコン内のファイルではなく、https://で始まる公開URLを開いて確認します。シークレットウィンドウや別端末を使い、ログイン情報やキャッシュがない状態でも表示できるか確認しておきましょう。

静的サイトはWordPressのような管理画面を持たないため攻撃対象を減らせる場合がありますが、自動的に安全になるわけではありません。サーバーアカウント、転送用認証情報、フォーム、JavaScript、外部サービス、公開ファイルを管理する必要があります。ホームページのセキュリティ・SSL対策もあわせてご覧ください。

CMSやノーコードへ切り替える判断基準

HTML・CSSで作り始めても、運用条件が変わればCMSやノーコードへ切り替えて構いません。次の項目が増えたときは、管理方法を再検討します。

  • 更新担当者がHTMLを編集できない
  • お知らせや事例を頻繁に追加する
  • ページ数が増え、ヘッダー・フッターの共通修正が負担になる
  • 複数人で下書き、確認、公開を分担したい
  • 画像やファイルを管理画面から整理したい
  • フォーム、予約、商品、会員などを管理したい
  • 公開履歴、権限、予約公開、復元が必要
  • コードの保守担当者を確保できない

判断の目安は、初期制作の簡単さだけではなく、公開後に誰がどの頻度で変更するかです。

状況 検討しやすい方法
数ページで更新が少なく、コードを管理できる HTML・CSSの静的サイト
お知らせ・事例・固定ページを自分で増やす WordPressなどのCMS
サーバー保守を減らし、用意された範囲で作る クラウド型ノーコード
見本・試作品を短時間で共有する ノーコードやデザインツール
独自機能や複雑な連携がある 要件に合うシステム開発・専門家への相談

既存のHTMLサイトをCMSへ移す場合、デザインだけでなく、URL、title、本文、画像、内部リンク、転送、フォーム、解析設定を引き継ぎます。URLが変わるページには適切なリダイレクトが必要です。

自作方法全体の比較は自分でホームページを作成する方法、CMSとの違いはCMS・ノーコードでホームページを作る方法で解説します。

よくある質問

HTMLとCSSだけでホームページは作れますか

文章、画像、リンクを中心とする案内サイトなら作れます。メニューの開閉などにJavaScriptを使う場合があります。問い合わせ送信、予約、会員、検索などには、サーバー側の処理や外部サービス、CMSなどが必要です。

HTML・CSSの作成に料金はかかりますか

無料のコードエディターとブラウザーを使えば、制作自体は無料で始められます。正式公開では、一般にサーバーと独自ドメインの費用がかかります。フォームや外部サービスを使う場合は追加料金も確認しておきましょう。

HTMLはどれくらい勉強すればホームページを作れますか

簡単な1ページなら、文書構造、見出し、段落、画像、リンクと基本的なCSSを学べば試作できます。事業用として公開するには、レスポンシブ対応、アクセシビリティ、SEO、ブラウザー確認、サーバー公開、安全管理なども必要です。

スマホだけでHTMLホームページを作れますか

コード編集アプリやブラウザーサービスを使えば可能ですが、複数ファイル、長いコード、画像、開発者ツール、サーバーへのアップロードを扱うため、一般にはパソコンのほうが作業しやすい方法です。

HTMLで作ればSEOに強くなりますか

HTMLで作ったことだけで検索順位が上がるわけではありません。検索意図に合う内容、title、見出し、内部リンク、モバイル対応、表示速度、クロール・インデックスなどを適切に整える必要があります。

FTPソフトは必須ですか

必須ではありません。サーバーのファイルマネージャー、SFTP・FTPS対応ソフト、公開サービスの連携機能など、環境に合う方法を使えます。サーバー会社が正式に案内する安全な方法を選びましょう。

HTMLサイトを後からWordPressへ変更できますか

変更できます。ただし、HTMLファイルをそのまま入れるだけで完了するとは限りません。テーマや固定ページとして再構築し、URL、本文、画像、内部リンク、フォーム、リダイレクト、SEO設定などを移行します。

次に確認するガイド

ホームページ作成ツール・ソフトの比較と選び方このガイドを確認する ホームページのスマホ対応・レスポンシブ対応このガイドを確認する ホームページ用サーバーの役割と選び方このガイドを確認する

参考情報