003 CSS介绍

求阙者

关注

阅读 14

2024-04-10

<img class="group-icon" :class="group.opened ? 'group-icon-active' : ''"
                  :src="require('@/assets/icon/' + group.icon + '.svg')" />
// 默认样式
.group-icon {
    width: 16px;
    height: 16px;
    position: relative;
    left: -1000px;
    filter: drop-shadow($--gray 1000px 0);
}

// 激活样式
.group-icon-active {
    filter: drop-shadow($--color-primary 1000px 0);
}

此方法亲测有效,缺点是svg如果原本包含多色,会被处理成单色,比如我这里就都会变色灰色,点击后设置一个颜色,也只能是单色。

如果是比较有耐心,可以每个分组设置两个svg图片,一个是默认图片,一个是激活图片,就能保持svg多色性。

精彩评论(0)

0 0 举报