CSS基礎


1.@mediaについて

 @mediaとはメディアクエリと呼ばれ、ページが表示されている媒体に応じて、cssの割り当てを変更することができる仕組みである。例えば、以下の例では、サイトの幅が1000px以上では背景が黒で表示され、1000px未満では緑で表示されるといったことが可能である。webサイトの状態によるif分岐というイメージだろう。

@media (min-width: 1000px) {
  footer {
    background-color: #16222f ;
  }
}

@media (max-width: 1000px) {
  footer {
    background-color: #2e9744 ;
  }
}

2.hover擬似クラスについて

 hover擬似クラスは、オブジェクト上にマウスカーソルがある場合に適用されるCSSを定義するものである。通常の状態と比較して、サブとして用いられるので、擬似クラスと呼ばれる。例えば、ボタンの色の変更などがある。色の変更などは、元のオブジェクトのCSSに、transition属性を設定することで、変化時間を定義できる。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>ボタンのホバー効果</title>
    <style>
        .button {
            background-color: #4CAF50 ; /* Green */
            border: none;
            color: white;
            padding: 15px 32px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 16px;
            margin: 4px 2px;
            cursor: pointer;
            transition: background-color 0.3s;
        }
        .button:hover {
            background-color: #a0459b ;
            transform: scale(1.1)
        }
    </style>
</head>
<body>
    <button class="button">Hover me</button>
</body>
</html>

3.擬似クラス一覧

hover:マウスカーソルを重ねた場合
active:クリックしている場合
focus:入力選択など
visitd:既に訪れたリンク
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>擬似クラスの例</title>
    <style>
        a {
            color: blue;
            text-decoration: none;
        }
        a:hover {
            color: red;
        }
        a:visited {
            color: purple;
        }
        a:active {
            color: green;
        }
        input:focus {
            border-color: green;
            outline: none;
        }
        p:first-child {
            font-weight: bold;
        }
        p:last-child {
            margin-bottom: 0;
        }
        ul li:nth-child(odd) {
            background-color: #f0f0f0 ;
        }
        ul li:nth-child(even) {
            background-color: #e0e0e0 ;
        }
    </style>
</head>
<body>
    <a href="https://www.example.com">リンク</a>
    <input type="text" placeholder="フォーカスを当ててください">
    <p>最初の段落</p>
    <p>2番目の段落</p>
    <p>最後の段落</p>
    <ul>
        <li>アイテム 1</li>
        <li>アイテム 2</li>
        <li>アイテム 3</li>
        <li>アイテム 4</li>
    </ul>
</body>
</html>

4.margin属性について

 marginは、要素の"外側の"余白を設定するものである。設定方法は様々あるので、場合によって使い分ける。GoogleChromeでは、検証からオレンジ色で余白が表示される。

上下50px、左右0pxの場合
  /* 上下左右 */
  margin: 0px;
  /* 上下 左右 */
  margin: 0px 0px;
  /* 上 左右 下 */
  margin: 0px 0px 0px;
  /* 上 下 左 右 */
  margin: 0px 0px 0px 0px; 
  /* 上下は固定 左右は自動で調節し、コンテンツを中央に配置 */
  margin: 0px auto;

5.padding属性について

 paddingは、要素の"内側の"余白を設定するものである。検証では、緑色で表示される。marginとpadding を使い分けて、要素の位置を設定する。

padding:20px 10pxの場合
  /* 上下左右 */
  padding: 0px;
  /* 上下 左右 */
  padding: 0px 0px;
  /* 上 左右 下 */
  padding: 0px 0px 0px;
  /* 上 下 左 右 */
  padding: 0px 0px 0px 0px; 
  /* 上下は固定 左右は自動で調節し、コンテンツを中央に配置 */
  padding: 0px auto;

6.display属性について

 display属性とは、指定した要素の表示形式を指定する場合に用いる属性である。具体的には、要素をブロックレベル要素か、インライン要素か、flex要素かなどの指定に用いる。以下に例を示す。

display: block;
display: inline;
display: flex;
display: grid;

7.


この記事が気に入ったらサポートをしてみませんか?