html - CSS clip-path 适用于 Firefox,但不适用于 chrome

标签 html css svg cross-browser

在处理一个新元素时,我遇到了一个我无法解决的奇怪问题。 我正在使用 5 个 DIV,每个都有自己的 SVG 剪辑路径。虽然这在 Firefox 中运行良好(第一个屏幕截图),但在 Chrome 中没有应用掩码(甚至没有提到 Internet Explorer)。 enter image description here 下面是负责创建 DIV 的 HTML 部分。两个“_sep”div 是您可以在其他三个主要 DIV 之间看到的白线。

<div class="main bg">

    <div id="left" class="index_clip">
        <img src="includes/img/main/parts.png">
    </div>

    <div id="left_sep" class="index_clip">

    </div>
    <div id="mid" class="index_clip">
        <img src="includes/img/main/werkstatt.png">
    </div>

    <div id="center_sep" class="index_clip">

    </div>

    <div id="right" class="index_clip">
        <img src="includes/img/main/suspension.png">
    </div>
    <!-- <img id="overlay" src="includes/img/main/overlay.png"> -->
</div>

CSS:

.index_clip{
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
}
#left{
    -webkit-clip-path: url('../svg/svg.svg#left_clip');
    clip-path: url('../svg/svg.svg#left_clip');
    z-index: 2;
}
#left img{
    top: 50%;
    left: 7%;
    transform:translate(0px, -50%);
}
#left_sep{
    -webkit-clip-path: url('../svg/svg.svg#left_sep_clip');
    clip-path: url('../svg/svg.svg#left_sep_clip');
    z-index: 2;
    background-color: white;
}

#mid{
    z-index: 1;
        -webkit-clip-path: url('../svg/svg.svg#center_clip');
        clip-path: url('../svg/svg.svg#center_clip');
}
#mid img{
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
#center_sep{
    -webkit-clip-path: url('../svg/svg.svg#center_sep_clip');
    clip-path: url('../svg/svg.svg#center_sep_clip');
    background-color: white;
}
#right{
    -webkit-clip-path: url('../svg/svg.svg#right_clip');
    clip-path: url('../svg/svg.svg#right_clip');
    z-index: 1;
    /*background-color: blue;   */
}

#right img{
    top: 50%;
    transform: translate(0px,-50%);
    left: 82%;
}

我已经发现 Chrome 使用了错误的相对路径。看起来,好像 Chrome 从 index.php 文件而不是 CSS 文件的位置解释“url('../svg/svg.svg#left_sep_clip')”。我已经尝试使用绝对 URL,但它在 Chrome 中仍然不起作用。它在 Chrome 中不起作用的原因是什么?我该如何解决这个问题?您可以尝试一个实例 here

最佳答案

Chrome 不支持使用来自外部 SVG 的 SVG 的形状。

http://caniuse.com/#search=clip-path

关于html - CSS clip-path 适用于 Firefox,但不适用于 chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36107238/

相关文章:

html - 为什么从 View 传递到 Django 模板时,空格后的列表元素消失了?

javascript - 图像 slider 可在不同按钮单击上打开不同文件夹中的图像

javascript - 使用 z-index 获取页脚以显示 AFTER 元素

php - 使用 css 在 phpInfo 中自动换行

javascript - 渐变颜色不适用于 SVG 中的线条路径

javascript - 在 on() 事件中创建动态选择器

php - Kriesi 分页不起作用

html - 在 Mac OS X 上的 html 页面中全屏显示

javascript - 如何动态添加另一行?

ios - onClick 不适用于 Appcelerator Alloy 应用程序中的 SVG iOS