我试图在带有圆形底部的图像上使用“剪切路径”。我尝试使用svg剪辑路径,但是剪切是一个外圆,我不知道这是否是最好的方法,因为剪辑位于外部而不是内部,您建议如何实现?

I want to achive this ->

这是我试图做到的codepen:



.section-test {
  padding: 25px 0;
  background-image: url(https://res.cloudinary.com/ddioeulgw/image/upload/v1548437500/test/hero.png);
  background-size: cover;
  height: 85vh;
  clip-path: ellipse(85% 100% at 50% 0%);
}

<section class="section-test">

</section>





https://codepen.io/kenmarquez-the-typescripter/pen/ombege

I want to achive this ->

最佳答案

这就是我的方法:我将使用SVG元素。 clipPath的clipPathUnits="objectBoundingBox"和路径的所有值都在0到1之间。



svg{position:absolute}
.section-test {
  padding: 25px 0;
  background-image: url(https://res.cloudinary.com/ddioeulgw/image/upload/v1548437500/test/hero.png);
  background-size: cover;
  height: 85vh;
  clip-path: url(#clip);
  }

<svg height="0" width="0" >
    <defs>
         <clipPath id="clip" clipPathUnits="objectBoundingBox">
           <path d="M0,0 L0,.5 A1,1 0 0  1 1,.5 L1,0 0,0" />
        </clipPath>
    </defs>
</svg>

<section class="section-test">
</section>





希望对您有所帮助。


  clipPathUnits =“ objectBoundingBox”:此值指示元素内的所有坐标都相对于应用了剪切路径的元素的边界框。这意味着坐标系的原点是对象边界框的左上角,并且对象边界框的宽度和高度被认为具有1个单位值的长度。


MDN报价

10-07 21:10