相关疑难解决方法(0)

具有内联SVG的响应式剪辑路径

在具有背景的元素上(图像或纯色并不重要):

<header id="block-header"></header>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用SVG应用剪辑路径.为了实现这一点,我将SVG内联到这样的相同元素中:

<header id="block-header">
    …
    <svg width="100%" height="100%" viewBox="0 0 4000 1696" preserveAspectRatio="none">
        <defs>
          <clipPath id="myClip">
            <path d="M0 1568.18V0h4000v1568.18S3206.25 1696 2000 1696C984.37 1696 0 1568.18 0 1568.18z"/>
          </clipPath>
        </defs>
    </svg>
    …
</header>
Run Code Online (Sandbox Code Playgroud)

您可以运行下面的代码片段或检查JSFiddle.您可以看到内嵌的原始SVG图像(黑色),沿底部具有曲线并具有响应性.相反,红色矩形显示相同的图像(或者更确切地说,未应用)作为a clip-path.

我想我误解了viewBox或者preserveAspectRatio属性虽然找不到这里究竟是什么错误.任何帮助,将不胜感激.

#block-header {
    background: Red;
    min-height: 100px;
    -webkit-clip-path: url(#myClip);
	clip-path: url(#myClip);
}
Run Code Online (Sandbox Code Playgroud)
<h1>SVG image</h1>
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100" viewBox="0 0 4000 1696" preserveAspectRatio="none"><path d="M0 1568.18V0h4000v1568.18S3206.25 1696 2000 1696C984.37 1696 0 1568.18 0 1568.18z"/></svg>

<h1><code>clip-path</code> using the same …
Run Code Online (Sandbox Code Playgroud)

css svg responsive-design clip-path

10
推荐指数
1
解决办法
9837
查看次数

如何调整 SVG 的 ClipPath 区域的大小?

我有这样的代码:

.img-container {
  width: 300px;
  height: 300px;
  background-color: lightgreen;  
  overflow: hidden;
}

.clipped-img {
  clip-path: url('#header-clip-svg');
}
Run Code Online (Sandbox Code Playgroud)
<div class="img-container">

  <!--clipping SVG-->
  <svg height="0" width="0">
    <defs>
      <clipPath id="header-clip-svg">
        <path d="M199.6,18.9c-4.3-8.9-12.5-16.4-22.3-17.8c-11.9-1.7-23.1,5.4-32.2,13.2c-9.1,7.8-17.8,16.8-29.3,20.3c-20.5,6.2-41.7-7.4-63.1-7.5C38.7,27,24.8,33,15.2,43.3c-35.5,38.2-0.1,99.4,40.6,116.2c32.8,13.6,72.1,5.9,100.9-15c27.4-19.9,44.3-54.9,47.4-88.6c0.2-2.7,0.4-5.3,0.5-7.9C204.8,38,203.9,27.8,199.6,18.9z"></path>
      </clipPath>
    </defs>
  </svg>

  <!-- clipped image-->
  <img class="clipped-img" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3341051/team.jpg"/>
  
</div>
Run Code Online (Sandbox Code Playgroud)

我想增加剪裁形状尺寸,使其具有彩色绿色区域的宽度。有没有办法做到这一点?

css svg clip-path

9
推荐指数
1
解决办法
642
查看次数

标签 统计

clip-path ×2

css ×2

svg ×2

responsive-design ×1