CSSとは??

date_range 2024/04/15
日々の活動日記エンジニアインターン
CSSとは?

こんにちは!

京都開発研究所、Webプログラマーコースの長期インターン生、松木智哉です!!


最近の業務ではWebサイトの模写を行っています!!そこで必要なHTMLとCSSのうち、本日はCSSの基礎について簡単にまとめていきます!

CSSのコードを書くにあたって最低限必要な概念を載せてます!

まだCSSを学び始めたばかりなのでわかりにくい部分もたくさんあると思います。


CSS(Cascading Style Sheets)

CSSはHTMLやXMLなどのマークアップ言語で書かれた文書の表示方法を指定するための言語です!!CSSを使用することで、ウェブページの見た目やレイアウトを簡単に変更することができます。

基本構文

CSSのスタイルルールは、「セレクタ { プロパティ:値;」という形式で記述します!セレクタはスタイルを適用する要素を指定し、プロパティと値のペアはその要素に対して適応するスタイルを定義します!


具体例


h1 { 

      color : red;

      font-size: 24px;

}


セレクタ:h1

プロパティ; color、font-size

値: red、24px

これにより”h1” 要素のテキストの色が赤くなり、フォントサイズが24pxになる。

セレクタ

CSSによるデザイン指定をどこの部分に対して適用するのかを決めるものです!

必要な用語

  • 子要素:特定の要素が有している一つ下の階層にある要素

  • 親要素:子要素を含む要素のこと

  • 子孫要素:親要素から直接的または間接的に派生した要素のこと

CSSにおける基本的なセレクタの種類

  • 全称セレクタ:*」を用いる。全ての要素を選択します!

         * { 

          color: red

         }

  • 要素型セレクタ:タグ名」を用いる。指定した要素を選択します!

p { 

          color: red

         }


  • クラスセレクタ:. クラス名」を用いる。指定したクラス名を持つ要素を選択します!

.body-text { 

          color: red

         }


  • IDセレクタ:#」を用いる。指定したID属性を持つ要素を選択します!

      #main { 

          color: red

         }


  • 属性セレクタ:属性名を「[...]」で囲む。指定した属性名を持つ要素を選択します!

     a [target] { 

         color: red

        }


  • 子孫セレクタ:親要素と子要素を「スペース」で区切る。指定した親要素の子孫要素を選択します!

  .container p { 

         color: red

        }


  • 子セレクタ:親要素と子要素を「>」で区切る。指定した親要素の直接の子要素のみを選択します!!

     .container > p { 

         color: red

        }


  • 相対位置セレクタ:直後の要素は「+」で指定し、同階層の後に続く要素には「~」で指定します。

     h2 + p { 

         color: red

        }


        h2 ~ p { 

         color: red

        }


  • 疑似クラスセレクタ::名前」で指定する。特定の状態や位置にある要素を選択します!例えば、「:hover」はマウスが要素の上にある時を指している。

     a:hover { 

         color: red

        }


他にも便利なセレクタが存在します。必要に応じて調べたいと思います!

CSSのプロパティ

レクタで指定した部分にしたい装飾内容をプロパティを用いて記述します。

CSSのプロパティはたくさんあるので、適宜調べていきたいです。

CSSのボックスモデル

ウェブ上の要素がどのように配置されるか理解するために必要な概念です!

ボックスモデルの概要

ボックスモデルとは、要素が「コンテンツ」、「パディング」、「ボーダー」、「マージン」の4つの領域から構成されているという概念です。


  • コンテンツ:要素の実際の内容が表示される領域です!!幅と高さを持ちます!

  • パディング:コンテンツとボーダーの余白の領域です!背景色や背景画像がつく!

  • ボーダー:コンテンツとパディングを囲む線(境界線)です!太さ、スタイル、色を指定することができます!

  • マージン:要素とそのその要素との間の空白領域です!他の要素との間隔を調整するために使用されます!

https://commons.wikimedia.org/wiki/File:Box-model.svg


ボックスモデルの活用

ボックスモデルを活用することで、要素のサイズや配置を細かく制御することができます!


