0
0

第七回: CSSの書き方

Last updated at Posted at 2024-08-30

こんにちは、株式会社カスタマトリックスの寺尾です。

こちらは 新卒社員と学ぶWEBプログラミング 企画になります。
可能な限り毎日更新していくのでご期待ください。

本日は第七回、「CSSの書き方」を説明していきます。

前回はこちら
https://qiita.com/r-terao/items/5f63b84fbf4d007ab12f

第一回はこちら
https://qiita.com/r-terao/items/e6237c4dc59db9e96ec6

CSSの書き方

CSSはスタイルのルールを記述する言語のため、記法にも明確な基準があります。
※サンプルコードは見た目のために.scssで記述してますが、最近は.cssでも入れ子構造に対応しているので同じ書き方で問題ないです。

構造.scss
body {
    margin: 0;
    padding: 0;
    font-size: 20px;
}

#test-id {
    color: red;
}

.test-class {
    background-color: rgba(100, 100, 100, 0.5);
    a {
        font-size: 16px;
    }
}

このように、スタイルを当てる対象に対して括弧で区切って内容を記述します。
括弧を入れ子にする事で「〇〇かつ××」という表現が可能です。

CSSのセレクタ

CSSで「スタイルを当てる対象」を検索するために「セレクタ」というものが存在します。

セレクタはシンプルセレクタ結合子グループ疑似要素に分かれています。

シンプルセレクタは6種類存在します。

  1. ユニバーサルセレクタ
    全ての要素が対象
    universal.css
    * {
        
    }
    
  2. タイプセレクタ
    指定した要素名の要素が対象
    type.css
    h1 {
        
    }
    
  3. IDセレクタ
    指定したIDを持つ要素が対象
    id.css
    #test {
        
    }
    
  4. 属性セレクタ
    特定の属性、或いは特定の属性の値を持つ要素が対象
    attr.css
    [href="https://test.com"] {
        
    }
    
  5. クラスセレクタ
    指定したクラスを持つ要素が対象
    class.css
    .test {
        
    }
    
  6. 疑似クラス
    特定の状態の要素、或いは特定の順序などにある要素が対象
    pseudo-c.css
    :first-of-type {
        
    }
    

CSSは「必ずユニバーサルセレクタかタイプセレクタから書き始める(ただしシンプルセレクタが続く場合ユニバーサルセレクタを省略できる)」というルールがあります。
そのため、ほぼ必ずシンプルセレクタから書き始めます。

その他のセレクタとして下記が存在します。

  1. 結合子
    ある要素に対して親子(入れ子)や兄弟(隣接)にあたる要素が対象
    combine.css
    h1 + div {
        
    }
    
  2. グループ
    別々のセレクタに同じスタイルを適用できる
    group.css
    .test, h1 {
        
    }
    
  3. 疑似要素
    要素全体ではなく、要素の一部や前後を対象にできる
    pseudo-e.css
    :after {
        
    }
    

CSSの優先順位

CSSなどのスタイルには優先順位があります。
下記の順で優先されていきます。(同列の場合下のランクのモノを比較する)

  1. 設定元
    1. important付ユーザーエージェント(ブラウザごとに定義されているもの)
    2. important付ユーザー(ブラウザにユーザが設定できるもの)
    3. important付製作者(WEBサイトのCSS)
    4. 製作者
    5. ユーザー
    6. ユーザーエージェント
  2. CSSの記述元
    1. インライン(HTML要素に直書き)
    2. CSSファイル
  3. セレクタの優先順位
    1. IDセレクタ
    2. クラスセレクタ
    3. タイプセレクタ
    4. それ以外
  4. セレクタの詳細度
    1桁目を「タイプセレクタの個数」
    2桁目を「クラスセレクタの個数、属性セレクタの個数、疑似クラスの個数」
    3桁目を「IDセレクタの個数」
    上記の3桁からなる数字を比較して数字の高い方が優先

Importantはスタイルの記述の末尾に!importantと書くもので、優先度を飛躍的に高める事ができます。

important.css
a {
    color: red !important;
}

まとめ

  • CSSはセレクタと括弧を合わせて特定の要素のみにスタイルを指定する事で、複数のデザイン定義を管理している
  • セレクタは基本6種類があり、それらを組み合わせて要素を指定する
  • 優先度が厳密に設定されている

CSSはややこしいルールが多いですが、基本的にはセレクタさえ覚えておけば問題ないです。
思ったスタイルが当たらない時に優先度を思い出せるようにしておくと良いですね。

次回は未定です。

おまけ

株式会社カスタマトリックスはエンジニアを募集しています!
完全未経験でも可!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0