Можно ли установить прозрачность или альфа-уровень на цветах заливки SVG?
Я попытался добавить два значения в тег заполнения (изменив его с fill="#044B94"на fill="#044B9466"), но это не работает.
Можно ли установить прозрачность или альфа-уровень на цветах заливки SVG?
Я попытался добавить два значения в тег заполнения (изменив его с fill="#044B94"на fill="#044B9466"), но это не работает.
Ответы:
Вы используете дополнительный атрибут; fill-opacity: Этот атрибут принимает десятичное число от 0,0 до 1,0 включительно; где 0.0 полностью прозрачно.
Например:
<rect ... fill="#044B94" fill-opacity="0.4"/>
Дополнительно у вас есть следующее:
stroke-opacity атрибут для инсультаopacity для всего объектаfill_opacity, но в SVG и CSS это так fill-opacity.
В качестве еще не полностью стандартизированного решения (хотя в соответствии с синтаксисом цвета в CSS3) вы можете использовать, например fill="rgba(124,240,10,0.5)". Прекрасно работает в Firefox, Opera, Chrome.
rgbaв rgbи автоматически добавил fill-opacityатрибут к нему. Я не уверен, так ли это работает в обычных SVG, но так оно и было. В любом случае, спасибо.
fill="#044B9466"
Это цвет RGBA в шестнадцатеричной записи внутри SVG, определенный шестнадцатеричными значениями. Это верно, но не все программы могут отображать его правильно ...
Вы можете найти поддержку браузера для этого синтаксиса здесь: https://caniuse.com/#feat=css-rrggbbaa
По состоянию на август 2017 года: цвета заливки RGBA будут правильно отображаться в «Быстрый просмотр» в Mozilla Firefox (54), Apple Safari (10.1) и Mac OS X Finder. Однако Google Chrome не поддерживал этот синтаксис до версии 62 (ранее поддерживалась с версии 54 с включенным флагом «Экспериментальные возможности платформы»).
Используйте атрибут fill-opacityв вашем элементе SVG.
Значение по умолчанию - 1, минимальное - 0, в шаге используйте десятичные значения EX: 0,5 = 50% альфа. Примечание: необходимо определить fillцвет для применения fill-opacity.
Смотрите мой пример .
Ссылки .
Чтобы сделать заливку полностью прозрачной, fill="transparent"кажется, работает в современных браузерах. Но он не работал в Microsoft Word (для Mac), мне пришлось использовать fill-opacity="0".
fill="none"работает, но fill="transparent"не делает.
fill="none"сpointer-events="visible".