私の線形CSSグラデーションが次のようになっていると仮定します。
background: linear-gradient(to right, red 0%, green 20%, blue 40%, purple 60%, yellow 80%, black 100%)
次のようなCSSグラデーションが生成されます。
同じグラデーションを作成する方法を教えてください。ただし、色間の遷移なしで単色を使用しますか? (CSSを使用)
これに似たもの:
このような
.gradient {
width: 500px;
height: 200px;
background: linear-gradient(to right,
red 20%,
green 20%,
green 40%,
blue 40%,
blue 60%,
purple 60%,
purple 80%,
yellow 80%,
yellow 100%
);
}
<div class="gradient"></div>
グラデーションは、色のブレンドによって作成されます。 各色の範囲を指定することで色のブレンド効果を制御できます以下の.flag
の例のように。 .flag
:
#00ae00
は、div
の33.3%
まで適用されます66.6%
まで、white
が適用されますorange
は66.6%
からボックスの終わりまで始まりますこのようにして、必要な数の色を追加できます。
ただし、次数がまっすぐな場合は問題なく表示されます。角度を変更すると、.pixeleted
に示すように、色のエッジが滑らかに見えない場合があります(色と画面の密度によって異なります)。
.flag{
background: linear-gradient(to right, #00ae00 33.3%, white 33.3%, white 66.6%, orange 66.6%);
margin-right: 20px;
}
.pixeleted{
background: linear-gradient(30deg, red 33.3%, black 33.3%, black 66.6%, red 66.6%);
}
div {
width: 290px;
height: 145px;
border: 2px solid #999;
display: inline-block;
}
<div class="flag"></div>
<div class="pixeleted"></div>