<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS Masking: mask-image: SVG masks apply on border area</title> <link rel="author" title="CJ Ku" href="mailto:cku@mozilla.com"> <link rel="author" title="Mozilla" href="https://www.mozilla.org"> <link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-mask-image"> <link rel="match" href="mask-image-3-ref.html"> <meta name="assert" content="Test checks whether apply transfrom to a SVG mask layer works correctly or not."> <svg height="0"> <mask id="mask1" x="-100" y="-100" width="300" height="300" maskUnits="userSpaceOnUse"> <rect x="-100" y="-100" width="50" height="50" style="stroke:none; fill: #ffffff"/> </mask> <mask id="mask2" x="-100" y="-100" width="300" height="300" maskUnits="userSpaceOnUse"> <circle cx="-50" cy="-50" r="25" style="stroke:none; fill: #ffffff"/> </mask> </svg> <style type="text/css"> div.outter { margin: 0px; padding: 0px; width: 200px; height: 200px; transform: translate(-10px, -20px); } div.inner { background-color: red; mask-image: url(#mask1), url(#mask2); mask-repeat: no-repeat, no-repeat; box-shadow: 0 0 0 100px purple; position: relative; width: 100px; height: 100px; left: 100px; top: 100px; transform: translate(10px, 20px); } </style> </head> <body> <div class="outter"> <div class="inner"></div> </div> </body> </html>