CSSでグラデーションのボタンを作るには
background に linear-gradient を指定し、角丸と余白を添えてグラデーションのボタンを作る基本形を示す。
hover で明度を少し上げて押せる印象を出す。
未実行 CSS の構文と仕様で確認したもので、ブラウザでの描画確認はまだ行っていない。
公開: 更新:
<button class="grad-btn">グラデーションボタン</button>.grad-btn {
padding: 12px 28px;
border: none;
border-radius: 8px;
color: #fff;
font-size: 15px;
font-family: system-ui;
cursor: pointer;
background: linear-gradient(135deg, #10b981, #059669);
box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
transition: filter 0.2s;
}
.grad-btn:hover {
filter: brightness(1.08);
}background に linear-gradient を指定すると、複数の色が滑らかにつながった背景になる。
角度(135deg など)で向きを決められるため、単色よりも立体感のあるボタンに仕上がる。
つまずき
グラデーションが出ないときや、余計な枠が残るときは次の 2 点を確認する。
- グラデーションは
backgroundもしくはbackground-imageに書く。background-colorは単色しか受け付けないため、グラデーションを指定できない。 button要素はブラウザ既定の枠線と背景を持つ。border: noneと背景の指定をセットで書かないと、グラデーションの上に既定の枠線が残って見える。
.grad-btn {
padding: 12px 28px;
border: none;
border-radius: 8px;
color: #fff;
font: 15px system-ui;
background-color: linear-gradient(135deg, #3b82f6, #1d4ed8);
}.grad-btn {
padding: 12px 28px;
border-radius: 8px;
color: #fff;
font: 15px system-ui;
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}.grad-btn {
padding: 12px 28px;
border: none;
border-radius: 8px;
color: #fff;
font: 15px system-ui;
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
}