html – 创建水平居中的背景图像渐变三角形

我想通过使用clip-path:polygon(…)创建一个指向css的三角形,并使用background-image:linear-gradient(…)在其上应用渐变.

这一切都很好,但我需要这个形状作为我的网页的背景.

它需要始终居中,并且需要剪切/剪切不适合浏览器窗口的左右边缘.三角形不应该重新缩放;我想保留三角形边缘的陡度,三角形的高度不应该改变:

enter image description here

如图所示,即使浏览器窗口太小而无法包含三角形,三角形也应保持相同的宽度和高度.

到目前为止,我有

    div.main-background {
        position: absolute;
        z-index: -1;
        top: 0;
        height: 500px;
        width: 100%;
        background-image: linear-gradient(to bottom,#65AAB0,#AEE2B6);
        background-attachment: fixed;
        background-position-x: center; 
        background-size: 1400px 500px;
        clip-path: polygon(50% 80%,0 0,1400px 0);   
    }
    

但这显然是错误的.

最佳答案
你可以用SVG做到这一点

html,body {
  margin: 0
}

svg {
  width: 100%;
}
Box="0 0 1920 400" height="400" preserveAspectRatio="xMidYMax slice">
  polygon points="0,0 960,400 1920,0" fill="url(#Gradient1)">polygon>

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些