Webページは3つの言語の組み合わせでできている
普段何気なく見ているWebページの多くは、「HTML」「CSS」「JavaScript」という3つの技術が組み合わさってできています。それぞれ役割がはっきり分かれているので、家づくりに例えて理解してみましょう。
HTML:骨組み・構造を作る
HTML(エイチティーエムエル)は、「見出しはここ」「文章はここ」「画像はここ」といった、ページの骨組み・構造を作る役割を持っています。家づくりで言えば、柱や壁の位置を決める「設計図」にあたります。HTMLだけで作られたページは、装飾のない、文字と画像が上から並んだだけの見た目になります。
具体的には、見出しを表す<h1>、段落を表す<p>、画像を表す<img>といった「タグ」と呼ばれる目印を使って、文書の意味的な構造を組み立てていきます。この「意味付け」がしっかりしているほど、検索エンジンや音声読み上げソフトも、ページの内容を正確に理解しやすくなります。
CSS:見た目・デザインを整える
CSS(シーエスエス)は、HTMLで作った骨組みに対して、色・フォント・余白・配置といった見た目を指定する役割を持っています。家づくりで言えば、壁紙や家具の色、部屋のレイアウトを決める「内装」にあたります。同じHTMLの骨組みでも、CSSの当て方次第でまったく印象の違うページになります。
例えば「見出しの文字を青くして、少し大きく表示する」「ボタンにマウスを乗せたら色を変える」といった指定は、すべてCSSの役割です。HTML側の文書構造には一切手を加えず、見た目だけを差し替えられるのが特徴で、これにより同じ内容のページでも、デザインだけを丸ごと着せ替えることができます。
JavaScript:動き・機能をつける
JavaScript(ジャバスクリプト)は、ボタンをクリックしたら画面の一部が変化する、フォームに正しく入力しないとエラーが出る、といった動き・機能を実現する役割を持っています。家づくりで言えば、自動ドアや照明のスイッチのような「電気設備」にあたります。JavaScriptがないページは、静止画のように動きのないページになります。
「メニューボタンを押すとナビゲーションが開く」「入力欄に文字数を数えて表示する」「送信前に入力漏れがないかチェックする」といった、利用者の操作に反応する仕組みは、基本的にJavaScriptによって実現されています。
初心者がつまずきやすいポイント
学び始めの段階で、次のような混同がよく起こります。
- 見た目の調整をJavaScriptで頑張ってしまう:色やレイアウトの変更は、本来CSSの仕事です。JavaScriptで無理に見た目を操作しようとすると、コードが複雑になりがちです
- HTMLに装飾のためだけのタグを増やしてしまう:見た目を整えたいだけなら、HTMLではなくCSS側で調整するのが基本です。HTMLはあくまで「意味のある構造」を表すことに専念させると、後々の修正がしやすくなります
- 3つを同時に学ぼうとして混乱する:先述の通り、まずはHTMLで「何を表示するか」を組み立てられるようになってから、CSS・JavaScriptへ進むと理解がスムーズです
学び始めの人を見ていると、つまずく順番にも共通のパターンがあります。最初はHTMLの意味がすんなり理解できても、CSSで「なぜ思った通りの見た目にならないのか」で足踏みし、JavaScriptに入ると今度は「何が起きているのか処理の流れが追えない」という壁にぶつかる、という具合です。この3段階を、あらかじめ「そういうものだ」と知っておくだけでも、心理的なハードルはだいぶ下がります。