UI/UX - CSS でスタイル定義


CSS とは

Web ページの見た目を装飾するのが CSS (Cascading Style Sheets) です。HTML でページの骨格を作り、それに対して CSS で色、フォント、レイアウトなどを指定します。

CSS 基本構文

CSS では、HTML 要素にスタイルを適用するためのルールを記述します。

セレクタ {
  プロパティ: ;
  プロパティ: ;
}
用語 説明
セレクタ どの HTML 要素にスタイルを適用するかを指定します。 (下記「セレクタの種類」参照)
プロパティ 変更したいスタイルの種類 color, font-size, margin
プロパティに設定する具体的な値 blue, 16px, 10px 20px

セレクタの種類

セレクタは以下の 3 種類に大別されます。(疑似要素を含めるともう少し増えます。) これらを使い分けることで、スタイル適用範囲に幅と柔軟性を持たせることができます。

種類
要素セレクタ p { color: blue; } (すべての <p> 要素)
class セレクタ .my-button { background-color: green; } (タグに class="my-button" 属性を持つ要素)
ID セレクタ #header { font-size: 24px; } (タグに id="header" 属性を持つ要素)

CSS コード例

テキスト: 色やフォントサイズ

h1 {
  /* 文字色を濃いグレーに */
  color: #333;
  /* フォントサイズを 32 ピクセルに */
  font-size: 32px;
  /* テキストを中央揃えに */
  text-align: center;
}

ボタン: UI 要素のスタイル

.button {
  /* 背景色を青に */
  background-color: #007bff;
  /* 文字色を白に */
  color: white;
  /* 内側の余白 */
  padding: 0.2em 0.4em;
  /* 枠線をなくす */
  border: none;
  /* 角を丸くする */
  border-radius: 0.2rem;
  /* マウスカーソルをポインターに */
  cursor: pointer;
}

レイアウト (Flexbox の基本)

.container {
  /* この要素を Flexbox コンテナにする */
  display: flex;
  /* 子要素の水平方向: 両端に配置 */
  justify-content: space-between;
  /* 子要素の垂直方向: 中央に配置 */
  align-items: center;
}

Vue ではスタイルをどこに書くのでしょうか。

  • 一つの方法は、すでに見た単一ファイルコンポーネント (SFC) すなわち .vue ファイルの中で <style> タグに記述する方法です。そのコンポーネントに特化した CSS を記述できます。
  • 共通のスタイルやユーティリティ class 定義を外部ファイル (.css) に記述することも可能です。希望の場所で読み込んで使用します。

Comments or feedbacks are welcomed and appreciated.