赞
踩
fill
属性已经有填充的颜色,使用drop-shadow
属性更改,适合元素左边没有元素,把原有的svg图像推到可视区外需求:如下图,使用element menu切换菜单的时候当前菜单需要高亮,正常的menu使用的是icon,会自动根据点击变化颜色,但是如果有自定义的图标就需要使用svg,这时候需要动态的设置svg的颜色
svg的颜色是在标签内通过fill属性写死的,使用CSS3滤镜filter中的drop-shadow
可以更改
.el-menu-item.is-active {
.menu-icon {
left: -80px;
filter: drop-shadow($--color-primary 80px 0);
}
}
.menu-icon {
position: relative;
margin-right: 5px;
padding: 0 3px;
left: 0;
}
注意 这种方式是会把原有的图片向左移动,因为导航栏左边已经没有元素了,所以视觉上会看不见原有的svg图片
如果像下图设置svg的颜色之后,因为svg左边还有元素,所以原有的svg图片就会显示出来,可以采取删除fill
属性,这样svg
原本的图像就是透明的,
然后再设置颜色视觉上就会只显示一个svg图像
当我还是用以上方法写的时候 发现列表里有loading状态时img就会消失(如下图),百思不得其解,后来改成下面的就可以了,这个问题的原因还没找到,只是用filter和transform就不会消失了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。