当前位置: 首页 > 面试题库 >

Internet Explorer和剪切路径

封永嘉
2023-03-14
问题内容

据我所知,正如许多文章和本教程CSSMasking中所展示的那样,剪贴路径应该在IE中也可以使用

但是我无法让以下内容在IE上正常运行,但在Chrome上运行正常。

.container {

  position: relative;

  width: 240px;

  height: 500px;

  left: 50%;

  top: 50%;

}



.pentagon {

  -webkit-clip-path: polygon(0px 0px, 100px 0px, 112px 13px, 240px 13px, 240px 250px, -250px 250px);

  -o-clip-path: polygon(0px 0px, 100px 0px, 112px 13px, 240px 13px, 240px 250px, -250px 250px);

  -ms-clip-path: polygon(0px 0px, 100px 0px, 112px 13px, 240px 13px, 240px 250px, -250px 250px);

  float: left;

}



.avatar {

  margin-top: 50px;

}



html {

  text-align: center;

  min-height: 100%;

  background: linear-gradient(white, #ddd);

}



h1,

p {

  color: rgba(0, 0, 0, .3);

}


<div class="container">

  <div class="avatar">

    <img class="pentagon" src="http://25.media.tumblr.com/tumblr_m5nre6cxkQ1qbs7p5o1_r1_500.jpg" alt="" />

  </div>

</div>



<svg>

  <defs>

    <clipPath id="pentagon" clipPathUnits="objectBoundingBox">

      <polygon points=".5,0 1,.30 .2,1 .2,1 0,.30" />

    </clipPath>

  </defs>

</svg>

问题答案:

经过更深入的研究,当直接使用图像时,IE仅支持clip像矩形一样,但不支持clipPath复杂形状。

我的解决方案是将图像添加到SVG中,如下所示,这一次它可以在Chrome和IE9 +中使用。

body {

  background-color: #e0e0e0;

}



#image-wrapper {

  position: relative;

}



.svg-background,

.svg-image {

  clip-path: url(#clip-triangle);

}



.svg-image {

  -webkit-transition: all 0.5s ease 0.2s;

  -moz-transition: all 0.5s ease 0.2s;

  opacity: 1;

  transition: all 0.5s ease 0.2s;

}



svg.clip-svg {

  height: 250px;

  position: absolute;

  width: 250px;

}



#svg-1 {

  left: 0px;

  top: 0px;

}


<div id="image-wrapper">

  <svg id="svg-1" class="clip-svg">

        <rect class='svg-background' width="300" height="300" fill="#ffffff" />

        <image id="img-1" class='svg-image' width="300" height="300" xlink:href="http://25.media.tumblr.com/tumblr_m5nre6cxkQ1qbs7p5o1_r1_500.jpg" />

    </svg>

</div>

<svg id="svg-defs">

    <defs>

        <clipPath id="clip-triangle">

            <polygon points="0 0, 100 0, 112 13, 240 13, 240 250, -250 250"/>

        </clipPath>

    </defs>

</svg>


 类似资料:
  • 问题内容: 在具有背景的元素上(图像或纯色并不重要): 我正在尝试使用SVG应用剪切路径。为了实现这一点,我将SVG内联到如下相同的元素中: 您可以运行下面的代码片段或检查JSFiddle。您可以看到原始的SVG图像(黑色)被插入行内,底部有弯曲,并且反应灵敏。相比之下,红色矩形显示的是与应用(或未应用)相同的图像。 我猜我误解了一个或一些属性,尽管在这里找不到确切的错误。任何帮助,将不胜感激。

  • 你可以限制你的画图行为在一个矩形之内,应用 fl_push_clip(x,y,w,h),释放用fl_pop_clip. 该矩形用象素未单位,不会受变换矩阵的影响 另外,系统会提供更新窗口的剪切域,但是比一个简单的矩形要复杂的多 void fl_clip(int x, int y, int w, int h) void fl_push_clip(int x, int y, int w, int h)

  • 这里的复制粘贴使用了 clipboard 本项目提供了两种使用方式 直接使用 <el-button @click='handleCopy(inputData,$event)'>copy</el-button> import clip from '@/utils/clipboard' // use clipboard directly methods: { handleCopy(text,

  • jd.setClipboardData(OBJECT) 设置系统剪贴板的内容 OBJECT 参数说明: 参数 类型 必填 说明 data String 是 需要设置的内容 success Function 否 接口调用成功的回调函数 fail Function 否 接口调用失败的回调函数 complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行) 示例代码 jd.se

  • 用于剪切、分割以及裁切对象的方法 Illustrator 提供了以下几种剪切、分割和裁切对象的方法: 分割下方对象命令就像是一把切刀或剪刀,它使用选定的对象切穿其他对象,而丢弃原来所选的对象。要使用此命令,请选择 “对象 ”>“路径 ”>“分割下方对象 ”。 在所选锚点处剪切路径按钮 在锚点处剪切路径,一个锚点将变为两个锚点,其中一个锚点位于另一个锚点的正上方。要访 问此按钮,请使用直接选择工具选

  • 关于剪切蒙版 剪切蒙版是一个可以用其形状遮盖其他图稿的对象,因此使用剪切蒙版,您只能看到蒙版形状内的区域,从效果上来说,就是将图稿裁剪为蒙版的形状。剪切蒙版和遮盖的对象称为剪切组合。可以通过选择的两个或多个对象或者一个组或图层中的所有对象来建立剪切组合。 对象级剪切组合在 “图层 ”面板中组合成一组。如果创建图层级剪切组合,则图层顶部的对象会剪切下面的所有对象。对对象级剪切组合执行的所有操作(如变