パディングの設定方法

要素のパディングは「paddingプロパティ」を使用して設定します!上下左右全てのパディングを20pxに設定する場合は以下のように記述します!!

.box {

    padding: 20px;

}

マージンの設定方法

要素のマージンは「marginプロパティ」を使用して設定します!!上下左右全てのマージンを20pxに設定する場合は以下のように記述します!

.box {

    margin: 20px;

}


CSSの一般的なレイアウト方法

浮動による回り込み(float)

要素を左または右に浮動(float)させることにより、テキストや画像を回り込ませることができます!clear fix(クリアフィックス)の理解も必要です!!

clear fix:flaot要素は親要素は子要素の高さを認識できなくなるという問題があります!この回り込みに対処するための方法です!

ポジション指定(position)

  •  static: 指定なし(デフォルト)

  •  relative: 通常の位置を基準として指定した相対位置に配置

  •  absolute: 最も近い position:relative 以外の祖先要素を基準として指定した絶対位置に配置

  •  fixed: ビューポートを基準として指定した絶対位置に固定される

  •  sticky: スクロール位置に合わせて固定表示されたり通常の位置に戻ったりする

 フレックスボックスレイアウト

コンテナ要素にdisplay:flexを指定すると、子要素をメイン軸方向に並べることができます。子要素の配置・サイズ・方向を細かく制御可能。

グリッドレイアウト

コンテナ要素にdisplay:gridを指定すると、フレックスボックスレイアウトよりも細かく、行と列によるグリッド状のレイアウトを実現できます。


レイアウトについては、少し難しいのでこれからCSSを実際に動かしながら理解をしていきたいと思います!!

まずは、HTMLとCSSを身につけ、自作サイトを作れるようにしていきたいです!!


-----------------------------------------------

G!FIT公式Instagram:https://www.instagram.com/gfit_gdn/

G!FIT公式Twitter:https://twitter.com/gfit_gdn

メンバー紹介ページ:https://guardian.jpn.com/member/tomoya_matsuki/













*COMMENT*

  • 下川 春樹

    下川 春樹

    更新日:2024-04-15 17:45

    *コメント*

    お疲れ様です。
    私自身も完全に全て理解している訳ではありませんが、CSSも日々どんどん進化していってますねー。
    レイアウト方法のところに記載のあるfloatなんかも最近では滅多に使わなくなった印象です。
    grid・flexがとても便利なのでこちらは押さえておきたいのと、positionのところも奥が深いので是非色々調べてやってみて下さい!

    *コメント*

  • 芹原 まなみ

    芹原 まなみ

    更新日:2024-04-15 18:13

    *コメント*

    私もCSS学び中で課題への学習中です!
    いつも「なんでCSSが効かないの」と半泣きになりながらあーでもないこーでもないと、試行錯誤しております。
    業務にも活かせるよう実践してしっかり身につけていきたいです。

    *コメント*

  • 石川 航

    石川 航

    更新日:2024-04-15 21:54

    *コメント*

    お疲れ様です
    HTMLとCSSは、現行バージョンのHTML5とCSS3が主流になってから、
    CSSだけで作れるデザインのバリエーションが増えたと実感しています
    日々新しい構築トレンドが生まれているので、変化に付いていけるようにしていきましょう

    *コメント*

  • 岡部 ちよ

    岡部 ちよ

    更新日:2024-04-16 10:32

    *コメント*

    松木さん、おつかれさまです!
    わたしも、以前CSSをさわったことがあります!
    プロパティ、値という専門用語があることは、はじめて知りました...!
    分かりやすいご説明、ありがとうございます!

    *コメント*

  • 奥村 優

    奥村 優

    更新日:2024-04-17 15:36

    *コメント*

    お疲れ様です!
    CSS頑張っているんですね。経験上実案件ではCSSに直接記述するというのは少なくSassという言語を使用してコーディングしていくのがほとんどのためもしよければそちらも色々調べてみてください!

    *コメント*

*コメント*

*ログイン*

メールアドレス
パスワード