たとえるなら

このサイトのマスコット、帽子をかぶった青い小鳥のルートンが旗を振っている

家づくりにたとえると、HTMLが柱と壁、CSSが壁紙とインテリア、JavaScriptが電気やドアの開閉です。柱だけの家(HTMLだけ)でも住めなくはないですが、飾り付け(CSS)と動く設備(JavaScript)がそろって、初めて快適な家になります。

JavaScript ページの動きを作る CSS 見た目の飾り付け HTML 文章の骨組み(土台)
骨組みの上に飾り付けと動きが乗る。3つの役割分担でWebページはできている。

もう少しくわしく

あなたが見ているWebページは、ほぼすべてこの3つの言葉でできています。HTMLは「ここが見出し、ここが本文、ここが画像」という文章の構造(骨組み)を書くための言語です。HTMLだけでもページとして表示はできますが、飾り気のない文書のような見た目になり、押して反応する部分もありません。Web制作の話に必ず出てくる3点セットなので、役割の違いをまとめて覚えるのが早道です。

CSSは「見出しは大きな青い文字に、写真は丸く切り抜いて」という見た目の飾り付けを担当します。画面の幅に応じて並びを変えるのもCSSの仕事です。そしてJavaScriptは「ボタンを押したらメニューが開く」「入力ミスをその場で知らせる」「画面を切り替えずに新しい情報を読み込む」といった、ページ上の動きを作ります。3つは役割が違うだけで、優劣があるわけではありません。

3つの関係でつまずきやすいのは、どれも「言語」と呼ばれるのに性質が違う点です。HTMLは文書の構造を示すマークアップ言語、CSSは見た目を指定するスタイルシート言語で、計算や条件分岐の手順を書くプログラミング言語はこの3つの中ではJavaScriptだけです。また、名前が似ているJavaとJavaScriptはまったく別の言語で、生まれも用途も違います。

現場では、この3つを扱う担当を「フロントエンド」と呼びます。デザイナーが作った画面案をもとにHTMLとCSSで見た目を組み、JavaScriptで動きを付け、サーバー側から受け取ったデータを画面に出す、という進め方です。役割が分かれているので分業ができるのが強みで、「見た目だけ直したいときはCSSだけ触る」という判断ができます。実際の開発では、Reactなどの土台と組み合わせることも多いです。

よくある失敗は、見た目を整えるために骨組みを崩してしまうことです。見出しではない文字を見出しとして書くと、検索エンジンや読み上げソフトが内容を正しく読めなくなります。もうひとつは、CSSだけで足りる調整をJavaScriptで力任せに作り込むこと。動きは付きますが、あとから直しにくく、表示が遅くなる原因にもなります。

学ぶときは、HTML → CSS → JavaScriptの順が定番の道筋です。骨組みがわからないまま動きから入ると、いまどこを直しているのか見えなくなります。エンジニアではない立場の人は、修正を頼むときに「文字の色を変えたい(CSSの話)」「押したときの動きを変えたい(JavaScriptの話)」と分けて伝えると、見積もりが早く返ってきます。

この3つはブラウザがその場で受け取って画面を組み立てているため、利用者のブラウザや端末によって見え方が変わることがあります。だから開発では、パソコンとスマートフォンの両方で確認する作業が欠かせません。仕様は少しずつ更新されていて、以前はJavaScriptが必要だった表現がCSSだけで書けるようになる、といった変化も続いています。

現場での使われ方

「その見た目の調整なら、CSSだけで直せますよ」

プログラムの本体を触らずに、飾り付け担当のCSSの修正だけで対応できるという見積もりの話です。影響する範囲が小さく短い時間で済むため、気軽に頼みやすい修正です。

「この画面、JavaScriptが多くて動きが複雑なんです」

ページ上の動きを作る処理がたくさんあり、修正やテストに手間がかかるという状況の説明です。小さな変更でも、動きが絡む箇所すべてを確かめ直す必要が出てきます。

「HTMLの構造から直したいので、少し時間をください」

骨組みの組み方そのものに手を入れたいという相談です。見た目の調整だけより影響が広く、表示の崩れがないかを画面ごとに確かめる作業も必要になります。

「そこはフロントの担当範囲ですね」

HTML・CSS・JavaScriptで作る画面側の話なので、サーバー側の担当ではないという切り分けです。誰に頼めばよいかを整理する言い方で、押しつけ合いではありません。

よくある質問

JavaScriptとJavaは同じものですか?

名前は似ていますが別の言語です。JavaScriptは主にWebページの動きを作る言語、Javaは業務システムやAndroidアプリなどで使われる言語で、生まれも用途も異なります。現場でも混同しないよう注意される定番のポイントなので、最初に覚えておくと安心です。

HTMLとCSSはプログラミング言語ですか?

厳密には、HTMLは文書の構造を示す「マークアップ言語」、CSSは見た目を指定する「スタイルシート言語」と呼ばれ、計算や判断の手順を書くプログラミング言語とは区別されます。ただし現場では3つまとめて語られることも多いので、文脈で読み取れば十分です。

3つはどの順番で学ぶのがいいですか?

HTML、CSS、JavaScriptの順が定番です。骨組みを書けるようになってから見た目を整え、最後に動きを付けると、それぞれの役割が混ざらずに理解できます。先に動きから入ると、いまどこを直しているのかが見えなくなりがちなので、順番を守るのが結局は近道です。

3つとも覚えないとWebページは作れませんか?

HTMLとCSSだけでも、読み物としてのページは作れます。ただし押したら開くメニューや入力内容のその場でのチェックなど、動きのある部分にはJavaScriptが必要です。仕事として関わるなら、3つとも基本を知っておくと話が通じやすくなります。

HTMLやCSSを直すと、システム側にも影響しますか?

見た目だけの修正なら、影響は画面の中にとどまることが多いです。ただし入力欄の作りや送信の仕組みに手を入れると、サーバー側の処理にも関わってきます。どこまで影響するかは見た目から判断できないので、頼む前に担当者へ確認しておくのが確実です。小さな依頼でも一度聞くのが安全です。

関連用語

関連する記事

エンジニア職種図鑑

この言葉を使って働く人たちの仕事を、7つの職種で

ITの学び方ガイド

もっと知りたくなったら。教材の選び方を3ステップで