亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

Vue中修改icon(svg)的CSS :hover屬性

2023-09-26 06:15:17
146
0
  • Echarts自定義icon

Echarts中自定義icon分兩類:img類型(png、jpg等)、svg類型

  1. img類型采取'image://'方式引入
  2. svg類型采取'path://'方式引入

當icon需要添加hover效果時,采用echarts原生屬性修改:

toolbox: {
    emphasis: {
        iconStyle: {
            color: hover顏色
        }
    }
}

其中涉及Echarts底層emphasis方法的原理,如下:

// 在ToolboxModel.js文件中,解析配置項并設置emphasis樣式
merge(toolboxOption, defaultOption);
const featureOption = toolboxOption.feature || {};
const modelFeatureOption = defaultOption.feature || {};

// 遍歷featureOption對象,即用戶傳入的配置項
each(featureOption, function (opt, name) {
    const originalFeatureOpt = modelFeatureOption[name];

    // 判斷配置項中是否存在emphasis字段
    if (originalFeatureOpt && !force) {
        originalFeatureOpt.iconStyle = merge(
            clone(originalFeatureOpt.iconStyle),
            opt.iconStyle
        );
    }
});

// 在渲染過程中應用emphasis樣式
each(modelFeatureOption, function (opt, name) {
    const iconStyle = opt.iconStyle;
    const emphasisIconStyle = iconStyle && iconStyle.emphasis;
    // 判斷是否有emphasis樣式,若有則應用
    if (emphasisIconStyle && opt.getIconStyle) {
        const style = opt.getIconStyle(true);
        style && style.emphasis && defaults(style.emphasis, emphasisIconStyle);
    }
});
  • 普通icon圖標

由于項目中導入的icon圖標默認是已經配置<path>中fill屬性,所以通過CSS直接修改fill屬性的顏色是失效的。

可以利用CSS的filter屬性修改圖標的濾鏡效果:

filter: brightness(0) saturate(100%) invert(100%) sepia(0) hue-rotate(0deg);

改變圖標的亮度、飽和度、反轉顏色等,從而達到修改圖標顏色的效果

以下是常用的filter屬性:

  1. none:默認值,不應用任何濾鏡效果。
  2. blur():給元素添加高斯模糊效果。可以指定一個模糊半徑,值越大則模糊程度越高。
  3. brightness():調整元素的亮度。可以指定一個因子值,如 brightness(0.5) 會將元素變暗,而 brightness(2) 會將元素變亮。
  4. contrast():調整元素的對比度。可以指定一個因子值,如 contrast(0.5) 會降低對比度,而 contrast(2) 會增加對比度。
  5. grayscale():將元素轉為灰度圖像。可以指定一個灰度比例值,如 grayscale(1) 表示完全轉為灰度,而 grayscale(0.5) 表示轉為50%灰度。
  6. invert():反轉元素的顏色。可以指定一個反轉比例值,如 invert(1) 表示完全反轉顏色,而 invert(0.5) 表示部分反轉顏色。
  7. opacity():調整元素的不透明度。可以指定一個透明度值,如 opacity(0.5) 表示50%不透明度。
  8. saturate():調整元素的飽和度。可以指定一個飽和度比例值,如 saturate(2) 會增加飽和度,而 saturate(0.5) 會降低飽和度。
  9. sepia():將元素轉為深褐色調。可以指定一個深褐色調比例值,如 sepia(1) 表示完全轉為深褐色調,而 sepia(0.5) 表示部分轉為深褐色調。
  10. hue-rotate():調整元素的色相旋轉。可以指定一個角度值(單位為度),如 hue-rotate(180deg) 會將所有顏色旋轉180度。

需要注意的是,濾鏡屬性在不同的瀏覽器中的支持程度可能存在差異,特別是一些較老的瀏覽器版本。在使用濾鏡屬性時,請進行兼容性測試以確保在目標瀏覽器中正常顯示。

