Я хочу создать наложение непрозрачности, похожее на Windows Aero или iOS7. К сожалению, свойства filter: blur()
или filter: url(#svgBlur)
могут применяться только к элементу, а не по содержанию.
Чтобы обойти это, нам нужна копия размытого фона. Это возможно в FX с использованием экспериментального CSS-свойства background: -moz-element(#elementId)
. Используя это, я могу получить эффект, который я хочу в только FX.
Есть другие questions о решении проблемы размытия и одно из решений представляется использование html2Canvas подключаемого модуля.
Однако это воссоздает весь размытый контент, включая созданные вручную стили и тому подобное. Это очень впечатляющая работа, но для такого эффекта кажется массивным переполнением (как по производительности, так и по размеру).
То, что я хочу сделать, это создать какую-то прокладку только для -moz-element
. Похоже, что должно быть возможно с использованием SVG foreignObject
, но это имеет как проблемы безопасности, так и ошибки, если ваш HTML недопустим XML.
Есть ли какой-либо способ эмуляции -moz-element
(используя холст, SVG или что-то еще), где мне не нужно разбирать/перерисовывать всю область наложения?