SVG剪辑路径根据视口调整大小

i_calim

我正在努力调整HTML设置中裁剪的svg的大小。我正在寻找类似的解决方案,但找不到任何解决方案。我正在尝试根据垂直屏幕视口调整裁剪的svg的大小。这是我的设置的codepen示例:

.slider-image {
  clip-path: url(#clip);
  -webkit-clip-path: url(#clip);
}
<div>
  <img class="w-full h-full slider-image object-cover absolute top-0 left-0 z-20" src="https://images.unsplash.com/photo-1558611848-73f7eb4001a1?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1051&q=80" >
  <svg width="100%" height="90vh" viewBox="0 0 1159 548" xmlns="http://www.w3.org/2000/svg">
    <defs>
      <clipPath id="clip">
        <path d="M989 547.5H0V0H1156L1159 9L1157.5 18.5L1147 89.5L1157.5 126L1120 244.5L1088 309L1041 369.5L989 445.5L962 503.5L989 547.5Z" fill="url(#paint0_linear)"/>
        <circle cx="350" cy="168" r="80"/>
      </clipPath>
    </defs>
  </svg>                
</div>

https://codepen.io/ilkrclm/pen/oNNMQor?editors=1100

仙客来

在这种情况下,解决方案正在使用 clipPathUnits="objectBoundingBox"

clipPathUnits属性指示要用于<clipPath>元素内容的坐标系

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

了解有关clipPathUnits的信息

由于对象边界框的长度为1个单位,因此您需要缩放路径:transform="scale(0.00086)"路径的边界框的宽度为1159。1/1159 = 0.00086。

我已将圈子圈出,因为在这种情况下没有做任何事情。

*{margin:0;padding:0}
.slider-image {
  width:100%;
  clip-path: url(#clip);
  -webkit-clip-path: url(#clip);
}
<div>
  <img class="w-full h-full slider-image object-cover absolute top-0 left-0 z-20" src="https://images.unsplash.com/photo-1558611848-73f7eb4001a1?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1051&q=80" >
  <svg xmlns="http://www.w3.org/2000/svg">
    <defs>
      <clipPath id="clip" clipPathUnits="objectBoundingBox">
        <path transform="scale(0.00086)" d="M989 547.5H0V0H1156L1159 9L1157.5 18.5L1147 89.5L1157.5 126L1120 244.5L1088 309L1041 369.5L989 445.5L962 503.5L989 547.5Z" fill="url(#paint0_linear)"/>
        <!--<circle transform="scale(0.00086)" cx="350" cy="168" r="80"/>-->
      </clipPath>
    </defs>
  </svg>                
</div>

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据视口调整画布的大小

如何根据视口大小调整Div高度?

没有运气调整SVG剪辑路径的大小

移动键盘调整视口大小

如何在不调整大小的情况下使SVG图像的视口方形化?

Chrome视口调整大小没有显示?

Unity scrollrect视口不可调整大小

jQuery div填充视口并调整大小无法正常工作

根据视口宽度动态调整伪元素高度

根据视口大小切换PHP值

Vue.js根据视口大小更改开关类

设置背景图像以根据视口大小进行覆盖

根据视口大小更改 href(没有 jquery)

如何在视口调整大小时逐步缩放以调整图像大小

可调整大小的div脚本调整大小将div推到视口之外

如何相对于视口大小调整轮播大小 Boostrap 4.1.0

React-spring useSpring() 可防止调整窗口大小时更新视口大小

Bootstrap 断点视口大小

如何调整SVG剪切路径的大小?

SVG组的大小调整路径

在Chrome开发者工具中调整窗口大小时是否显示视口宽度?

在浏览器调整大小(视口宽度)上动态添加类

调整视口大小后,Firefox和Chrome中的div宽度变化不同

仅在适合视口的情况下启用JTable的自动调整大小

在不调整柏树视口大小的情况下捕获元素的屏幕截图

在消失之前调整视口大小时,将显示Pure CSS Hamburger菜单

对必须在视口之间调整大小的图像使用引导程序

垂直调整视口大小时,高度为100%的Div变得小于100%

有关图像调整大小(视口)的几个问题