CodeGym /コース /Frontend SELF JA /グラデーション

グラデーション

Frontend SELF JA
レベル 18 , レッスン 5
使用可能

5.1 線形グラデーション

グラデーションはウェブデザインで強力なツールで、画像を使わずに色の滑らかな移行を作成できるんだ。CSSは主に2種類のグラデーションを提供してる:線形(linear-gradient)と放射状(radial-gradient)。これらのグラデーションは要素の背景やボタンの作成、その他の視覚効果に使われるよ。

線形グラデーション (linear-gradient)

線形グラデーションは、特定の線(軸)に沿って2色以上の色の滑らかな移行を作成するよ。線は水平、垂直、または任意の角度で設定できるんだ。

構文

    
      background: linear-gradient( direction, color-stop1, color-stop2, ...);
    
  

  • direction: グラデーションの方向。度単位で指定できる(例:90deg)、キーワードを使うことも可能(例:to right, to bottom left
  • color-stop: グラデーション内の色とその位置を決めるカラーストップ

使用例

水平グラデーション:

CSS
    
      .linear-gradient-horizontal {
        width: 200px;
        height: 200px;
        background: linear-gradient(to right, red, yellow);
      }
    
  
HTML
    
      <body>
        <div class="linear-gradient-horizontal">水平グラデーション</div>
      </body>
    
  

垂直グラデーション:

CSS
    
      .linear-gradient-vertical {
        width: 200px;
        height: 200px;
        background: linear-gradient(to bottom, blue, green);
      }
    
  
HTML
    
      <body>
        <div class="linear-gradient-vertical">垂直グラデーション</div>
      </body>
    
  

斜めグラデーション:

CSS
    
      .linear-gradient-diagonal {
        width: 200px;
        height: 200px;
        background: linear-gradient(45deg, purple, pink);
      }
    
  
HTML
    
      <body>
        <div class="linear-gradient-diagonal">斜めグラデーション</div>
      </body>
    
  

多色グラデーション:

CSS
    
      .linear-gradient-multi {
        width: 200px;
        height: 200px;
        background: linear-gradient(to right, red, yellow, green, blue);
      }
    
  
HTML
    
      <body>
        <div class="linear-gradient-multi">多色グラデーション</div>
      </body>
    
  

コードの説明:

  • to right: グラデーションは左から右へ進むよ
  • to bottom: グラデーションは上から下へ進むよ
  • 45deg: グラデーションは45度の角度で進むよ
  • red, yellow, green, blue: 多色グラデーションを作るための色のストップがいくつかあるよ

5.2 放射状グラデーション

radial-gradientは中心から外側へ色が滑らかに移行するグラデーションを作成するよ。放射状グラデーションは3Dのような面白い視覚効果を作成することができるんだ。

構文:

    
      background: radial-gradient( direction, color-stop1, color-stop2, ...);
    
  

値:

  • shape: グラデーションの形で、circle(円)やellipse(楕円)にできる(デフォルトは楕円)
  • size: グラデーションのサイズで、closest-sideclosest-cornerfarthest-sidefarthest-cornerが使えるよ
  • position: グラデーションの中心の位置で、パーセントやピクセル、キーワード(例:center, top, left)で指定できるんだ
  • color-stop: グラデーション内の色とその位置を決めるカラーストップ

使用例

円形グラデーション:

CSS
    
      .radial-gradient-circle {
        width: 200px;
        height: 200px;
        background: radial-gradient(circle, red, yellow);
      }
    
  
HTML
    
      <body>
        <div class="radial-gradient-circle">円形グラデーション</div>
      </body>
    
  

楕円グラデーション:

CSS
    
      .radial-gradient-ellipse {
        width: 200px;
        height: 200px;
        background: radial-gradient(ellipse, blue, green);
      }
    
  
HTML
    
      <body>
        <div class="radial-gradient-ellipse">楕円グラデーション</div>
      </body>
    
  

中心からのグラデーション:

CSS
    
      .radial-gradient-at-center {
        width: 200px;
        height: 200px;
        background: radial-gradient(circle at center, purple, pink);
      }
    
  
HTML
    
      <body>
        <div class="radial-gradient-at-center">中心からのグラデーション</div>
      </body>
    
  

角からのグラデーション:

CSS
    
      .radial-gradient-at-corner {
        width: 200px;
        height: 200px;
        background: radial-gradient(circle at top left, red, blue, green);
      }
    
  
HTML
    
      <body>
        <div class="radial-gradient-at-corner">角からのグラデーション</div>
      </body>
    
  

コードの説明:

  • circle: 円形グラデーションを作成するよ
  • ellipse: 楕円グラデーションを作成するよ
  • at center: グラデーションは中心から開始するよ
  • at top left: グラデーションは左上から開始するよ
  • red, blue, green: 多色グラデーションを作るための色のストップがいくつかあるよ

5.3 グラデーションの追加設定

繰り返しグラデーション

1. 繰り返し線形グラデーション (repeating-linear-gradient)

繰り返し線形グラデーションは、線形グラデーションを使った繰り返し模様を作成するよ。

CSS
    
      background: repeating-linear-gradient(45deg, red, yellow 10%, green 20%);
    
  

2. 繰り返し放射状グラデーション (repeating-radial-gradient)

CSS
    
      background: repeating-radial-gradient(circle, red, yellow 10%, green 20%);
    
  

3. 透明なカラーストップ

カラーストップには透明度を含めることができ、より複雑な視覚効果を作成できるんだ。

CSS
    
      background: linear-gradient(to right, rgba(255, 0, 0, 0.5), rgba(0, 0, 255, 0.5));
    
  

4. 複数のグラデーションを一緒に使う

複数のグラデーションを使って複雑な背景を作成できるよ。

CSS
    
      background: linear-gradient(to right, red, yellow), radial-gradient(circle, blue, green);
    
  
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION