【问题标题】:CSS, jQuery - forcing clip-path in IECSS,jQuery - 在 IE 中强制剪辑路径
【发布时间】:2016-10-06 10:44:38
【问题描述】:

我对剪辑路径没有什么问题(我知道 IE 不支持)。 我找到了一些剪辑路径图像的解决方案,但事实并非如此——我需要对整个部分进行处理。

但也许还有其他解决方案?基本上我需要这样的形状:

粉色区域是第一部分的结尾,灰色区域是下一部分的开始。 (我已经用 clip-path 实现了这些形状,但不幸的是它在 IE 中不起作用)。

也许有一些解决方案可以使用 jQuery 来强制 IE 中的剪辑路径?我愿意接受所有建议:)

谢谢帮助!

【问题讨论】:

  • 您应该让我们知道您想要支持的 IE 版本。 IE8 及更高版本,IE10 及更低版本...给出的解决方案将取决于您需要支持的内容。
  • R. Chappell - 主要是我不想支持 Edge,也许 IE 10 - 不需要支持以前的版本。
  • 还有一个 Polyfill 可用:github.com/andrusieczko/clip-path-polygon
  • 是的,我已经将它用于 Firefox,但仍然无法在 IE 中使用 - 只是尝试您的边界线 (;)) 解决方案

标签: jquery css internet-explorer clip-path


【解决方案1】:

您不能真正强制浏览器使用它不支持的功能。但是,可以使用几个 div、大边框和变换以不同的方式重现您所追求的内容。

.border {
  position: relative;
  width: 600px;
  height: 300px;
  overflow: hidden; /* hide borders */
}

.line {
  border-top: 500px solid #f6c; /* Fill top with pink */
  border-bottom: 500px solid #ccc; /* Fill bottom with grey */
  width: 1000px; /* Overflow the container so borders fill space */
  height: 10px; /* White line height */
  background-color: #fff;
  position: absolute;
  top: -350px; /* Border top height, minus position relative to border */
  left: -200px; /* hang off the edge so borders fill space */
  transform: rotate(-2deg); /* Rotate white line */
}
<div class="border">
    <div class="line"></div>
</div>

我们得到的效果类似于您想要的效果,应该在 IE9 及更高版本中工作。我知道这不完全是您所追求的,但它似乎确实达到了相同的结果并且可能有用。

【讨论】:

  • 这对于我发布的内容来说是一个非常好的解决方案 - thnx。但我忘了提到这并不是我需要的所有功能。例如,我需要在某些情况下隐藏元素溢出,例如在此屏幕上:imagizer.imageshack.us/a/img922/3891/ocVgqo.jpg 我尝试了很多不同的方法,但无法获得结果...
  • 另外,我需要一些东西来达到这个效果:imageshack.com/a/img921/3711/hMT0TD.jpg 它的溢出隐藏并添加了剪辑路径 - 有没有办法在 IE 或 Edge 中得到这个?
  • 你可以做类似的技巧,例如第一个版本你可以将你的图像设置为背景,只用只有底部边框的线填充框。第二个选项,我只使用图像并使用背景大小来正确缩放它。
  • 非常感谢!老实说,我不想使用图像,但我认为没有其他选择。
猜你喜欢
  • 1970-01-01
  • 2016-09-18
  • 1970-01-01
  • 2018-07-05
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多