【问题标题】:SVG 1.1 as mask with CSSSVG 1.1 作为带有 CSS 的掩码
【发布时间】:2018-06-14 09:32:27
【问题描述】:

我无法将我的图像蒙版到 Illustrator SVG,我做错了什么?

.contato .tinypic .svgmask-img{
    -webkit-mask: url(#svgmask);
}
<img class="svgmask-img img-responsive" src="http://il7.picdn.net/shutterstock/videos/5241152/thumb/1.jpg">

 <svg version="1.1" id="svgmask" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 250 250" style="enable-background:new 0 0 250 250;" xml:space="preserve">
 <path d="M112,235.6l-92.9-67.5c-7.7-5.6-11-15.6-8-24.7L46.6,34.2c3-9.1,11.4-15.2,21-15.2h114.9c9.6,0,18,6.2,21,15.2l35.5,109.3
    c3,9.1-0.3,19.1-8,24.7L138,235.6C130.2,241.3,119.8,241.3,112,235.6z"/>
 </svg>

我创建了 SVG 并向 SVG 元素添加了一些 jQuery 动画,用于 mouseover 和 mouseout 事件,所以我不能使用其他方法来屏蔽,因为我不想将相同的动画应用于我的图像,只应用于面具。

【问题讨论】:

  • 你想知道为什么 Illustrator 不能识别 webkit 特定的 CSS?
  • img 标签周围的 html 是什么样的?如果其中一个父元素没有 .contato.tinypic 类,则该 css 将无法工作。
  • 一切都正确&lt;div id="contato" class="contato"&gt; &lt;div class="container"&gt; &lt;div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 mydetails-small"&gt; &lt;div class="col-xs-4 hidden-sm hidden-md hidden-lg tinypic"&gt; &lt;img class="svgmask-img img-responsive" src=""&gt;

标签: css svg mask adobe-illustrator


【解决方案1】:

根据您更新 SVG 的方式,您可以尝试使用 clip-path 而不是 -webkit-mask。它确实需要对 SVG 代码进行一些调整,但它可以在 most browsers 中使用。

.contato .tinypic .svgmask-img {
  -webkit-clip-path: url(#svgmask);
          clip-path: url(#svgmask);
}
<div id="contato" class="contato">
  <div class="container">
    <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 mydetails-small">
      <div class="col-xs-4 hidden-sm hidden-md hidden-lg tinypic">
        <img class="svgmask-img img-responsive" src="http://il7.picdn.net/shutterstock/videos/5241152/thumb/1.jpg">
      </div>
    </div>
  </div>
</div>

<svg width="0" height="0">
  <defs>
    <clipPath id="svgmask"> // Path and id moved to defs
      <path d="M112,235.6l-92.9-67.5c-7.7-5.6-11-15.6-8-24.7L46.6,34.2c3-9.1,11.4-15.2,21-15.2h114.9c9.6,0,18,6.2,21,15.2l35.5,109.3
        c3,9.1-0.3,19.1-8,24.7L138,235.6C130.2,241.3,119.8,241.3,112,235.6z" />
    </clipPath>
  </defs>
</svg>

【讨论】:

  • 对不起,忘记我有自动前缀运行。我已经使用特定于 webkit 的规则更新了 css。 jsfiddle link
  • 我在图像上使用 bootstrap img-responsive 标签使其具有响应性但 svg mask 没有,你知道如何使 svg mask 在 bootstrap 上响应吗?
  • img-responsive 标签将应用于未剪辑的图像。因为 svg 比图像小,而且是固定大小,所以它不会填满空间。您需要在勾选响应选项的情况下从 Illustrator 重新导出 svg,以便调整大小,然后将宽度设置为 100%。有关导出响应式 svg 的信息,请参见此处:helpx.adobe.com/illustrator/how-to/…
猜你喜欢
  • 2021-12-26
  • 1970-01-01
  • 2020-01-24
  • 1970-01-01
  • 2013-11-05
  • 2020-10-06
  • 2020-06-02
  • 1970-01-01
  • 2011-05-01
相关资源
最近更新 更多