HTML・CSSに関するプログラミング用語55選!超重要
HTML・CSSに関するプログラミング用語について調べると、さまざまな説明や意見が見つかり、どれが正しいのか気になってしまう人も多いのではないでしょうか。Webサイト制作の学習を始めたばかりの人にとっては、似たような言葉が多く、それぞれの違いや使われる場面を把握するのが難しいと感じることもあります。
また、HTMLとCSSはWebページを作るうえで欠かせない技術ですが、専門用語の意味を十分に理解できないまま学習を進めると、解説記事や教材を読んでも内容をつかみにくくなる場合があります。実際にコードを見たときに、タグや属性、セレクターなどの言葉が何を指しているのか分からず、戸惑うこともあるでしょう。
一方で、プログラミング用語について調べてみると、基本的な言葉からレイアウトやデザインに関する専門用語まで幅広く紹介されており、何から把握すればよいのか迷う人もいます。初心者向けの説明でも、用語の意味や使い方に違いがあるように感じられ、疑問が残ることもあります。そこで以下に詳細についてまとめてみました。
HTML・CSSに関するプログラミング用語
HTML・CSSの用語を知っておくと、Webページの構造や見た目がどのように作られているのか理解しやすくなります。教材や技術記事を読むときも、用語の意味が分かれば説明の意図をつかみやすくなり、学習を進める助けになります。基本用語とレイアウトに関する用語を幅広く理解することは、コードを読み書きする力を身につけるうえでも重要です。
HTMLでは、要素ごとに意味や役割が決められています。例えば、見出しにはh1やh2、段落にはp、リンクにはaを使用します。目的に合った要素を選ぶことで、文書の構造を明確にでき、ブラウザーや検索エンジン、支援技術にも情報が伝わりやすくなります。
HTML自体は、文字の色や配置などのデザインを細かく指定するための言語ではありません。見た目の調整は主にCSSが担当し、動きや操作への反応はJavaScriptなどで実現します。まずHTMLの役割を理解すると、それぞれの技術がどのように連携してWebページを構成するのか把握しやすくなります。
一般的なHTML要素は、開始タグと終了タグの間にテキストなどの内容を記述します。ただし、画像を表示するimg要素や改行を表すbr要素のように、終了タグを持たない要素もあります。また、要素には属性を指定でき、リンク先や画像の代替テキストなどの追加情報を設定できます。
HTML要素の役割を理解すると、ソースコードを見たときに各部分が何を表しているのか読み取りやすくなります。意味に合った要素を選ぶことは、アクセシビリティや検索エンジンによる内容の理解にも関係します。見た目だけで判断せず、要素本来の意味を踏まえて使うことが大切です。
HTMLには見出しを表すh1やh2、リンクを表すa、画像を表示するimgなど、多くのタグがあります。それぞれのタグには決められた役割があり、用途に合わないタグを使うと、文書の構造が分かりにくくなる場合があります。開始タグと終了タグの対応関係にも注意が必要です。
タグはHTMLを学ぶうえで最初に触れる基本用語ですが、タグ名を暗記するだけでは十分ではありません。各タグの意味や使用条件を理解し、適切な場面で使うことが重要です。よく使われるタグから役割を覚えていくと、既存のHTMLを読む力や、自分でページを組み立てる力を身につけやすくなります。
HTMLには、さまざまな目的で使われる属性があります。id属性は要素を識別する名前を設定し、class属性は複数の要素をグループ化するときなどに利用します。alt属性は画像の代替テキストを指定し、入力要素のtype属性は入力方法を選ぶために使われます。属性によって使用できる要素や値が異なる点も特徴です。
属性の役割を理解すると、HTMLのコードを読んだり、リンクや画像、フォームを作成したりするときに役立ちます。属性名と値を誤って記述すると、意図した動作にならない場合もあります。必要な属性を適切に設定し、その意味を把握することが、正確で使いやすいWebページを作るための基本になります。
見出しは、文字を大きくしたり太字にしたりするためだけの要素ではありません。文章の階層や内容の関係を示す役割があるため、見た目の好みだけで順番を決めないことが重要です。例えば、ページ全体の主題をh1で示し、その下の大きな区分をh2、さらに細かな区分をh3で表す方法があります。
見出しの階層を整理すると、長い記事でも読者が必要な情報を探しやすくなります。また、検索エンジンやスクリーンリーダーがページ構造を理解する際にも役立ちます。デザインを変えたい場合はCSSを使い、HTMLでは内容に合った見出し要素を選ぶことが、読みやすいWebページの作成につながります。
段落は、単に画面上で改行することとは異なります。文章の意味が続いている場合と、新しい話題に移る場合を考え、内容に応じて区切ることが大切です。表示上の余白や行間を調整したいときはCSSを使用し、HTMLでは文章の構造が正しく伝わるようにp要素を配置します。
段落の使い方を理解すると、記事や説明文、紹介ページなどのコンテンツを構成しやすくなります。p要素の中に別のp要素を入れるなど、誤った入れ子構造を避けることも重要です。文章を意味ごとに整理してマークアップすれば、読者にも支援技術にも内容のまとまりが伝わりやすくなります。
リンクのテキストには、移動先や操作内容が分かる言葉を使うことが重要です。「こちら」だけでは目的が伝わりにくいため、リンク先の内容を示す表現が役立ちます。新しいタブで開く場合などは、利用者が予想しやすいように配慮し、必要に応じて安全性に関係する属性も設定します。
リンクは、Webサイトの回遊性や情報の見つけやすさに関係する基本的な要素です。リンク先が正しいか、リンクテキストが分かりやすいかを確認すると、利用者が迷いにくいページになります。CSSで色や下線などの表示を調整することもできますが、リンクであることが視覚的にも伝わるデザインにすることが大切です。
画像の表示サイズは、width属性やheight属性、またはCSSで指定できます。画面幅に合わせて画像を縮小したい場合は、CSSのmax-widthなどを利用する方法があります。画像の比率を保ち、周囲の文章やレイアウトとのバランスを整えることで、さまざまな画面でも見やすいページを作りやすくなります。
画像を掲載する際は、表示されることだけでなく、読み上げ機能を利用する人への配慮も必要です。情報を伝える画像には内容に合ったaltテキストを設定し、装飾だけの画像では適切に空の代替テキストを指定します。画像の容量にも気を配ると、ページの読み込み速度を保ちやすくなります。
form要素では、送信先を指定するaction属性や、データの送信方法を示すmethod属性などを設定できます。入力欄には、名前やメールアドレスなどの項目に合った入力要素を使います。必須項目や入力形式を適切に設定すると、利用者が必要な情報を入力しやすくなり、入力ミスを減らすことにもつながります。
フォームを設計する際は、入力できることだけでなく、項目名や説明が分かりやすいことも重要です。各入力欄にラベルを関連付け、エラーが起きた場合には修正方法を伝える工夫が役立ちます。また、個人情報を扱うフォームでは、送信先やデータの取り扱いにも配慮し、安全で使いやすい設計を目指します。
入力要素を選ぶときは、利用者に入力してもらいたい情報や操作方法を考えることが重要です。短い文字列にはテキスト入力欄、長文にはtextarea、複数の候補から選ぶ場合にはselectなどが適しています。必須入力や入力形式の制約を設定できる属性もあり、適切に利用すると入力の負担を減らせます。
入力要素には、項目の意味を伝えるラベルや、入力例を示す説明などを組み合わせることが大切です。placeholderだけに項目名を任せると、入力を始めた後に内容が分かりにくくなる場合があります。入力要素の役割と使い方を理解し、アクセシビリティや操作のしやすさに配慮して配置すると、使いやすいフォームにつながります。
すべてをdiv要素やspan要素だけで構成すると、見た目は整えられても、各部分がどのような役割を持つのか伝わりにくくなる場合があります。意味に合った要素を使えば、ブラウザーや検索エンジン、スクリーンリーダーなどがページ構造を理解する助けになります。見出しの階層やランドマークの使い方も重要です。
セマンティックHTMLを意識することは、読みやすく保守しやすいコードを書くうえでも役立ちます。コードを見ただけで領域の目的が分かれば、後から修正する際にも構造を把握しやすくなります。見た目のデザインはCSSで調整しつつ、HTMLでは内容の意味に合った要素を選ぶことが基本となります。
DOCTYPEが正しく記述されていない場合、ブラウザーが互換モードでページを表示することがあります。互換モードでは古い仕様に近い表示やレイアウトの挙動になる場合があり、意図したデザインと異なる結果につながる可能性があります。そのため、HTML文書を作成するときは、DOCTYPEを文書の先頭に置くことが重要です。
DOCTYPEは、HTMLのタグや属性のようにページ内の文章を表示する要素ではありません。文書をどのように解釈するかをブラウザーに知らせる宣言です。意味を理解しておけば、HTMLファイルの冒頭にある記述の役割が分かり、ページの表示に関係する基本的な仕組みも把握しやすくなります。
代表的な指定には、文字コードを示すcharset属性や、ページの説明を記述するname=”description”、表示領域を設定するname=”viewport”などがあります。それぞれ用途が異なり、ページの内容や表示環境に合わせて設定します。特に文字コードの指定は、文章が文字化けせずに表示されるようにするうえで重要です。
メタタグを理解すると、HTML文書のhead要素に書かれた記述が何のためにあるのか分かりやすくなります。ただし、meta要素を追加すれば検索順位が必ず上がるわけではありません。設定する情報の目的を理解し、内容と一致した適切な値を記述することが、正確なページ情報を伝えるために大切です。
例えば、画像だけで情報を伝えると、画像を見られない利用者には内容が伝わらないことがあります。代替テキストを設定したり、色だけに頼らず文字や記号も併用したりすると、情報を理解しやすくなります。また、キーボードだけでも主要な操作ができることや、入力欄の目的が明確であることも重要です。
アクセシビリティを考慮したWebページは、支援技術を使う人だけでなく、スマートフォンで閲覧する人や、一時的に操作が制限されている人にも利用しやすくなります。HTMLの意味に合った要素を選び、CSSの文字サイズや色のコントラストにも配慮することで、より多くの人に情報を届けやすいページを目指せます。
ARIAを使うと、カスタムボタンや展開式メニューなどの状態を支援技術に伝えやすくなります。ただし、ARIAを追加するだけで操作性が自動的に改善するわけではありません。キーボード操作やフォーカスの移動、状態の更新なども適切に実装する必要があります。標準のHTML要素で目的を実現できる場合は、まずその利用を検討します。
ARIAはアクセシビリティを高めるための有用な仕組みですが、誤った属性や役割を指定すると、利用者に誤解を与える可能性があります。属性の意味と使い方を理解し、必要な場面で正しく利用することが重要です。HTMLの基本要素を土台にして、必要に応じてARIAを補助的に使う考え方が役立ちます。
CSSでは、どの要素にスタイルを適用するかをセレクターで指定し、プロパティと値を組み合わせて見た目を定義します。例えば、文字色を変えるcolorや、余白を設定するmarginなどがあります。スタイルはHTML内に記述することも、別のCSSファイルにまとめることもでき、サイト全体のデザインを管理しやすくなります。
CSSの基本を理解すると、Webページのデザインを調整したり、複数のページで統一感を保ったりしやすくなります。レイアウトや装飾の指定が増えると、ルールの競合や優先順位の理解も必要です。基本的な構文に加え、カスケードやボックスモデル、レスポンシブデザインなどを学ぶことで、より柔軟な表示を実現できます。
セレクターには、要素名、クラス、IDのほか、要素の状態を指定する疑似クラスや、特定の部分を装飾する疑似要素などがあります。複数の条件を組み合わせれば、より細かく対象を選ぶことも可能です。ただし、複雑すぎる指定は読みづらく、後から変更する際に管理しにくくなる場合があります。
セレクターの使い方を理解すると、CSSの適用範囲を意図どおりに調整しやすくなります。同じスタイルを複数の要素に適用したい場合はクラスを活用し、ページ内の特定の要素を識別したい場合はIDを使うなど、目的に応じて選ぶことが大切です。適切な設計は、保守しやすいCSSにつながります。
プロパティごとに設定できる値や指定方法は異なります。色を指定するものもあれば、長さや割合、キーワードを設定するものもあります。例えば、displayは要素の表示形式、positionは配置方法、overflowは領域からはみ出した内容の扱いを指定します。目的に合うプロパティを選び、正しい値を設定することが必要です。
プロパティを理解すると、デザインの調整方法を具体的に考えられるようになります。文字の見た目だけでなく、余白や配置、画面幅に応じた表示など、多様な要望に対応できます。すべてを一度に覚える必要はありませんが、よく使うプロパティから役割と値の種類を把握すると、CSSの学習を進めやすくなります。
値の種類はプロパティによって異なり、色名やカラーコード、長さの単位、割合、数値、特定のキーワードなどがあります。例えば、displayにはblockやflex、positionにはrelativeやabsoluteなどを指定できます。利用できない値を設定した場合、ブラウザーがその宣言を無視することがあるため、プロパティに対応した値を選ぶ必要があります。
CSSの値を理解すると、コードを見たときにスタイルの指定内容を読み取りやすくなります。pxやremなどの単位の違いを知ることも、画面サイズや文字サイズに応じた調整に役立ちます。プロパティと値を組み合わせて考え、実際の表示を確認しながら使い方を身につけると、意図したデザインを実現しやすくなります。
クラスは、同じ見た目や役割を持つ要素をまとめて管理するときに便利です。例えば、注意書き、ボタン、カード、強調表示などにクラスを設定すれば、共通するデザインを一括して指定できます。HTML側のクラス名とCSS側のセレクターが一致していることが必要で、スペルの違いがあるとスタイルが適用されません。
クラスセレクターを活用すると、HTMLの構造とCSSのデザインを分けて管理しやすくなります。複数の要素に同じクラスを使えるため、サイト内で統一感を持たせる際にも役立ちます。クラス名は役割や用途が分かるものにし、過度に細かな指定を避けると、後からデザインを変更するときにも扱いやすくなります。
クラスセレクターと異なり、IDは同じHTML文書内で複数の要素に重複して付けないようにします。ページの主要な領域や、ページ内リンクの移動先を示す識別子などに使われることがあります。CSSでIDを指定すると詳細度が高くなるため、スタイルの優先順位を管理する際には注意が必要です。
IDセレクターは、特定の要素に限定してスタイルを適用したい場合に便利ですが、頻繁に使いすぎるとCSSの変更が難しくなる場合があります。繰り返し使うデザインにはクラスセレクターを活用し、IDは一意の識別が必要な場面で使うなど、目的に合わせて使い分けることが保守性の高いコードにつながります。
疑似クラスには、リンクが訪問済みかどうかを示す:visited、フォームの入力要素が有効かどうかを判定する:valid、親要素内での位置を指定する:nth-child()などがあります。ボタンにマウスを重ねたときに色を変えたり、入力内容に応じて表示を変えたりする場合に役立ちます。対象となる状態や条件を正しく理解することが大切です。
疑似クラスを利用すると、利用者の操作や要素の状態に反応するデザインを作りやすくなります。ただし、マウス操作だけに頼るとキーボード利用者に分かりにくい場合があるため、:focusなども適切に設定します。状態に応じた視覚的な変化を加えることで、操作の手がかりを伝え、使いやすさを高められます。
疑似要素は、アイコンの補助や装飾線、吹き出しのしっぽ、見出しの前に置くマークなど、デザイン上の表現に利用されます。::beforeや::afterで文字などを生成する場合は、contentプロパティを指定するのが基本です。ただし、重要な情報や操作に必要な内容を疑似要素だけで表現すると、環境によって伝わりにくくなることがあります。
疑似要素を使うと、HTMLを複雑にせずに細かな装飾を加えられます。一方で、内容として必要な文章やリンクは、通常のHTML要素として記述することが適切です。疑似要素が担うのは主に表示上の補助や装飾であると理解し、HTMLの意味構造とCSSの見た目を分けて設計すると、保守しやすいページを作れます。
例えば、同じ要素の文字色を複数のルールで指定すると、すべての指定が同時に反映されるわけではありません。条件に基づいて優先される宣言が選ばれます。後から書いたルールが採用される場合もありますが、詳細度や重要度などが異なれば、単純に記述順だけで決まるわけではありません。
カスケードを理解すると、CSSを変更しても思ったとおりのスタイルにならない理由を調べやすくなります。ルールをむやみに追加するのではなく、どの宣言が適用されているか確認することが大切です。詳細度や継承との関係も押さえておくと、スタイルの競合を整理し、管理しやすいCSSを作成できます。
例えば、要素名だけを使ったセレクターと、クラス名を使ったセレクターで同じ文字色を指定した場合、ほかの条件が同じならクラスセレクターの指定が優先されます。ただし、詳細度だけで最終結果が決まるわけではなく、宣言の重要度や出どころ、記述順なども関係します。優先順位を正しく理解することが必要です。
詳細度を意識すると、CSSでスタイルが上書きされる原因を見つけやすくなります。IDや!importantを多用すると、後から変更したいときに優先順位の調整が難しくなる場合があります。必要以上に複雑なセレクターを避け、クラスを中心に一貫したルールを設計すると、修正や再利用がしやすいCSSにつながります。
継承を利用すると、ページ全体の基本的な文字色やフォントなどを親要素に指定し、細かな部分だけ個別に調整する設計ができます。一方、marginやpadding、borderなどは通常そのまま子要素に継承されません。プロパティの性質を理解していないと、親要素に指定したスタイルが反映されない、あるいは想定外に見える場合があります。
継承の仕組みを理解すると、同じスタイルを何度も指定する手間を減らし、CSSを整理しやすくなります。子要素に別の値を指定すれば、親から継承した値を上書きできます。どのプロパティが継承されるかを確認しながら設計すると、スタイルの重複や予期しない表示を減らし、管理しやすいコードを作れます。
CSSのwidthやheightで指定したサイズが、どの範囲を表すかはbox-sizingの設定によって異なります。初期状態のcontent-boxではコンテンツ領域のサイズを指定し、paddingやborderは外側に加算されます。border-boxではパディングとボーダーを含めたサイズを指定できるため、レイアウトの計算がしやすくなる場合があります。
ボックスモデルを理解すると、要素が想定より大きく表示されたり、隣の要素と間隔が合わなかったりする原因を調べやすくなります。余白や境界線を別々に考えることで、レイアウトを細かく調整できます。幅や高さだけでなく、パディングやマージンも含めて全体の寸法を把握することが、安定したページ制作につながります。
マージンには、pxやremなどの長さの単位のほか、割合やautoなどを指定できます。左右のmarginをautoに設定すると、幅が指定されたブロック要素を中央に配置できる場合があります。また、上下のマージンは条件によって隣接する値が相殺されることがあり、単純に足し合わせた距離にならない点にも注意が必要です。
マージンを適切に設定すると、文章や画像、ボタンなどの間隔が整い、ページ全体が読みやすくなります。パディングは要素の内側の余白を指定するのに対し、マージンは外側の間隔を扱うという違いを理解することが大切です。ボックスモデルと合わせて学ぶと、レイアウトの調整方法を把握しやすくなります。
パディングは、padding-topやpadding-rightなどで上下左右を個別に指定できるほか、paddingに複数の値をまとめて指定することもできます。パディングは要素の背景色が適用される領域に含まれ、通常は要素の外側の余白であるマージンとは異なります。ボックスモデルの理解と合わせて覚えることが重要です。
パディングを調整すると、文章と枠線の距離や、ボタンの押しやすさ、カードの見やすさなどを改善できます。ただし、値を大きくしすぎると要素全体が広がり、レイアウトに影響することがあります。画面幅や文字サイズに応じて余白を見直し、内容とデザインのバランスを整えることが大切です。
borderには、実線を表すsolidや点線を表すdottedなどの線種があります。border-width、border-style、border-colorを個別に指定する方法もあり、border-radiusを使うと角を丸くできます。ボーダーはボックスモデルの一部であり、一般的なcontent-boxでは指定した幅や高さの外側に加算されるため、要素の全体サイズに影響します。
ボーダーを使うと、情報のまとまりを視覚的に区切ったり、操作できる要素の輪郭を明確にしたりできます。ただし、枠線の色が背景と近すぎると見えにくくなる場合があります。必要な場所に適切な太さや色を設定し、アクセシビリティや全体のデザインとのバランスを考慮することが重要です。
例えば、幅300pxのコンテンツ領域に左右10pxずつのパディングと左右1pxずつのボーダーを設定すると、外側のマージンを除いた全体幅は322pxになります。一方、box-sizing: border-boxを指定すると、幅の指定にパディングとボーダーが含まれます。どの範囲を基準に寸法を指定しているかを把握することが大切です。
コンテンツ領域の仕組みを理解すると、要素の幅や高さが思ったとおりにならない場合に原因を調べやすくなります。特にカードやカラムを並べるレイアウトでは、内容のサイズと内側の余白を合わせて考える必要があります。ボックスモデル全体を把握し、用途に応じて寸法を指定すると、安定したレイアウトを作りやすくなります。
Flexboxでは、flex-directionで並べる方向を指定し、justify-contentで主軸方向の配置、align-itemsで交差軸方向の揃え方を設定できます。gapを使えば、子要素同士の間隔も指定できます。画面幅に応じて折り返したい場合にはflex-wrapを利用でき、要素のサイズや配置を状況に合わせて調整することが可能です。
Flexboxは、複数の要素をきれいに整列させたい場面で便利な仕組みです。従来の方法では調整が難しかった中央揃えや、ボタンの間隔なども比較的簡潔に指定できます。一方向の配置に適しているため、行と列を組み合わせた複雑なページ構成ではCSS Gridとの違いを理解し、目的に合わせて使い分けることが重要です。
grid-template-columnsやgrid-template-rowsを使うと、列や行のサイズを指定できます。frという単位を使えば、利用可能な空間を割合に応じて分配できます。また、gapで行と列の間隔を設定し、grid-columnやgrid-rowで要素が占める範囲を指定することも可能です。画面幅に合わせて列数を変える設計にも活用できます。
CSS Gridを理解すると、要素を一つずつ位置調整する方法に頼らず、全体のレイアウトを構造的に設計しやすくなります。Flexboxが主に一方向の配置に向くのに対し、Gridは行と列を組み合わせた配置に適しています。両者の特徴を把握し、ページの構造や表示したい内容に合わせて選ぶことが大切です。
メディアクエリーでは、min-widthやmax-widthなどを使って画面幅の条件を指定できます。条件を満たした場合にのみ、ブロック内のCSSが適用されます。画面幅に合わせてカラム数を減らしたり、ナビゲーションの配置を変更したりする方法が代表例です。端末の種類だけで決めるのではなく、デザインが崩れる幅を基準に考えることも大切です。
メディアクエリーを利用すると、さまざまな画面サイズで読みやすく操作しやすいページを作りやすくなります。ただし、条件を増やしすぎるとCSSの管理が複雑になるため、必要な切り替えを整理することが重要です。実際の表示を確認しながら適切な条件を設定すると、幅広い端末に対応するデザインを実現できます。
実現には、メディアクエリーやFlexbox、CSS Grid、相対単位などを組み合わせて使います。画像を画面幅に合わせて縮小したり、広い画面では横並びにした要素を狭い画面では縦に並べたりする方法があります。HTMLのhead要素にviewportの設定を行うことも、モバイル端末で適切に表示するための基本です。
レスポンシブデザインでは、単に画面に収めるだけでなく、文字の読みやすさやボタンの押しやすさ、情報の優先順位も考慮します。特定の端末だけで確認するのではなく、複数の画面幅で表示や操作を試すことが大切です。利用環境に応じて柔軟に変化するページを作ることで、より快適な閲覧体験につながります。
HTMLのhead要素に記述するviewportのmeta要素は、特にモバイル端末での表示に関係します。一般的にはwidth=device-widthやinitial-scale=1を指定し、端末の画面幅に合わせた表示を促します。この設定が適切でないと、スマートフォンでページが縮小表示されたり、想定したレイアウトにならなかったりする場合があります。
ビューポートを理解すると、画面サイズに応じたレイアウトや文字の大きさを考えやすくなります。ただし、ビューポートの寸法と、実際に要素が占める領域は同じではありません。vwやvhなどの単位を使う場合も、画面幅や高さに対してどのようなサイズになるのかを確認し、端末ごとの表示に配慮することが大切です。
例えば、remはルート要素の文字サイズを基準にし、emは使用するプロパティや要素の文脈に応じた文字サイズを基準にします。vwはビューポート幅の割合、vhはビューポート高さの割合を表します。%はプロパティによって基準が異なるため、何に対する割合なのかを確認して使う必要があります。
相対単位を活用すると、文字サイズや画面幅に応じてレイアウトを調整しやすくなり、レスポンシブデザインにも役立ちます。ただし、基準を理解せずに使うと、想定より大きくなったり小さくなったりする場合があります。単位ごとの特徴を把握し、読みやすさや操作性を保てるように適切な値を設定することが大切です。
pxはCSSで使われる基準単位の一つで、画面の物理的なピクセルと常に一対一で対応するとは限りません。表示倍率や端末の画素密度などによって見え方が変わることがあります。また、cmやmmなどは印刷を意識したスタイルで使われることがありますが、画面表示では用途に応じた使い分けが必要です。
絶対単位は、枠線や細部の寸法など、明確な値で指定したい場面で便利です。一方、文字サイズや余白をすべて固定値にすると、利用者の設定や画面サイズによって調整しにくい場合があります。相対単位との違いを理解し、デザインの目的やアクセシビリティを考慮して適切な単位を選ぶことが大切です。
emは、font-sizeプロパティ自身に指定する場合、親要素の文字サイズを基準に計算される点に注意が必要です。そのため、親要素と子要素の両方でemを使って文字サイズを設定すると、値が段階的に変化する場合があります。基準となるサイズを把握せずに使うと、意図より大きくなったり小さくなったりすることがあります。
emを活用すると、文字サイズに合わせて余白や部品の大きさを調整しやすくなります。ボタン内のパディングや見出しの装飾など、文字との相対的なバランスを保ちたい場面に適しています。remとの違いも理解し、親要素のサイズに連動させたいのか、ルート要素を基準に統一したいのかによって使い分けることが重要です。
emは親要素などの文字サイズに影響されることがありますが、remはルート要素を基準にするため、入れ子の深さによってサイズが連鎖的に変わりにくい特徴があります。見出しや段落、カードの余白などにremを使えば、全体の基準を調整しながら各部分のサイズを整えやすくなります。ただし、ルート要素の設定を確認することは必要です。
remを使うと、サイト全体のサイズ設計に統一感を持たせやすくなります。利用者が文字サイズを調整した場合にも対応しやすい設計につながることがあります。emやpxなどの単位と用途の違いを理解し、文字の読みやすさやレイアウトの安定性を考慮しながら使用すると、保守しやすいCSSを作りやすくなります。
vhを使うと、要素の高さを画面の高さに対する割合で指定できます。例えば、min-height: 100vhを指定すると、ビューポートの高さ以上の最小高さを確保できます。ただし、スマートフォンではブラウザーのアドレスバーなどの表示状態によってビューポートの高さが変化し、100vhの見え方が期待と異なる場合があります。
vhは画面の高さを基準にできる便利な単位ですが、すべての端末で同じように表示されるとは限りません。必要に応じてsvh、lvh、dvhなどの新しいビューポート単位も検討できます。実際の端末で表示を確認し、内容が隠れたりスクロールしにくくなったりしないように調整することが大切です。
例えば、width: 80vwと指定すると、要素の幅をビューポート幅の80%に設定できます。font-sizeにvwを使えば、画面幅に応じて文字サイズを変えることもできます。ただし、画面が非常に狭い場合には文字が小さくなりすぎたり、広い画面では大きくなりすぎたりするため、clamp()などで最小値や最大値を設ける方法もあります。
vwを活用すると、固定幅だけでは難しい柔軟なレイアウトを実現しやすくなります。一方、スクロールバーの扱いや端末の表示環境によっては、幅の計算が想定と異なる場合があります。画面幅に応じた変化が必要な箇所に限定して使い、実際の表示を確認しながら適切なサイズを設定することが重要です。
relativeは通常の位置を基準に要素を移動でき、absoluteは位置指定の基準となる祖先要素などに対して配置します。fixedはビューポートを基準に固定表示する場面で使われ、stickyはスクロールに応じて一定位置に留まる挙動を実現します。値によって文書の流れへの影響や位置の基準が異なるため、特徴を理解することが重要です。
positionを適切に使うと、バッジや吹き出し、固定ヘッダーなど、通常の配置だけでは難しいデザインを実現できます。ただし、absoluteを多用すると、画面幅や内容量の変化に対応しにくくなる場合があります。FlexboxやGridなどのレイアウト機能も組み合わせ、要素の役割やページ全体の構造に合った方法を選ぶことが大切です。
z-indexは、positionの値がstatic以外の要素などで有効になるのが基本ですが、FlexboxやGridの子要素など、別の条件で適用される場合もあります。また、特定の要素が新しいスタッキングコンテキストを作ると、その内部のz-indexは外側の要素と単純に比較できません。値を大きくしても前面に出ない場合は、親要素の構造を確認する必要があります。
z-indexを使うと、表示の重なりを調整し、操作部品や補助情報を適切な位置に配置できます。一方で、無計画に大きな値を設定し続けると、どの要素が前面に来るのか分かりにくくなります。レイヤーごとの役割やスタッキングコンテキストを把握し、ルールを整理して指定することが保守しやすいCSSにつながります。
blockは通常、新しい行から始まる領域を作り、inlineは文章の流れの中に配置されます。flexは一方向のレイアウト、gridは行と列を組み合わせたレイアウトを作る際に使います。display: noneを指定すると、要素は通常の表示から外れ、レイアウト上の場所も確保されません。用途に応じて値を選ぶことが大切です。
displayを理解すると、要素が横並びにならない、幅や高さが思うように指定できないといった問題を調べやすくなります。HTML要素の初期表示形式を把握したうえで、必要なレイアウト方式を指定すると、意図したデザインを実現しやすくなります。FlexboxやGridとの関係も学ぶことで、配置の選択肢を広げられます。
visibleは内容を領域の外側にも表示し、hiddenははみ出した部分を表示しません。scrollはスクロール可能な領域を設け、autoは必要に応じてスクロール機能を表示します。overflow-xとoverflow-yを使えば、横方向と縦方向を別々に設定することも可能です。設定によって内容が見えなくなったり、操作しにくくなったりする場合があるため注意が必要です。
overflowを理解すると、長い文章や表、画像などを限られた領域に収める方法を考えやすくなります。特にスマートフォンでは、横幅の広い表がページ全体をはみ出さないようにする工夫が役立ちます。ただし、必要な情報を隠してしまわないようにし、利用者が内容を確認できる表示方法を選ぶことが大切です。
transition-propertyでは変化させるプロパティ、transition-durationでは変化にかける時間、transition-timing-functionでは変化の進み方を設定できます。transition-delayを使えば、変化を開始するまでの待ち時間も指定できます。色や透明度、変形などに利用できますが、すべてのプロパティが同じように滑らかに変化するわけではありません。
トランジションを使うと、ボタンやリンクなどの状態変化を自然に見せ、操作への反応を分かりやすくできます。ただし、過度な動きや長い時間設定は、利用者に負担を与える場合があります。動きを必要な場面に絞り、操作性やアクセシビリティにも配慮することが大切です。アニメーションとの違いを理解すると、適切な表現を選びやすくなります。
animationでは、名前や再生時間、タイミング、繰り返し回数、再生方向などを指定できます。例えば、animation-durationで再生時間を設定し、animation-iteration-countで繰り返す回数を決めます。トランジションが主に状態変化に応じて動きを付けるのに対し、アニメーションは複数の段階や自動再生、繰り返しなどを定義できる点が特徴です。
CSSアニメーションを使うと、JavaScriptを使わずに一定の動きを表現でき、視覚的な演出を加えられます。ただし、動きが多すぎると内容を読みづらくしたり、利用者に不快感を与えたりする場合があります。必要に応じてprefers-reduced-motionに対応し、動きを減らしたい利用者にも配慮することが重要です。
例えば、:rootに–main-color: #336699;と定義し、color: var(–main-color);と記述すれば、同じ色を複数の要素で使えます。値を一か所で変更するだけで参照先にも反映できるため、サイト全体の色や余白を調整しやすくなります。カスタムプロパティは継承される性質があり、要素ごとに異なる値を設定することも可能です。
カスタムプロパティを活用すると、デザインの一貫性を保ち、変更時の手間を減らせます。値が定義されていない場合に備え、var()に代替値を指定する方法もあります。CSS変数という呼び方も一般的ですが、正式にはカスタムプロパティと呼ばれます。基本的な使い方を理解すると、規模の大きなサイトでもスタイルを整理しやすくなります。
例えば、ルート要素に–primary-color: navy;と定義しておけば、複数の見出しやボタンでvar(–primary-color)を利用できます。後から色を変更したい場合も、定義した値を一か所修正することで参照先をまとめて更新できます。カスタムプロパティは継承されるため、特定の領域で別の値を指定し、局所的にデザインを変更することもできます。
CSS変数を利用すると、同じ値を何度も書く必要が減り、修正や管理が容易になります。プロジェクト内で色や余白などのルールを整理しておけば、複数人で制作する場合にも共通のデザインを保ちやすくなります。Sassなどの変数との違いも知っておくと、CSS自体が持つ機能を理解し、適切な手段を選べるようになります。
例えば、cardというBlockに対して、タイトルをcard__title、強調表示した種類をcard–featuredのように表す方法があります。二重アンダースコアや二重ハイフンを使う命名はBEMの代表的な記法です。プロジェクト内で一貫したルールを採用すると、クラス名から部品の構造や役割を推測しやすくなり、複数の開発者がコードを扱う際にも役立ちます。
BEMを活用すると、クラス名の衝突やCSSの管理の複雑さを抑えやすくなります。ただし、命名が長くなりすぎたり、細かい部品を過剰に分けたりすると、かえって読みにくくなる場合もあります。チームやプロジェクトの規模に合わせてルールを決め、意味が伝わりやすく変更しやすいCSSを目指すことが大切です。
Sassには、インデントで構造を表す記法と、CSSに近い波括弧やセミコロンを使うSCSS記法があります。変数に色を保存したり、共通するスタイルをミックスインにまとめたりすることで、同じ記述を何度も書く手間を減らせます。ファイルを分割して管理し、必要なスタイルをまとめて出力する運用にも向いています。
Sassを使うと、大規模なWebサイトや複数人で進めるプロジェクトでCSSを整理しやすくなります。ただし、ブラウザーがSassをそのまま解釈するわけではないため、ビルド環境などでCSSに変換する必要があります。標準CSSの機能も進化しているため、Sass独自の機能とCSS本来の機能を理解し、目的に合わせて使い分けることが重要です。
SCSSでは、変数やネスト、ミックスインなどの機能を使って、スタイルの重複を減らしたり構造を整理したりできます。例えば、色を変数にまとめておけば、サイト全体の配色を変更する際に一か所の修正で対応しやすくなります。ただし、ネストを深くしすぎると生成されるCSSが複雑になるため、適度な階層に抑えることが大切です。
SCSSで記述したファイルは、通常コンパイルしてCSSに変換し、ブラウザーで利用します。Sassのインデント記法と比べ、CSSから移行しやすいことが特徴ですが、両者は同じSassの仕組みを利用しています。基本構文と変数などの機能を理解すると、コードを再利用しやすくなり、複数ページのデザインを効率よく管理できます。
Tailwind CSSでは、p-4やtext-centerなどのクラスを使って、パディングや文字揃えなどを指定します。レスポンシブデザインや状態に応じたスタイルも、専用の接頭辞などを利用して設定できます。一方で、HTML内に複数のクラスが並ぶため、慣れないうちは記述が長く感じられることがあります。プロジェクトの構成やバージョンによって設定方法が異なる点にも注意が必要です。
Tailwind CSSを使うと、細かなデザインを素早く調整し、スタイルの一貫性を保ちやすくなります。ただし、すべての場面で最適とは限らず、独自のCSSを併用することもあります。標準CSSの仕組みを理解したうえで利用すると、クラスが何を指定しているのか把握しやすくなり、デザインの変更や不具合の調査にも対応しやすくなります。
Bootstrapでは、決められたクラス名をHTMLに指定して、余白や文字の配置、ボタンの外観などを調整できます。グリッドシステムを使えば、画面幅に応じてカラムの数や配置を切り替えるレスポンシブなレイアウトも構築できます。バージョンによってクラスや機能、JavaScriptの扱いが異なるため、使用しているバージョンの仕様を確認することが重要です。
Bootstrapを利用すると、共通する部品やレイアウトを一から作る手間を減らし、ページ全体の統一感を保ちやすくなります。一方、標準のデザインをそのまま使うだけでは、独自性を出しにくい場合もあります。CSSの基本を理解したうえで必要な部分を調整し、プロジェクトの目的や要件に合う形で活用することが大切です。
HTML・CSSの学習では、専門用語やレイアウトの仕組みが理解できず、途中で手が止まることがあります。分からない点を放置したり、難しい課題に一人で悩み続けたりすると、学習意欲を失う原因になります。挫折を防ぐためにも、事前に挫折者の特徴をチェックしてみてください。
⇒プログラミング挫折者の特徴10選!挫折しないコツを紹介
HTML
HTMLは、Webページの構造や情報を記述するためのマークアップ言語です。文章の見出しや段落、リンク、画像などをタグで表し、ブラウザーが内容を適切に解釈できるようにします。Webサイトを作る際の土台となる技術であり、CSSやJavaScriptと組み合わせて利用されます。HTMLでは、要素ごとに意味や役割が決められています。例えば、見出しにはh1やh2、段落にはp、リンクにはaを使用します。目的に合った要素を選ぶことで、文書の構造を明確にでき、ブラウザーや検索エンジン、支援技術にも情報が伝わりやすくなります。
HTML自体は、文字の色や配置などのデザインを細かく指定するための言語ではありません。見た目の調整は主にCSSが担当し、動きや操作への反応はJavaScriptなどで実現します。まずHTMLの役割を理解すると、それぞれの技術がどのように連携してWebページを構成するのか把握しやすくなります。
HTML要素
HTML要素とは、開始タグや内容、終了タグなどで構成される、Webページ内の情報を表す単位です。例えば、p要素は段落、h1要素は主要な見出し、a要素はリンクを表します。要素にはそれぞれ意味や用途があり、適切に使い分けることで文書の構造を整理できます。一般的なHTML要素は、開始タグと終了タグの間にテキストなどの内容を記述します。ただし、画像を表示するimg要素や改行を表すbr要素のように、終了タグを持たない要素もあります。また、要素には属性を指定でき、リンク先や画像の代替テキストなどの追加情報を設定できます。
HTML要素の役割を理解すると、ソースコードを見たときに各部分が何を表しているのか読み取りやすくなります。意味に合った要素を選ぶことは、アクセシビリティや検索エンジンによる内容の理解にも関係します。見た目だけで判断せず、要素本来の意味を踏まえて使うことが大切です。
タグ
タグは、HTMLで要素の種類や範囲を示すために使用する記号付きの記述です。例えば、pという名前のタグは段落を表し、通常は開始タグのpと終了タグの/pで内容を囲みます。タグを使うことで、ブラウザーに文章や画像などの情報をどのように扱うか伝えられます。HTMLには見出しを表すh1やh2、リンクを表すa、画像を表示するimgなど、多くのタグがあります。それぞれのタグには決められた役割があり、用途に合わないタグを使うと、文書の構造が分かりにくくなる場合があります。開始タグと終了タグの対応関係にも注意が必要です。
タグはHTMLを学ぶうえで最初に触れる基本用語ですが、タグ名を暗記するだけでは十分ではありません。各タグの意味や使用条件を理解し、適切な場面で使うことが重要です。よく使われるタグから役割を覚えていくと、既存のHTMLを読む力や、自分でページを組み立てる力を身につけやすくなります。
属性
属性は、HTML要素に追加の情報や設定を与えるための仕組みです。通常は開始タグの中に記述し、属性名と値を組み合わせて指定します。例えば、a要素のhref属性はリンク先を示し、img要素のsrc属性は表示する画像の場所を指定します。属性によって要素の動作や情報を補足できます。HTMLには、さまざまな目的で使われる属性があります。id属性は要素を識別する名前を設定し、class属性は複数の要素をグループ化するときなどに利用します。alt属性は画像の代替テキストを指定し、入力要素のtype属性は入力方法を選ぶために使われます。属性によって使用できる要素や値が異なる点も特徴です。
属性の役割を理解すると、HTMLのコードを読んだり、リンクや画像、フォームを作成したりするときに役立ちます。属性名と値を誤って記述すると、意図した動作にならない場合もあります。必要な属性を適切に設定し、その意味を把握することが、正確で使いやすいWebページを作るための基本になります。
見出し
HTMLの見出しは、文章や情報のまとまりに題名を付け、ページの構造を分かりやすくするための要素です。h1からh6までの6段階があり、数字が小さいほど上位の見出しを表します。見出しを適切に配置すると、読者が内容を把握しやすくなり、ページ全体の構成も明確になります。見出しは、文字を大きくしたり太字にしたりするためだけの要素ではありません。文章の階層や内容の関係を示す役割があるため、見た目の好みだけで順番を決めないことが重要です。例えば、ページ全体の主題をh1で示し、その下の大きな区分をh2、さらに細かな区分をh3で表す方法があります。
見出しの階層を整理すると、長い記事でも読者が必要な情報を探しやすくなります。また、検索エンジンやスクリーンリーダーがページ構造を理解する際にも役立ちます。デザインを変えたい場合はCSSを使い、HTMLでは内容に合った見出し要素を選ぶことが、読みやすいWebページの作成につながります。
段落
HTMLの段落は、文章を意味のまとまりごとに区切って表現するための要素です。一般的にはpタグを使用し、ひとまとまりの文章を開始タグと終了タグで囲みます。段落を適切に分けることで、読者が文章の流れを追いやすくなり、情報が整理された読みやすいページになります。段落は、単に画面上で改行することとは異なります。文章の意味が続いている場合と、新しい話題に移る場合を考え、内容に応じて区切ることが大切です。表示上の余白や行間を調整したいときはCSSを使用し、HTMLでは文章の構造が正しく伝わるようにp要素を配置します。
段落の使い方を理解すると、記事や説明文、紹介ページなどのコンテンツを構成しやすくなります。p要素の中に別のp要素を入れるなど、誤った入れ子構造を避けることも重要です。文章を意味ごとに整理してマークアップすれば、読者にも支援技術にも内容のまとまりが伝わりやすくなります。
リンク
HTMLのリンクは、別のページや同じページ内の位置、ファイルなどへ移動できるようにする仕組みです。一般的にはa要素を使い、href属性に移動先のURLや識別子を指定します。リンクを設定すると、読者は関連する情報へ移動でき、Webサイト内外のページを相互につなげられます。リンクのテキストには、移動先や操作内容が分かる言葉を使うことが重要です。「こちら」だけでは目的が伝わりにくいため、リンク先の内容を示す表現が役立ちます。新しいタブで開く場合などは、利用者が予想しやすいように配慮し、必要に応じて安全性に関係する属性も設定します。
リンクは、Webサイトの回遊性や情報の見つけやすさに関係する基本的な要素です。リンク先が正しいか、リンクテキストが分かりやすいかを確認すると、利用者が迷いにくいページになります。CSSで色や下線などの表示を調整することもできますが、リンクであることが視覚的にも伝わるデザインにすることが大切です。
画像
HTMLで画像を表示するときは、主にimg要素を使用します。src属性に画像ファイルの場所を指定し、alt属性には画像の内容や役割を伝える代替テキストを記述します。画像は写真やイラスト、図解などをページに加え、文章だけでは伝えにくい情報を視覚的に補足するために利用されます。画像の表示サイズは、width属性やheight属性、またはCSSで指定できます。画面幅に合わせて画像を縮小したい場合は、CSSのmax-widthなどを利用する方法があります。画像の比率を保ち、周囲の文章やレイアウトとのバランスを整えることで、さまざまな画面でも見やすいページを作りやすくなります。
画像を掲載する際は、表示されることだけでなく、読み上げ機能を利用する人への配慮も必要です。情報を伝える画像には内容に合ったaltテキストを設定し、装飾だけの画像では適切に空の代替テキストを指定します。画像の容量にも気を配ると、ページの読み込み速度を保ちやすくなります。
フォーム
HTMLのフォームは、利用者から情報を入力してもらい、そのデータを送信するための仕組みです。問い合わせページや会員登録、検索画面、アンケートなど、さまざまなWebサービスで使われます。一般的にはform要素の中に入力欄やボタンを配置し、入力された情報を指定した方法で送信できるようにします。form要素では、送信先を指定するaction属性や、データの送信方法を示すmethod属性などを設定できます。入力欄には、名前やメールアドレスなどの項目に合った入力要素を使います。必須項目や入力形式を適切に設定すると、利用者が必要な情報を入力しやすくなり、入力ミスを減らすことにもつながります。
フォームを設計する際は、入力できることだけでなく、項目名や説明が分かりやすいことも重要です。各入力欄にラベルを関連付け、エラーが起きた場合には修正方法を伝える工夫が役立ちます。また、個人情報を扱うフォームでは、送信先やデータの取り扱いにも配慮し、安全で使いやすい設計を目指します。
入力要素
入力要素は、フォームで利用者が文字や選択肢などを入力するためのHTML要素です。代表的なものにinput、textarea、selectなどがあります。input要素はtype属性によってテキストやメールアドレス、チェックボックス、ラジオボタンなどの入力形式を指定でき、目的に応じた入力欄を作成できます。入力要素を選ぶときは、利用者に入力してもらいたい情報や操作方法を考えることが重要です。短い文字列にはテキスト入力欄、長文にはtextarea、複数の候補から選ぶ場合にはselectなどが適しています。必須入力や入力形式の制約を設定できる属性もあり、適切に利用すると入力の負担を減らせます。
入力要素には、項目の意味を伝えるラベルや、入力例を示す説明などを組み合わせることが大切です。placeholderだけに項目名を任せると、入力を始めた後に内容が分かりにくくなる場合があります。入力要素の役割と使い方を理解し、アクセシビリティや操作のしやすさに配慮して配置すると、使いやすいフォームにつながります。
セマンティックHTML
セマンティックHTMLとは、ページ内の情報や領域の意味に合ったHTML要素を使用して、文書の構造を明確にする考え方です。例えば、ページの主要な内容にはmain、ナビゲーションにはnav、記事にはarticle、区分にはsectionなどを使います。要素の意味がコードから伝わるようにすることが特徴です。すべてをdiv要素やspan要素だけで構成すると、見た目は整えられても、各部分がどのような役割を持つのか伝わりにくくなる場合があります。意味に合った要素を使えば、ブラウザーや検索エンジン、スクリーンリーダーなどがページ構造を理解する助けになります。見出しの階層やランドマークの使い方も重要です。
セマンティックHTMLを意識することは、読みやすく保守しやすいコードを書くうえでも役立ちます。コードを見ただけで領域の目的が分かれば、後から修正する際にも構造を把握しやすくなります。見た目のデザインはCSSで調整しつつ、HTMLでは内容の意味に合った要素を選ぶことが基本となります。
DOCTYPE
DOCTYPEは、HTML文書の先頭に記述し、ブラウザーに文書の種類や標準的な表示方法を伝えるための宣言です。現在のHTMLでは、通常「」と記述します。これはHTML5の文書で使用されるシンプルな宣言であり、ページを標準モードで表示させるために必要な基本事項の一つです。DOCTYPEが正しく記述されていない場合、ブラウザーが互換モードでページを表示することがあります。互換モードでは古い仕様に近い表示やレイアウトの挙動になる場合があり、意図したデザインと異なる結果につながる可能性があります。そのため、HTML文書を作成するときは、DOCTYPEを文書の先頭に置くことが重要です。
DOCTYPEは、HTMLのタグや属性のようにページ内の文章を表示する要素ではありません。文書をどのように解釈するかをブラウザーに知らせる宣言です。意味を理解しておけば、HTMLファイルの冒頭にある記述の役割が分かり、ページの表示に関係する基本的な仕組みも把握しやすくなります。
メタタグ
メタタグは、HTML文書に関する情報をブラウザーや検索エンジンなどに伝えるために使用するmeta要素です。通常はhead要素内に記述し、文字コードやページの説明、表示領域に関する情報などを指定します。本文に直接表示される要素ではありませんが、ページの適切な表示や情報の伝達に関係します。代表的な指定には、文字コードを示すcharset属性や、ページの説明を記述するname=”description”、表示領域を設定するname=”viewport”などがあります。それぞれ用途が異なり、ページの内容や表示環境に合わせて設定します。特に文字コードの指定は、文章が文字化けせずに表示されるようにするうえで重要です。
メタタグを理解すると、HTML文書のhead要素に書かれた記述が何のためにあるのか分かりやすくなります。ただし、meta要素を追加すれば検索順位が必ず上がるわけではありません。設定する情報の目的を理解し、内容と一致した適切な値を記述することが、正確なページ情報を伝えるために大切です。
アクセシビリティ
アクセシビリティとは、年齢や障害の有無、利用する端末や環境などにかかわらず、できるだけ多くの人がWebサイトの情報や機能を利用できるようにする考え方です。文字の読みやすさやキーボード操作、画像の代替テキスト、フォームのラベルなど、さまざまな要素が関係します。例えば、画像だけで情報を伝えると、画像を見られない利用者には内容が伝わらないことがあります。代替テキストを設定したり、色だけに頼らず文字や記号も併用したりすると、情報を理解しやすくなります。また、キーボードだけでも主要な操作ができることや、入力欄の目的が明確であることも重要です。
アクセシビリティを考慮したWebページは、支援技術を使う人だけでなく、スマートフォンで閲覧する人や、一時的に操作が制限されている人にも利用しやすくなります。HTMLの意味に合った要素を選び、CSSの文字サイズや色のコントラストにも配慮することで、より多くの人に情報を届けやすいページを目指せます。
ARIA
ARIAは、Accessible Rich Internet Applicationsの略で、Webコンテンツの役割や状態などを支援技術に伝えるための属性群です。HTMLだけでは意味や状態を十分に表しにくい複雑な操作部品などに利用されます。例えば、要素の役割を示すrole属性や、読み上げ用の名前を設定するaria-labelなどがあります。ARIAを使うと、カスタムボタンや展開式メニューなどの状態を支援技術に伝えやすくなります。ただし、ARIAを追加するだけで操作性が自動的に改善するわけではありません。キーボード操作やフォーカスの移動、状態の更新なども適切に実装する必要があります。標準のHTML要素で目的を実現できる場合は、まずその利用を検討します。
ARIAはアクセシビリティを高めるための有用な仕組みですが、誤った属性や役割を指定すると、利用者に誤解を与える可能性があります。属性の意味と使い方を理解し、必要な場面で正しく利用することが重要です。HTMLの基本要素を土台にして、必要に応じてARIAを補助的に使う考え方が役立ちます。
CSS
CSSは、Cascading Style Sheetsの略で、HTMLで記述されたWebページの見た目を指定するためのスタイルシート言語です。文字色や背景色、フォント、余白、配置、画面幅に応じたレイアウトなどを設定できます。HTMLが主に情報の構造を表すのに対し、CSSはその表示方法を担当します。CSSでは、どの要素にスタイルを適用するかをセレクターで指定し、プロパティと値を組み合わせて見た目を定義します。例えば、文字色を変えるcolorや、余白を設定するmarginなどがあります。スタイルはHTML内に記述することも、別のCSSファイルにまとめることもでき、サイト全体のデザインを管理しやすくなります。
CSSの基本を理解すると、Webページのデザインを調整したり、複数のページで統一感を保ったりしやすくなります。レイアウトや装飾の指定が増えると、ルールの競合や優先順位の理解も必要です。基本的な構文に加え、カスケードやボックスモデル、レスポンシブデザインなどを学ぶことで、より柔軟な表示を実現できます。
セレクター
セレクターは、CSSでスタイルを適用する対象のHTML要素を指定するための記述です。例えば、pと書けば段落要素を対象にでき、.noticeならnoticeクラスが付いた要素、#headerならheaderというIDを持つ要素を選択できます。セレクターによって、ページ内のどの部分に装飾を適用するか決められます。セレクターには、要素名、クラス、IDのほか、要素の状態を指定する疑似クラスや、特定の部分を装飾する疑似要素などがあります。複数の条件を組み合わせれば、より細かく対象を選ぶことも可能です。ただし、複雑すぎる指定は読みづらく、後から変更する際に管理しにくくなる場合があります。
セレクターの使い方を理解すると、CSSの適用範囲を意図どおりに調整しやすくなります。同じスタイルを複数の要素に適用したい場合はクラスを活用し、ページ内の特定の要素を識別したい場合はIDを使うなど、目的に応じて選ぶことが大切です。適切な設計は、保守しやすいCSSにつながります。
プロパティ
CSSのプロパティは、要素のどのような見た目や配置を変更するかを指定する項目です。例えば、colorは文字色、background-colorは背景色、font-sizeは文字の大きさ、marginは外側の余白を表します。CSSでは、セレクターで対象を選び、プロパティと値を組み合わせてスタイルを記述します。プロパティごとに設定できる値や指定方法は異なります。色を指定するものもあれば、長さや割合、キーワードを設定するものもあります。例えば、displayは要素の表示形式、positionは配置方法、overflowは領域からはみ出した内容の扱いを指定します。目的に合うプロパティを選び、正しい値を設定することが必要です。
プロパティを理解すると、デザインの調整方法を具体的に考えられるようになります。文字の見た目だけでなく、余白や配置、画面幅に応じた表示など、多様な要望に対応できます。すべてを一度に覚える必要はありませんが、よく使うプロパティから役割と値の種類を把握すると、CSSの学習を進めやすくなります。
値
CSSの値は、プロパティに対して実際に設定する色や長さ、数値、キーワードなどを指します。例えば、color: red;ではredが値に当たり、font-size: 16px;では16pxが値になります。プロパティが変更する項目を示すのに対し、値はその項目をどのように設定するかを具体的に表します。値の種類はプロパティによって異なり、色名やカラーコード、長さの単位、割合、数値、特定のキーワードなどがあります。例えば、displayにはblockやflex、positionにはrelativeやabsoluteなどを指定できます。利用できない値を設定した場合、ブラウザーがその宣言を無視することがあるため、プロパティに対応した値を選ぶ必要があります。
CSSの値を理解すると、コードを見たときにスタイルの指定内容を読み取りやすくなります。pxやremなどの単位の違いを知ることも、画面サイズや文字サイズに応じた調整に役立ちます。プロパティと値を組み合わせて考え、実際の表示を確認しながら使い方を身につけると、意図したデザインを実現しやすくなります。
クラスセレクター
クラスセレクターは、HTML要素に付けたclass属性の値を基準に、CSSを適用する対象を選ぶ方法です。CSSではクラス名の前にピリオドを付けて記述します。例えば、class=”notice”の要素には.noticeというセレクターでスタイルを適用でき、同じクラスを複数の要素に指定することも可能です。クラスは、同じ見た目や役割を持つ要素をまとめて管理するときに便利です。例えば、注意書き、ボタン、カード、強調表示などにクラスを設定すれば、共通するデザインを一括して指定できます。HTML側のクラス名とCSS側のセレクターが一致していることが必要で、スペルの違いがあるとスタイルが適用されません。
クラスセレクターを活用すると、HTMLの構造とCSSのデザインを分けて管理しやすくなります。複数の要素に同じクラスを使えるため、サイト内で統一感を持たせる際にも役立ちます。クラス名は役割や用途が分かるものにし、過度に細かな指定を避けると、後からデザインを変更するときにも扱いやすくなります。
IDセレクター
IDセレクターは、HTML要素に指定されたid属性の値を基準に、CSSを適用する対象を選ぶ方法です。CSSではID名の前にシャープ記号を付けて記述します。例えば、id=”header”の要素には#headerというセレクターを使います。IDは文書内で一意にすることが基本で、特定の要素を識別するときに利用されます。クラスセレクターと異なり、IDは同じHTML文書内で複数の要素に重複して付けないようにします。ページの主要な領域や、ページ内リンクの移動先を示す識別子などに使われることがあります。CSSでIDを指定すると詳細度が高くなるため、スタイルの優先順位を管理する際には注意が必要です。
IDセレクターは、特定の要素に限定してスタイルを適用したい場合に便利ですが、頻繁に使いすぎるとCSSの変更が難しくなる場合があります。繰り返し使うデザインにはクラスセレクターを活用し、IDは一意の識別が必要な場面で使うなど、目的に合わせて使い分けることが保守性の高いコードにつながります。
疑似クラス
疑似クラスは、HTML要素の状態や位置、条件などに応じてCSSを適用するための仕組みです。セレクターにコロンを付けて記述し、例えば:hoverはポインターが要素上にある状態、:focusは要素がフォーカスを受けている状態を表します。HTMLに専用のクラスを追加しなくても、状況に応じたスタイルを設定できます。疑似クラスには、リンクが訪問済みかどうかを示す:visited、フォームの入力要素が有効かどうかを判定する:valid、親要素内での位置を指定する:nth-child()などがあります。ボタンにマウスを重ねたときに色を変えたり、入力内容に応じて表示を変えたりする場合に役立ちます。対象となる状態や条件を正しく理解することが大切です。
疑似クラスを利用すると、利用者の操作や要素の状態に反応するデザインを作りやすくなります。ただし、マウス操作だけに頼るとキーボード利用者に分かりにくい場合があるため、:focusなども適切に設定します。状態に応じた視覚的な変化を加えることで、操作の手がかりを伝え、使いやすさを高められます。
疑似要素
疑似要素は、HTMLに新しい要素を追加することなく、要素の特定部分や前後に生成される内容にスタイルを適用する仕組みです。代表的なものに::beforeと::afterがあり、対象要素の前後に装飾用の内容を追加できます。また、::first-letterや::first-lineを使えば、文章の先頭文字や先頭行を装飾できます。疑似要素は、アイコンの補助や装飾線、吹き出しのしっぽ、見出しの前に置くマークなど、デザイン上の表現に利用されます。::beforeや::afterで文字などを生成する場合は、contentプロパティを指定するのが基本です。ただし、重要な情報や操作に必要な内容を疑似要素だけで表現すると、環境によって伝わりにくくなることがあります。
疑似要素を使うと、HTMLを複雑にせずに細かな装飾を加えられます。一方で、内容として必要な文章やリンクは、通常のHTML要素として記述することが適切です。疑似要素が担うのは主に表示上の補助や装飾であると理解し、HTMLの意味構造とCSSの見た目を分けて設計すると、保守しやすいページを作れます。
カスケード
カスケードは、同じ要素に複数のCSSルールが適用されたとき、どの宣言を採用するかを決める仕組みです。CSSでは、スタイルの出どころや重要度、セレクターの詳細度、記述順などの条件を考慮して適用する宣言が決まります。この仕組みにより、複数のスタイルシートを組み合わせてページのデザインを管理できます。例えば、同じ要素の文字色を複数のルールで指定すると、すべての指定が同時に反映されるわけではありません。条件に基づいて優先される宣言が選ばれます。後から書いたルールが採用される場合もありますが、詳細度や重要度などが異なれば、単純に記述順だけで決まるわけではありません。
カスケードを理解すると、CSSを変更しても思ったとおりのスタイルにならない理由を調べやすくなります。ルールをむやみに追加するのではなく、どの宣言が適用されているか確認することが大切です。詳細度や継承との関係も押さえておくと、スタイルの競合を整理し、管理しやすいCSSを作成できます。
詳細度
詳細度は、複数のCSS宣言が同じ要素に適用されるとき、どのセレクターを優先するか判断するための基準の一つです。一般に、IDセレクターはクラスセレクターや属性セレクター、疑似クラスより高い詳細度を持ち、それらは要素セレクターなどより高く評価されます。詳細度はカスケードの判断に関係します。例えば、要素名だけを使ったセレクターと、クラス名を使ったセレクターで同じ文字色を指定した場合、ほかの条件が同じならクラスセレクターの指定が優先されます。ただし、詳細度だけで最終結果が決まるわけではなく、宣言の重要度や出どころ、記述順なども関係します。優先順位を正しく理解することが必要です。
詳細度を意識すると、CSSでスタイルが上書きされる原因を見つけやすくなります。IDや!importantを多用すると、後から変更したいときに優先順位の調整が難しくなる場合があります。必要以上に複雑なセレクターを避け、クラスを中心に一貫したルールを設計すると、修正や再利用がしやすいCSSにつながります。
継承
継承は、あるHTML要素に指定されたCSSプロパティの値が、その子要素にも引き継がれる仕組みです。例えば、親要素に文字色やフォントを指定すると、子要素にも同じ設定が反映されることがあります。すべてのプロパティが継承されるわけではなく、文字に関するプロパティなど、継承されやすいものとそうでないものがあります。継承を利用すると、ページ全体の基本的な文字色やフォントなどを親要素に指定し、細かな部分だけ個別に調整する設計ができます。一方、marginやpadding、borderなどは通常そのまま子要素に継承されません。プロパティの性質を理解していないと、親要素に指定したスタイルが反映されない、あるいは想定外に見える場合があります。
継承の仕組みを理解すると、同じスタイルを何度も指定する手間を減らし、CSSを整理しやすくなります。子要素に別の値を指定すれば、親から継承した値を上書きできます。どのプロパティが継承されるかを確認しながら設計すると、スタイルの重複や予期しない表示を減らし、管理しやすいコードを作れます。
ボックスモデル
ボックスモデルは、HTML要素が画面上で占める領域を、コンテンツ領域、パディング、ボーダー、マージンの4つに分けて考える仕組みです。文字や画像などの内容を中心に、その内側の余白、境界線、外側の余白が配置されます。CSSで要素の幅や高さ、余白を調整するときの基本となる考え方です。CSSのwidthやheightで指定したサイズが、どの範囲を表すかはbox-sizingの設定によって異なります。初期状態のcontent-boxではコンテンツ領域のサイズを指定し、paddingやborderは外側に加算されます。border-boxではパディングとボーダーを含めたサイズを指定できるため、レイアウトの計算がしやすくなる場合があります。
ボックスモデルを理解すると、要素が想定より大きく表示されたり、隣の要素と間隔が合わなかったりする原因を調べやすくなります。余白や境界線を別々に考えることで、レイアウトを細かく調整できます。幅や高さだけでなく、パディングやマージンも含めて全体の寸法を把握することが、安定したページ制作につながります。
マージン
マージンは、CSSで要素の外側に設ける余白を指定するプロパティです。marginを使うと、要素と隣接する要素との間隔を調整できます。margin-topやmargin-bottomなど、上下左右を個別に指定する方法もあります。見出しと本文の間や、カード同士の間隔などを整えるときに使われる基本的なプロパティです。マージンには、pxやremなどの長さの単位のほか、割合やautoなどを指定できます。左右のmarginをautoに設定すると、幅が指定されたブロック要素を中央に配置できる場合があります。また、上下のマージンは条件によって隣接する値が相殺されることがあり、単純に足し合わせた距離にならない点にも注意が必要です。
マージンを適切に設定すると、文章や画像、ボタンなどの間隔が整い、ページ全体が読みやすくなります。パディングは要素の内側の余白を指定するのに対し、マージンは外側の間隔を扱うという違いを理解することが大切です。ボックスモデルと合わせて学ぶと、レイアウトの調整方法を把握しやすくなります。
パディング
パディングは、CSSで要素のコンテンツ領域とボーダーの間に設ける内側の余白を指定するプロパティです。paddingを使うと、文章や画像が境界線に近づきすぎないように間隔を確保できます。ボタンやカード、入力欄などの内側に余裕を持たせるときに、よく使われる基本的な設定です。パディングは、padding-topやpadding-rightなどで上下左右を個別に指定できるほか、paddingに複数の値をまとめて指定することもできます。パディングは要素の背景色が適用される領域に含まれ、通常は要素の外側の余白であるマージンとは異なります。ボックスモデルの理解と合わせて覚えることが重要です。
パディングを調整すると、文章と枠線の距離や、ボタンの押しやすさ、カードの見やすさなどを改善できます。ただし、値を大きくしすぎると要素全体が広がり、レイアウトに影響することがあります。画面幅や文字サイズに応じて余白を見直し、内容とデザインのバランスを整えることが大切です。
ボーダー
ボーダーは、CSSで要素の周囲に表示する境界線を指定する仕組みです。borderプロパティを使い、線の太さ、種類、色などを設定できます。例えば、カードの枠線や入力欄の境界、ボタンの輪郭などに利用されます。上下左右を個別に指定することもでき、デザインの区切りや強調に役立ちます。borderには、実線を表すsolidや点線を表すdottedなどの線種があります。border-width、border-style、border-colorを個別に指定する方法もあり、border-radiusを使うと角を丸くできます。ボーダーはボックスモデルの一部であり、一般的なcontent-boxでは指定した幅や高さの外側に加算されるため、要素の全体サイズに影響します。
ボーダーを使うと、情報のまとまりを視覚的に区切ったり、操作できる要素の輪郭を明確にしたりできます。ただし、枠線の色が背景と近すぎると見えにくくなる場合があります。必要な場所に適切な太さや色を設定し、アクセシビリティや全体のデザインとのバランスを考慮することが重要です。
コンテンツ領域
コンテンツ領域は、ボックスモデルにおいて、テキストや画像などの実際の内容が配置される中心部分です。CSSでwidthやheightを指定すると、通常のbox-sizing: content-boxでは、このコンテンツ領域の幅や高さが設定されます。その外側にはパディング、ボーダー、マージンがあり、それぞれ異なる役割を持っています。例えば、幅300pxのコンテンツ領域に左右10pxずつのパディングと左右1pxずつのボーダーを設定すると、外側のマージンを除いた全体幅は322pxになります。一方、box-sizing: border-boxを指定すると、幅の指定にパディングとボーダーが含まれます。どの範囲を基準に寸法を指定しているかを把握することが大切です。
コンテンツ領域の仕組みを理解すると、要素の幅や高さが思ったとおりにならない場合に原因を調べやすくなります。特にカードやカラムを並べるレイアウトでは、内容のサイズと内側の余白を合わせて考える必要があります。ボックスモデル全体を把握し、用途に応じて寸法を指定すると、安定したレイアウトを作りやすくなります。
Flexbox
Flexboxは、CSSで要素を一方向に並べ、間隔や位置を柔軟に調整するためのレイアウト機能です。親要素にdisplay: flexを指定すると、その直下の子要素がフレックスアイテムとして扱われます。横方向や縦方向の配置、中央揃え、要素間の余白などを設定しやすく、ナビゲーションやボタンの配置などに役立ちます。Flexboxでは、flex-directionで並べる方向を指定し、justify-contentで主軸方向の配置、align-itemsで交差軸方向の揃え方を設定できます。gapを使えば、子要素同士の間隔も指定できます。画面幅に応じて折り返したい場合にはflex-wrapを利用でき、要素のサイズや配置を状況に合わせて調整することが可能です。
Flexboxは、複数の要素をきれいに整列させたい場面で便利な仕組みです。従来の方法では調整が難しかった中央揃えや、ボタンの間隔なども比較的簡潔に指定できます。一方向の配置に適しているため、行と列を組み合わせた複雑なページ構成ではCSS Gridとの違いを理解し、目的に合わせて使い分けることが重要です。
CSS Grid
CSS Gridは、行と列を組み合わせた二次元のレイアウトを作成するためのCSS機能です。親要素にdisplay: gridを指定すると、子要素を格子状の領域に配置できるようになります。ページ全体のカラム構成やカード一覧、画像ギャラリーなど、縦横両方の位置関係を整理したい場合に役立ちます。grid-template-columnsやgrid-template-rowsを使うと、列や行のサイズを指定できます。frという単位を使えば、利用可能な空間を割合に応じて分配できます。また、gapで行と列の間隔を設定し、grid-columnやgrid-rowで要素が占める範囲を指定することも可能です。画面幅に合わせて列数を変える設計にも活用できます。
CSS Gridを理解すると、要素を一つずつ位置調整する方法に頼らず、全体のレイアウトを構造的に設計しやすくなります。Flexboxが主に一方向の配置に向くのに対し、Gridは行と列を組み合わせた配置に適しています。両者の特徴を把握し、ページの構造や表示したい内容に合わせて選ぶことが大切です。
メディアクエリー
メディアクエリーは、画面幅や表示環境などの条件に応じて、適用するCSSを切り替えるための仕組みです。@mediaという記述を使い、例えば画面の幅が一定以下になったときだけ文字サイズやレイアウトを変更できます。パソコンとスマートフォンで異なる表示を実現する際に、重要な役割を果たします。メディアクエリーでは、min-widthやmax-widthなどを使って画面幅の条件を指定できます。条件を満たした場合にのみ、ブロック内のCSSが適用されます。画面幅に合わせてカラム数を減らしたり、ナビゲーションの配置を変更したりする方法が代表例です。端末の種類だけで決めるのではなく、デザインが崩れる幅を基準に考えることも大切です。
メディアクエリーを利用すると、さまざまな画面サイズで読みやすく操作しやすいページを作りやすくなります。ただし、条件を増やしすぎるとCSSの管理が複雑になるため、必要な切り替えを整理することが重要です。実際の表示を確認しながら適切な条件を設定すると、幅広い端末に対応するデザインを実現できます。
レスポンシブデザイン
レスポンシブデザインは、パソコンやタブレット、スマートフォンなど、異なる画面サイズに合わせてWebページのレイアウトや表示を調整する設計方法です。画面幅に応じてカラム数や文字サイズ、画像の大きさなどを変えることで、利用者が端末を問わず情報を読みやすく、操作しやすい状態を目指します。実現には、メディアクエリーやFlexbox、CSS Grid、相対単位などを組み合わせて使います。画像を画面幅に合わせて縮小したり、広い画面では横並びにした要素を狭い画面では縦に並べたりする方法があります。HTMLのhead要素にviewportの設定を行うことも、モバイル端末で適切に表示するための基本です。
レスポンシブデザインでは、単に画面に収めるだけでなく、文字の読みやすさやボタンの押しやすさ、情報の優先順位も考慮します。特定の端末だけで確認するのではなく、複数の画面幅で表示や操作を試すことが大切です。利用環境に応じて柔軟に変化するページを作ることで、より快適な閲覧体験につながります。
ビューポート
ビューポートは、ブラウザーでWebページの内容が表示される領域を指します。パソコンではブラウザーのウィンドウ内、スマートフォンでは画面に表示されるページの範囲が関係します。CSSでビューポートの幅や高さを基準にした単位を使うと、画面の大きさに合わせたレイアウトや要素のサイズを指定できます。HTMLのhead要素に記述するviewportのmeta要素は、特にモバイル端末での表示に関係します。一般的にはwidth=device-widthやinitial-scale=1を指定し、端末の画面幅に合わせた表示を促します。この設定が適切でないと、スマートフォンでページが縮小表示されたり、想定したレイアウトにならなかったりする場合があります。
ビューポートを理解すると、画面サイズに応じたレイアウトや文字の大きさを考えやすくなります。ただし、ビューポートの寸法と、実際に要素が占める領域は同じではありません。vwやvhなどの単位を使う場合も、画面幅や高さに対してどのようなサイズになるのかを確認し、端末ごとの表示に配慮することが大切です。
相対単位
相対単位は、ほかのサイズや表示領域などを基準として長さを指定する単位です。CSSではem、rem、%、vw、vhなどが使われます。基準となる文字サイズや親要素、ビューポートの寸法に応じて値が変化するため、固定された長さだけでは対応しにくいレイアウトを柔軟に設計する際に役立ちます。例えば、remはルート要素の文字サイズを基準にし、emは使用するプロパティや要素の文脈に応じた文字サイズを基準にします。vwはビューポート幅の割合、vhはビューポート高さの割合を表します。%はプロパティによって基準が異なるため、何に対する割合なのかを確認して使う必要があります。
相対単位を活用すると、文字サイズや画面幅に応じてレイアウトを調整しやすくなり、レスポンシブデザインにも役立ちます。ただし、基準を理解せずに使うと、想定より大きくなったり小さくなったりする場合があります。単位ごとの特徴を把握し、読みやすさや操作性を保てるように適切な値を設定することが大切です。
絶対単位
絶対単位は、基準となる別の要素のサイズではなく、定められた単位を使って長さを指定する方法です。CSSではpxやcm、mm、in、ptなどが用いられます。Web制作では、画面上のサイズを指定する際にpxがよく使われ、細かな寸法や境界線などを比較的分かりやすく指定できます。pxはCSSで使われる基準単位の一つで、画面の物理的なピクセルと常に一対一で対応するとは限りません。表示倍率や端末の画素密度などによって見え方が変わることがあります。また、cmやmmなどは印刷を意識したスタイルで使われることがありますが、画面表示では用途に応じた使い分けが必要です。
絶対単位は、枠線や細部の寸法など、明確な値で指定したい場面で便利です。一方、文字サイズや余白をすべて固定値にすると、利用者の設定や画面サイズによって調整しにくい場合があります。相対単位との違いを理解し、デザインの目的やアクセシビリティを考慮して適切な単位を選ぶことが大切です。
em
emは、CSSで文字サイズなどを指定するときに使われる相対単位です。多くの場合、対象要素の計算済みの文字サイズを基準として長さを表します。例えば、文字サイズが16pxの要素で1emを使うと、16px相当の長さになります。文字サイズに連動した余白や配置を設定したい場合などに役立ちます。emは、font-sizeプロパティ自身に指定する場合、親要素の文字サイズを基準に計算される点に注意が必要です。そのため、親要素と子要素の両方でemを使って文字サイズを設定すると、値が段階的に変化する場合があります。基準となるサイズを把握せずに使うと、意図より大きくなったり小さくなったりすることがあります。
emを活用すると、文字サイズに合わせて余白や部品の大きさを調整しやすくなります。ボタン内のパディングや見出しの装飾など、文字との相対的なバランスを保ちたい場面に適しています。remとの違いも理解し、親要素のサイズに連動させたいのか、ルート要素を基準に統一したいのかによって使い分けることが重要です。
rem
remは、CSSで長さを指定するための相対単位で、ルート要素であるhtml要素の計算済み文字サイズを基準にします。例えば、ルートの文字サイズが16pxの場合、1remは16px相当になります。ページ内のさまざまな要素で共通の基準を利用できるため、文字サイズや余白などを一貫して管理したいときに便利です。emは親要素などの文字サイズに影響されることがありますが、remはルート要素を基準にするため、入れ子の深さによってサイズが連鎖的に変わりにくい特徴があります。見出しや段落、カードの余白などにremを使えば、全体の基準を調整しながら各部分のサイズを整えやすくなります。ただし、ルート要素の設定を確認することは必要です。
remを使うと、サイト全体のサイズ設計に統一感を持たせやすくなります。利用者が文字サイズを調整した場合にも対応しやすい設計につながることがあります。emやpxなどの単位と用途の違いを理解し、文字の読みやすさやレイアウトの安定性を考慮しながら使用すると、保守しやすいCSSを作りやすくなります。
vh
vhは、ビューポートの高さを基準にしたCSSの相対単位です。1vhはビューポートの高さの1%に相当し、例えば高さが800pxの表示領域では、1vhは8px相当になります。画面の高さに応じて要素のサイズを調整したい場合に利用され、全画面に近い表示や高さを基準にしたレイアウトなどに役立ちます。vhを使うと、要素の高さを画面の高さに対する割合で指定できます。例えば、min-height: 100vhを指定すると、ビューポートの高さ以上の最小高さを確保できます。ただし、スマートフォンではブラウザーのアドレスバーなどの表示状態によってビューポートの高さが変化し、100vhの見え方が期待と異なる場合があります。
vhは画面の高さを基準にできる便利な単位ですが、すべての端末で同じように表示されるとは限りません。必要に応じてsvh、lvh、dvhなどの新しいビューポート単位も検討できます。実際の端末で表示を確認し、内容が隠れたりスクロールしにくくなったりしないように調整することが大切です。
vw
vwは、ビューポートの幅を基準にしたCSSの相対単位です。1vwはビューポート幅の1%に相当し、画面幅が1200pxの場合は12px相当になります。画面の横幅に応じて要素や文字のサイズを変えたい場合に使われ、全幅のセクションや柔軟なレイアウト、可変的な文字サイズなどに活用できます。例えば、width: 80vwと指定すると、要素の幅をビューポート幅の80%に設定できます。font-sizeにvwを使えば、画面幅に応じて文字サイズを変えることもできます。ただし、画面が非常に狭い場合には文字が小さくなりすぎたり、広い画面では大きくなりすぎたりするため、clamp()などで最小値や最大値を設ける方法もあります。
vwを活用すると、固定幅だけでは難しい柔軟なレイアウトを実現しやすくなります。一方、スクロールバーの扱いや端末の表示環境によっては、幅の計算が想定と異なる場合があります。画面幅に応じた変化が必要な箇所に限定して使い、実際の表示を確認しながら適切なサイズを設定することが重要です。
position
positionは、CSSで要素の配置方法を指定するプロパティです。代表的な値にはstatic、relative、absolute、fixed、stickyがあります。通常の文書の流れに従う配置から、基準となる要素に対する位置指定、画面上の固定表示まで、目的に応じて配置の挙動を変更できます。topやleftなどのプロパティと組み合わせて使用します。relativeは通常の位置を基準に要素を移動でき、absoluteは位置指定の基準となる祖先要素などに対して配置します。fixedはビューポートを基準に固定表示する場面で使われ、stickyはスクロールに応じて一定位置に留まる挙動を実現します。値によって文書の流れへの影響や位置の基準が異なるため、特徴を理解することが重要です。
positionを適切に使うと、バッジや吹き出し、固定ヘッダーなど、通常の配置だけでは難しいデザインを実現できます。ただし、absoluteを多用すると、画面幅や内容量の変化に対応しにくくなる場合があります。FlexboxやGridなどのレイアウト機能も組み合わせ、要素の役割やページ全体の構造に合った方法を選ぶことが大切です。
z-index
z-indexは、重なり合う要素の前後関係を指定するCSSプロパティです。数値が大きい要素ほど手前に表示される場合があり、メニューやモーダル、吹き出しなどをほかの要素より前面に配置するときに利用されます。ただし、z-indexの値だけで常に前後関係が決まるわけではなく、重なり順を管理する仕組みも関係します。z-indexは、positionの値がstatic以外の要素などで有効になるのが基本ですが、FlexboxやGridの子要素など、別の条件で適用される場合もあります。また、特定の要素が新しいスタッキングコンテキストを作ると、その内部のz-indexは外側の要素と単純に比較できません。値を大きくしても前面に出ない場合は、親要素の構造を確認する必要があります。
z-indexを使うと、表示の重なりを調整し、操作部品や補助情報を適切な位置に配置できます。一方で、無計画に大きな値を設定し続けると、どの要素が前面に来るのか分かりにくくなります。レイヤーごとの役割やスタッキングコンテキストを把握し、ルールを整理して指定することが保守しやすいCSSにつながります。
display
displayは、HTML要素をどのような表示形式やレイアウト方式で扱うかを指定するCSSプロパティです。代表的な値にはblock、inline、inline-block、none、flex、gridなどがあります。要素が行の中に並ぶのか、独立した領域を作るのか、子要素をどのように配置するのかを決めるため、Webページのレイアウトに深く関係します。blockは通常、新しい行から始まる領域を作り、inlineは文章の流れの中に配置されます。flexは一方向のレイアウト、gridは行と列を組み合わせたレイアウトを作る際に使います。display: noneを指定すると、要素は通常の表示から外れ、レイアウト上の場所も確保されません。用途に応じて値を選ぶことが大切です。
displayを理解すると、要素が横並びにならない、幅や高さが思うように指定できないといった問題を調べやすくなります。HTML要素の初期表示形式を把握したうえで、必要なレイアウト方式を指定すると、意図したデザインを実現しやすくなります。FlexboxやGridとの関係も学ぶことで、配置の選択肢を広げられます。
overflow
overflowは、要素の領域に内容が収まりきらない場合に、そのはみ出した部分をどのように扱うか指定するCSSプロパティです。代表的な値にはvisible、hidden、scroll、autoがあります。文章や画像が設定した幅や高さを超える場面で利用され、スクロール領域を作ったり、はみ出した部分を隠したりするときに役立ちます。visibleは内容を領域の外側にも表示し、hiddenははみ出した部分を表示しません。scrollはスクロール可能な領域を設け、autoは必要に応じてスクロール機能を表示します。overflow-xとoverflow-yを使えば、横方向と縦方向を別々に設定することも可能です。設定によって内容が見えなくなったり、操作しにくくなったりする場合があるため注意が必要です。
overflowを理解すると、長い文章や表、画像などを限られた領域に収める方法を考えやすくなります。特にスマートフォンでは、横幅の広い表がページ全体をはみ出さないようにする工夫が役立ちます。ただし、必要な情報を隠してしまわないようにし、利用者が内容を確認できる表示方法を選ぶことが大切です。
トランジション
トランジションは、CSSプロパティの値が変化するときに、途中の状態を滑らかに表示するための仕組みです。例えば、ボタンにポインターを重ねたときに背景色が瞬時に切り替わるのではなく、少しずつ変化するように設定できます。transitionプロパティを使い、変化させる対象や時間、タイミングなどを指定します。transition-propertyでは変化させるプロパティ、transition-durationでは変化にかける時間、transition-timing-functionでは変化の進み方を設定できます。transition-delayを使えば、変化を開始するまでの待ち時間も指定できます。色や透明度、変形などに利用できますが、すべてのプロパティが同じように滑らかに変化するわけではありません。
トランジションを使うと、ボタンやリンクなどの状態変化を自然に見せ、操作への反応を分かりやすくできます。ただし、過度な動きや長い時間設定は、利用者に負担を与える場合があります。動きを必要な場面に絞り、操作性やアクセシビリティにも配慮することが大切です。アニメーションとの違いを理解すると、適切な表現を選びやすくなります。
アニメーション
CSSアニメーションは、要素の色や位置、サイズ、透明度などを時間の経過に応じて変化させる仕組みです。@keyframesで変化の開始から終了までの状態を定義し、animationプロパティで対象要素に適用します。読み込み中の表示や注意を促す装飾、画面内に現れる要素の動きなど、さまざまな表現に利用できます。animationでは、名前や再生時間、タイミング、繰り返し回数、再生方向などを指定できます。例えば、animation-durationで再生時間を設定し、animation-iteration-countで繰り返す回数を決めます。トランジションが主に状態変化に応じて動きを付けるのに対し、アニメーションは複数の段階や自動再生、繰り返しなどを定義できる点が特徴です。
CSSアニメーションを使うと、JavaScriptを使わずに一定の動きを表現でき、視覚的な演出を加えられます。ただし、動きが多すぎると内容を読みづらくしたり、利用者に不快感を与えたりする場合があります。必要に応じてprefers-reduced-motionに対応し、動きを減らしたい利用者にも配慮することが重要です。
カスタムプロパティ
カスタムプロパティは、CSSで独自の名前を付けた値を定義し、複数の場所から再利用できる仕組みです。一般的には–main-colorのように名前の先頭に二つのハイフンを付け、var()関数で値を参照します。色や余白、フォントサイズなど、繰り返し使う設定をまとめて管理したい場合に役立ちます。例えば、:rootに–main-color: #336699;と定義し、color: var(–main-color);と記述すれば、同じ色を複数の要素で使えます。値を一か所で変更するだけで参照先にも反映できるため、サイト全体の色や余白を調整しやすくなります。カスタムプロパティは継承される性質があり、要素ごとに異なる値を設定することも可能です。
カスタムプロパティを活用すると、デザインの一貫性を保ち、変更時の手間を減らせます。値が定義されていない場合に備え、var()に代替値を指定する方法もあります。CSS変数という呼び方も一般的ですが、正式にはカスタムプロパティと呼ばれます。基本的な使い方を理解すると、規模の大きなサイトでもスタイルを整理しやすくなります。
CSS変数
CSS変数は、CSS内で値を名前付きで定義し、必要な場所から再利用する仕組みを指す一般的な呼び方です。正式にはカスタムプロパティと呼ばれ、–primary-colorのような名前で値を設定し、var()関数を使って参照します。色や余白、文字サイズなどをまとめて管理できるため、サイト全体のデザインを統一しやすくなります。例えば、ルート要素に–primary-color: navy;と定義しておけば、複数の見出しやボタンでvar(–primary-color)を利用できます。後から色を変更したい場合も、定義した値を一か所修正することで参照先をまとめて更新できます。カスタムプロパティは継承されるため、特定の領域で別の値を指定し、局所的にデザインを変更することもできます。
CSS変数を利用すると、同じ値を何度も書く必要が減り、修正や管理が容易になります。プロジェクト内で色や余白などのルールを整理しておけば、複数人で制作する場合にも共通のデザインを保ちやすくなります。Sassなどの変数との違いも知っておくと、CSS自体が持つ機能を理解し、適切な手段を選べるようになります。
BEM
BEMは、Block、Element、Modifierの頭文字を取った、CSSのクラス名を整理するための命名方法です。Blockは独立した部品、Elementはその部品を構成する要素、Modifierは部品や要素の状態・種類の違いを表します。クラス名に一定のルールを設けることで、HTMLとCSSの対応関係を分かりやすくできます。例えば、cardというBlockに対して、タイトルをcard__title、強調表示した種類をcard–featuredのように表す方法があります。二重アンダースコアや二重ハイフンを使う命名はBEMの代表的な記法です。プロジェクト内で一貫したルールを採用すると、クラス名から部品の構造や役割を推測しやすくなり、複数の開発者がコードを扱う際にも役立ちます。
BEMを活用すると、クラス名の衝突やCSSの管理の複雑さを抑えやすくなります。ただし、命名が長くなりすぎたり、細かい部品を過剰に分けたりすると、かえって読みにくくなる場合もあります。チームやプロジェクトの規模に合わせてルールを決め、意味が伝わりやすく変更しやすいCSSを目指すことが大切です。
Sass
Sassは、CSSをより効率よく記述するために利用されるCSSプリプロセッサーです。変数やネスト、ミックスイン、関数などの機能を利用でき、繰り返しの多いスタイルや複雑な構造を整理しやすくなります。Sass独自の記法で書いたソースをCSSに変換してからブラウザーで利用する仕組みが基本です。Sassには、インデントで構造を表す記法と、CSSに近い波括弧やセミコロンを使うSCSS記法があります。変数に色を保存したり、共通するスタイルをミックスインにまとめたりすることで、同じ記述を何度も書く手間を減らせます。ファイルを分割して管理し、必要なスタイルをまとめて出力する運用にも向いています。
Sassを使うと、大規模なWebサイトや複数人で進めるプロジェクトでCSSを整理しやすくなります。ただし、ブラウザーがSassをそのまま解釈するわけではないため、ビルド環境などでCSSに変換する必要があります。標準CSSの機能も進化しているため、Sass独自の機能とCSS本来の機能を理解し、目的に合わせて使い分けることが重要です。
SCSS
SCSSは、Sassで利用できる記法の一つで、通常のCSSに近い構文を使ってスタイルを記述できます。セレクターやプロパティ、値を波括弧で囲み、各宣言の末尾にセミコロンを付ける形式が基本です。既存のCSSに似ているため、CSSの経験がある人でも比較的理解しやすく、Sassの便利な機能を利用できます。SCSSでは、変数やネスト、ミックスインなどの機能を使って、スタイルの重複を減らしたり構造を整理したりできます。例えば、色を変数にまとめておけば、サイト全体の配色を変更する際に一か所の修正で対応しやすくなります。ただし、ネストを深くしすぎると生成されるCSSが複雑になるため、適度な階層に抑えることが大切です。
SCSSで記述したファイルは、通常コンパイルしてCSSに変換し、ブラウザーで利用します。Sassのインデント記法と比べ、CSSから移行しやすいことが特徴ですが、両者は同じSassの仕組みを利用しています。基本構文と変数などの機能を理解すると、コードを再利用しやすくなり、複数ページのデザインを効率よく管理できます。
Tailwind CSS
Tailwind CSSは、あらかじめ用意されたユーティリティクラスを組み合わせて、Webページのデザインを構築するCSSフレームワークです。例えば、余白や文字色、背景色、配置などのクラスをHTMLに指定することで、専用のCSSを一から書く量を減らせます。クラス名がスタイルの役割を表すため、要素に適用される設定をコード上で確認しやすい仕組みです。Tailwind CSSでは、p-4やtext-centerなどのクラスを使って、パディングや文字揃えなどを指定します。レスポンシブデザインや状態に応じたスタイルも、専用の接頭辞などを利用して設定できます。一方で、HTML内に複数のクラスが並ぶため、慣れないうちは記述が長く感じられることがあります。プロジェクトの構成やバージョンによって設定方法が異なる点にも注意が必要です。
Tailwind CSSを使うと、細かなデザインを素早く調整し、スタイルの一貫性を保ちやすくなります。ただし、すべての場面で最適とは限らず、独自のCSSを併用することもあります。標準CSSの仕組みを理解したうえで利用すると、クラスが何を指定しているのか把握しやすくなり、デザインの変更や不具合の調査にも対応しやすくなります。
Bootstrap
Bootstrapは、WebサイトやWebアプリケーションの画面を効率よく構築するためのフロントエンドフレームワークです。ボタンやナビゲーション、フォーム、カードなどの部品に加え、グリッドシステムやユーティリティクラスが用意されています。既存のスタイルや部品を活用することで、基本的なデザインを比較的短時間で組み立てられます。Bootstrapでは、決められたクラス名をHTMLに指定して、余白や文字の配置、ボタンの外観などを調整できます。グリッドシステムを使えば、画面幅に応じてカラムの数や配置を切り替えるレスポンシブなレイアウトも構築できます。バージョンによってクラスや機能、JavaScriptの扱いが異なるため、使用しているバージョンの仕様を確認することが重要です。
Bootstrapを利用すると、共通する部品やレイアウトを一から作る手間を減らし、ページ全体の統一感を保ちやすくなります。一方、標準のデザインをそのまま使うだけでは、独自性を出しにくい場合もあります。CSSの基本を理解したうえで必要な部分を調整し、プロジェクトの目的や要件に合う形で活用することが大切です。
⇒プログラミング挫折者の特徴10選!挫折しないコツを紹介
まとめ
今回は
「HTML・CSSに関するプログラミング用語」
についてのお話でした。
HTML・CSSの学習では、タグやセレクター、レイアウトの仕組みなどで疑問が生じることがあります。講師に質問してつまずきを解消できれば、理解を深めながら効率よく学習を進められます。自分に合う学習環境を選ぶため、重要点比較に役立つスクールランキングをチェックしてみてください。
⇒HTML、CSSスクールお勧めランキング
⇒HTML、CSSスクールお勧めランキング