0條評論
0 / 1000
w****n
17文章數
1粉絲數
w****n
17 文章 | 1 粉絲
原創

Vue中修改icon(svg)的CSS :hover屬性

2023-09-26 06:15:17
146
0
  • Echarts自定義icon

Echarts中自定義icon分兩類:img類型(png、jpg等)、svg類型

  1. img類型采取'image://'方式引入
  2. svg類型采取'path://'方式引入

當icon需要添加hover效果時,采用echarts原生屬性修改:

toolbox: {
    emphasis: {
        iconStyle: {
            color: hover顏色
        }
    }
}

其中涉及Echarts底層emphasis方法的原理,如下:

// 在ToolboxModel.js文件中,解析配置項并設置emphasis樣式
merge(toolboxOption, defaultOption);
const featureOption = toolboxOption.feature || {};
const modelFeatureOption = defaultOption.feature || {};

// 遍歷featureOption對象,即用戶傳入的配置項
each(featureOption, function (opt, name) {
    const originalFeatureOpt = modelFeatureOption[name];

    // 判斷配置項中是否存在emphasis字段
    if (originalFeatureOpt && !force) {
        originalFeatureOpt.iconStyle = merge(
            clone(originalFeatureOpt.iconStyle),
            opt.iconStyle
        );
    }
});

// 在渲染過程中應用emphasis樣式
each(modelFeatureOption, function (opt, name) {
    const iconStyle = opt.iconStyle;
    const emphasisIconStyle = iconStyle && iconStyle.emphasis;
    // 判斷是否有emphasis樣式,若有則應用
    if (emphasisIconStyle && opt.getIconStyle) {
        const style = opt.getIconStyle(true);
        style && style.emphasis && defaults(style.emphasis, emphasisIconStyle);
    }
});
  • 普通icon圖標

由于項目中導入的icon圖標默認是已經配置<path>中fill屬性,所以通過CSS直接修改fill屬性的顏色是失效的。

可以利用CSS的filter屬性修改圖標的濾鏡效果:

filter: brightness(0) saturate(100%) invert(100%) sepia(0) hue-rotate(0deg);

改變圖標的亮度、飽和度、反轉顏色等,從而達到修改圖標顏色的效果

以下是常用的filter屬性:

  1. none:默認值,不應用任何濾鏡效果。
  2. blur():給元素添加高斯模糊效果。可以指定一個模糊半徑,值越大則模糊程度越高。
  3. brightness():調整元素的亮度。可以指定一個因子值,如 brightness(0.5) 會將元素變暗,而 brightness(2) 會將元素變亮。
  4. contrast():調整元素的對比度。可以指定一個因子值,如 contrast(0.5) 會降低對比度,而 contrast(2) 會增加對比度。
  5. grayscale():將元素轉為灰度圖像。可以指定一個灰度比例值,如 grayscale(1) 表示完全轉為灰度,而 grayscale(0.5) 表示轉為50%灰度。
  6. invert():反轉元素的顏色。可以指定一個反轉比例值,如 invert(1) 表示完全反轉顏色,而 invert(0.5) 表示部分反轉顏色。
  7. opacity():調整元素的不透明度。可以指定一個透明度值,如 opacity(0.5) 表示50%不透明度。
  8. saturate():調整元素的飽和度。可以指定一個飽和度比例值,如 saturate(2) 會增加飽和度,而 saturate(0.5) 會降低飽和度。
  9. sepia():將元素轉為深褐色調。可以指定一個深褐色調比例值,如 sepia(1) 表示完全轉為深褐色調,而 sepia(0.5) 表示部分轉為深褐色調。
  10. hue-rotate():調整元素的色相旋轉。可以指定一個角度值(單位為度),如 hue-rotate(180deg) 會將所有顏色旋轉180度。

需要注意的是,濾鏡屬性在不同的瀏覽器中的支持程度可能存在差異,特別是一些較老的瀏覽器版本。在使用濾鏡屬性時,請進行兼容性測試以確保在目標瀏覽器中正常顯示。

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0