【ITニュース解説】BASICS OF HTML CSS JAVASCRIPT
2025年09月20日に「Dev.to」が公開したITニュース「BASICS OF HTML CSS JAVASCRIPT」について初心者にもわかりやすく解説しています。
ITニュース概要
HTMLはウェブの骨格、CSSは見た目、JavaScriptはインタラクティブ性を担う。タグとエレメント、フレームワークとライブラリの違いを学び、HTMLリストで情報を整理。ヘッダー、フッター、セクションでウェブページの構造を意味づける、基本知識のまとめ。
ITニュース解説
ウェブページを作成する上で不可欠な三つの基本技術、HTML、CSS、JavaScriptについて解説する。これらはウェブサイトの構造、見た目、そして動きを担当する重要な要素である。
まず、HTML(HyperText Markup Language)は、ウェブページの内容を構造化するための標準的な言語である。ウェブページの骨格を定義し、見出し、段落、画像、リンク、フォームといった様々なコンテンツを配置する役割を担う。HTMLはプログラミング言語ではなく、マークアップ言語に分類される。ウェブページの構成要素を示すために、「タグ」というキーワードを用いる。例えば、<p>は段落を示すタグであり、<img>は画像を示すタグである。タグは山括弧(< >)で囲まれる。一方、「エレメント」とは、開始タグ、内容、そして終了タグからなる完全な構造体を指す。例えば、<p>Hello.</p>という全体がエレメントであり、<p>は単なるタグである。タグがマーカーのようなもので、エレメントはそのマーカーで示された内容を含む完全な単位であると理解できる。
次に、CSS(Cascading Style Sheets)は、HTMLによって構造化されたコンテンツにスタイルを適用するための言語である。ウェブページの色の設定、フォントの種類やサイズ、要素の配置、アニメーション効果など、デザインやレイアウト、見た目のあらゆる側面を制御する。HTMLがページの骨格を作るのに対し、CSSはその骨格に肉付けをして装飾を施す役割を持つ。これにより、構造(HTML)と見た目(CSS)が明確に分離され、ウェブサイトの管理がしやすくなるという利点がある。
そして、JavaScript(JS)は、ウェブページにインタラクティブ性や動的な機能をもたらすプログラミング言語である。例えば、フォームの入力値の検証、画像のスライドショー、ドロップダウンメニューの開閉、リアルタイムなコンテンツの更新といった、ユーザーの操作に応じて変化する機能を実装できる。JavaScriptは主にウェブブラウザ上で実行されるクライアントサイドの言語だが、Node.jsなどの環境を使えばサーバーサイドでも動作させることが可能だ。
ウェブ開発でよく聞かれる「フレームワーク」と「ライブラリ」についても触れておく。ライブラリは、特定の機能を果たすための再利用可能な関数の集まりであり、必要に応じて開発者が呼び出して利用する。例えば、jQueryやLodashがこれにあたる。一方、フレームワークは、開発のための構造化された環境を提供し、多くの場合、フレームワークが開発者のコードを呼び出す形で動作する。ReactやAngularが代表的な例である。両者の主な違いは、「制御の反転(Inversion of Control)」にある。ライブラリを使う際は開発者がプログラムの実行フローを制御するが、フレームワークを使う際はフレームワークが全体の実行フローを制御し、特定のタイミングで開発者のコードを呼び出す。
HTMLでは、関連する項目を構造的にまとめるために「リスト」が頻繁に用いられる。リストは、メニュー、手順、コレクションなど、内容を整理するのに役立つ。HTMLには目的によって異なる種類のリストが存在する。
一つ目は「順序付きリスト(<ol>)」である。このリストの項目は、数字、ローマ数字、アルファベットなど、特定の順序で表示される。各項目は<li>(リストアイテム)タグで囲まれる。例えば、料理のレシピの手順のように、「1. 材料を混ぜる 2. オーブンで焼く 3. 冷ます」といった形で順序が重要な場合に用いられる。
二つ目は「順序なしリスト(<ul>)」である。このリストの項目は、黒丸(●)などの箇条書きで表示され、特定の順序は持たない。例えば、ショッピングリストのように、「• りんご • 牛乳 • パン」といった、項目の順番が重要ではない場合に利用される。
三つ目は「定義リスト(<dl>)」である。これは用語とその定義を記述するために使用される。<dt>タグが定義する用語(Definition Term)を、<dd>タグがその用語の定義(Definition Description)を示す。例えば、用語集やFAQ(よくある質問と回答)などで、「HTML HyperText Markup Language」「CSS Cascading Style Sheets」のように、用語と説明をペアで表示する際に便利である。デフォルトでは、<dt>の用語は太字で表示され、<dd>の定義はその下に字下げされて表示される。
さらに、ウェブページの構造を意味的に明確にするために、HTMLでは<header>、<footer>、<section>といった要素が活用される。
<header>は、ウェブページ全体または特定のセクションの冒頭部分を示す。通常、サイトのロゴ、タイトル、ナビゲーションメニューなどが含まれる。ページの上部やセクションの開始位置に一度だけ配置されることが多い。
<footer>は、ウェブページ全体または特定のセクションの末尾部分を示す。著作権情報、連絡先、SNSへのリンクなどがよく配置される。ページの最下部に一度だけ配置される。
<section>は、ウェブページ内でテーマ的に関連するコンテンツのまとまりを示す。見出し、段落、画像、記事などを含めることができ、ページを意味のあるブロックに分割するのに役立つ。
これらの要素を使用する理由は、単に見た目を整えるだけでなく、より深い意味がある。
<header>を使うことで、それが「ページの最上部またはセクションの冒頭部分」であると明確に示せるため、コンテンツが持つセマンティック(意味論的)な価値が高まる。これにより、検索エンジンはヘッダー内のコンテンツ(ナビゲーション、サイト名など)の重要性を理解しやすくなり、SEO(検索エンジン最適化)に良い影響を与える。また、スクリーンリーダーなどの支援技術を利用する視覚障害者にとっても、ヘッダーがどこにあるか識別しやすくなり、アクセシビリティが向上する。
<footer>も同様に、それが「ページの終わりや補足情報が記述された部分」であることを明確に示すセマンティックな意味を持つ。連絡先情報や著作権表示、関連リンクといったページの下部に配置される情報を一貫して配置できる。これもアクセシビリティやSEOの観点から、ツールやクローラーがページの終了部分を正しく認識するのに役立つ。
<section>は、関連するコンテンツを意味のあるブロックにグループ化することで、ウェブページを整理するのに貢献する。<div>タグのようにただコンテンツを囲むだけでなく、「この部分は独立した一つのトピックである」とブラウザに伝えるセマンティックな構造を提供する。これにより、開発者にとっても検索エンジンにとってもコードの可読性が向上し、SEOにも良い影響を与える。例えば、「会社概要」「サービス紹介」といったテーマごとのコンテンツを<section>で区切ることで、ページの構造がより明確になる。
これらのHTML、CSS、JavaScriptの基本的な理解は、システムエンジニアを目指す上でウェブ開発の基礎を築くために不可欠な知識である。