zoukankan      html  css  js  c++  java
  • hover状态下改变图片颜色的方式 悬停图片切换;css变量;悬停svg图片改变颜色;VUE

    由外部json文件,按照配置方式引入图片路径时,需要一些值得注意的语法来动态引入和改变图片

    1、图片路径设置 ,按照img标签动态引入图片

    <img src=''/>
    • 路径不引入变量,此时的@路径代表src文件夹,后面的部分可以按需修改,vue工程的引入路径方法
    <img src="@/assets/logo.png"/>
    • HTML图片路径中有变量,由vue模板语法产生,如v-for引入的item。需要引入requeire语法
    <img :src="require('@/path/'+item['icon'])" width="100%" height="100%" :title="item['label']" alt=''/>

    2、在动态引入非svg图片后,需要设置hover状态和正常状态不同的路径,例如俩不同颜色的图片,本例一中为高度和宽度

    •      在vue模板中使用动态变量从style中引入以被定义好的变量,再使用var变量在css中指定(会引入超多变量)
    <div :style="{ '--Width': xxWidth, '--Height': xxHeight }"></div>
    .map-swiper {
        height: var(--Height);
        width: var(--Width);
    }

    另外一种比较好的方法是,在原div中同时引入俩img,不同路径。每个图片配不同的class,在hover时改变display来设置是否显示。

    display:block;
    display:none;

    3、使用svg图片,作为Img的src文件引用,在hover时设置阴影来改变颜色。用src引入svg的情况下不适合改变svg的fill属性

    思路为将图片先向右偏移到视线之外,再设置其偏移阴影正好投影到原位置。

    <img src="@/xx/yy.svg" width="100%" height="100%"  alt=''/>
    #parentcss:hover{
        img{
            position: relative;
            left: 5000px;
            filter: drop-shadow(darkcyan -5000px 0);
        }
    }
  • 相关阅读:
    java23种设计模式(四)-- 桥接模式
    java23种设计模式(三)-- 适配器模式
    elasticsearch 进行聚合+去重查询
    postgresql绿色版安装及Navicat创建数据库,导入导出sql
    java的序列化
    常用正则表达式公式总结
    spring事务管理
    用私有构造器或者枚举类型强化SingleTon(单例)属性
    Spark集群运行与优化
    Hive优化
  • 原文地址:https://www.cnblogs.com/guoguocode/p/15127714.html
Copyright © 2011-2022 走看看