如何让倾斜不影响梯度css
How to make skew not affect gradient css
我正在尝试将渐变应用于倾斜 div 但渐变从倾斜开始的地方开始,并且无论我使用什么角度,它都不会应用我正在寻找的渐变。
这是我要复制的渐变
但我得到了一个非常不同的结果...颜色不对,而且我右侧的颜色太绿了。您可以注意到在上图中,渐变从底部的小楔形开始,但我的渐变从整个底部开始。
.main {
height: 80vh;
background-color: white;
}
.skew-div {
height: 100%;
width: 100%;
position: absolute;
top: 0;
background: linear-gradient(180deg, #1D2345 0%, #242766 27.88%, #294B7C 52.91%, #2E6E92 76.86%, #40CE9C 104.51%);;
transform: skewY(-12deg);
transform-origin: 0;
}
<div class="main">
<div class="skew-div">
</div>
</div>
如果不将图像作为背景,这是否可行?
使用剪辑路径
.main {
height: 80vh;
background-color: white;
position:relative;
}
.skew-div {
height: 100%;
width: 100%;
position: absolute;
top: 0;
background: linear-gradient(180deg, #1D2345 0%, #242766 27.88%, #294B7C 52.91%, #2E6E92 76.86%, #40CE9C 104.51%);
clip-path: polygon(0 0, 100% 0, 100% 70%, 0 100%);
}
<div class="main">
<div class="skew-div">
</div>
</div>
您可以使用 clip-path
属性
.main {
height: 80vh;
background-color: white;
}
.skew-div {
height: 100%;
width: 100%;
position: absolute;
top: 0;
background: linear-gradient(180deg, #1D2345 0%, #242766 27.88%, #294B7C 52.91%, #2E6E92 76.86%, #40CE9C 104.51%);
;
clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
}
<div class="main">
<div class="skew-div">
</div>
</div>
您可以使用 clip-path
属性 而不是 transform: skewY()
。 transform
有时会突然产生一些令人困惑的问题。这就是为什么你有时应该使用 属性 来逃避。否则使用正确的 Browser Vendor Prefixes.
如果您觉得配置有任何困难 clip-path
属性 那么您可以使用这个第 3 方网站生成剪辑路径值 =>
https://bennettfeely.com/clippy/
我正在尝试将渐变应用于倾斜 div 但渐变从倾斜开始的地方开始,并且无论我使用什么角度,它都不会应用我正在寻找的渐变。
这是我要复制的渐变
但我得到了一个非常不同的结果...颜色不对,而且我右侧的颜色太绿了。您可以注意到在上图中,渐变从底部的小楔形开始,但我的渐变从整个底部开始。
.main {
height: 80vh;
background-color: white;
}
.skew-div {
height: 100%;
width: 100%;
position: absolute;
top: 0;
background: linear-gradient(180deg, #1D2345 0%, #242766 27.88%, #294B7C 52.91%, #2E6E92 76.86%, #40CE9C 104.51%);;
transform: skewY(-12deg);
transform-origin: 0;
}
<div class="main">
<div class="skew-div">
</div>
</div>
如果不将图像作为背景,这是否可行?
使用剪辑路径
.main {
height: 80vh;
background-color: white;
position:relative;
}
.skew-div {
height: 100%;
width: 100%;
position: absolute;
top: 0;
background: linear-gradient(180deg, #1D2345 0%, #242766 27.88%, #294B7C 52.91%, #2E6E92 76.86%, #40CE9C 104.51%);
clip-path: polygon(0 0, 100% 0, 100% 70%, 0 100%);
}
<div class="main">
<div class="skew-div">
</div>
</div>
您可以使用 clip-path
属性
.main {
height: 80vh;
background-color: white;
}
.skew-div {
height: 100%;
width: 100%;
position: absolute;
top: 0;
background: linear-gradient(180deg, #1D2345 0%, #242766 27.88%, #294B7C 52.91%, #2E6E92 76.86%, #40CE9C 104.51%);
;
clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%);
}
<div class="main">
<div class="skew-div">
</div>
</div>
您可以使用 clip-path
属性 而不是 transform: skewY()
。 transform
有时会突然产生一些令人困惑的问题。这就是为什么你有时应该使用 属性 来逃避。否则使用正确的 Browser Vendor Prefixes.
如果您觉得配置有任何困难 clip-path
属性 那么您可以使用这个第 3 方网站生成剪辑路径值 =>
https://bennettfeely.com/clippy/