带有渐变的CSS三角形

弗雷泽·芬德拉特

我正在尝试实现一个充满渐变三角形三角形应位于页面的左上角,并拉伸水平视口的50%和垂直视口的120%。

我需要三角形上有一个渐变
我已经成功完成了前三件事,但无法使渐变正常工作。
我尝试过用溢出的不同方式来定位伪元素,并且也transform: rotate();可以实现它,但我无法使其正常工作。

是我到目前为止所拥有JSfiddle

.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0 120vh 50vw;
  border-color: transparent transparent transparent green;
}
<div class="triangle"></div>

网络提基

为了保持所需的比例,可以使用带有属性嵌入式SVGpreserveAspectRatio="none"请参见MDN)。这样,宽度和高度将固定到您使用的视口单元。
您可以使用多边形元素来制作三角形,并使用linearGradient元素渐变填充三角形

svg {
  width: 50vw;
  height: 120vh;
}
<svg viewBox="0 0 10 10" preserveAspectRatio="none">
  <defs>
    <linearGradient id="gradient">
      <stop offset="5%" stop-color="darkorange" />
      <stop offset="95%" stop-color="red" />
    </linearGradient>
  </defs>
  <polygon fill="url(#gradient)" points="0 0 10 0 0 10" />
</svg>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章