Не работает обрезка/маска при указании отдельного файла svg через url

Согласно документации можно использовать свойство clip-path, равное url(path_to_external_file.svg#clip_path_id) для обрезки отображаемого блока. Однако я не смог заставить это работать. Уточню, что используется отдельный svg-файл.

Пример:

1.svg:

<svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="0" height="0">
    <defs>
        <clipPath id="mymask">
            <path transform="translate(0.000000,163.000000) scale(0.100000,-0.100000)" d="M373 1197 c-355 -355 -363 -363 -363 -402 0 -39 8 -47 363 -402 355
-355 363 -363 402 -363 39 0 47 8 402 363 355 355 363 363 363 402 0 39 -8 47
-363 402 -355 355 -363 363 -402 363 -39 0 -47 -8 -402 -363z" />
        </clipPath>
    </defs>
</svg>

css:

.svgMask {
    width: 200px;
    height: 200px;
    background-color: #1265F3;
    clip-path:url(1.svg#mymask); 
}

html:

    <div class="svgMask">
    </div>

В Firefox 86 версии не отображает ничего (цветной прямоугольник невиден). Однако, если встроить svg в html, то обрезка работает.

Пример:

html:

<html>
<head>
    <link rel="stylesheet" type="text/css" href="style.css">

    <svg width="0" height="0">
        <defs>
            <clipPath id="mymask">
                <path transform="translate(0.000000,163.000000) scale(0.100000,-0.100000)" d="M373 1197 c-355 -355 -363 -363 -363 -402 0 -39 8 -47 363 -402 355
    -355 363 -363 402 -363 39 0 47 8 402 363 355 355 363 363 363 402 0 39 -8 47
    -363 402 -355 355 -363 363 -402 363 -39 0 -47 -8 -402 -363z" />
            </clipPath>
        </defs>
    </svg>

</head>

<body>
    <div class="svgMask">
    </div>
</body>
</html>

css:

.svgMask {
    width: 200px;
    height: 200px;
    background-color: #1265F3;
    clip-path:url(#mymask); 
}

Аналогичная ситуация с масками (mask-image свойство).

Собственно, вопрос: как заставить работать свойство clip-path с отдельными svg-файлами?


Ответы (0 шт):