美文网首页
vue里动态修改伪元素样式

vue里动态修改伪元素样式

作者: T_guo | 来源:发表于2022-11-06 17:18 被阅读0次

背景描述

最近写前端页面,要求是实现鼠标放在图片上,变为另一个图片。对于前端大佬可能很容易实现,我属于菜鸟级别,写的不好大佬们勿喷。

直接上代码

方法一
<template>
    <div class="img-unit" v-for="(item, index) in imageList" :key="index" :value="index">
        <div class="imageview" :style="{
          '--bg': `url(${item.enterpriseGreyImg}) no-repeat`,
          '--bgHover': `url(${item.enterpriseColorImg}) no-repeat`,
        }"
      ></div>
    </div>
</template>
**这里图片接连是网图,自己提替换**
data() {
    return {
      imageList: [
                     {
                        enterpriseGreyImg:'https://xxx.xxxx.png',
                        enterpriseColorImg:'https://xxx.xxxx.png'
                      }
                  ],
    };
  },
//样式
<style lang="less" scoped>
.img-unit {
  width: 100px;
  display: inline-block;
  box-shadow: 0 2px 12px 0 #ddd;
  .imageview {
    width: 100px;
    height: 100px;
    background: var(--bg);
    background-size: 100%;
    &:hover {
      background: var(--bgHover);
      background-size: 100%;
    }
  }
}
</style>
方法二
<template>
  <div class="top-content">
    <div
      v-for="(item, index) in imageList"
      :key="item"
      :value="index"
      class="img-unit"
    >
      <img
        class="imageview"
        :src="dealImag(item, index)"
        @mouseout="moveOtherClick(item, index)"
        @mouseover="moveClick(item, index)"
      />
    </div>
  </div>
</template>
**这里图片接连是网图,自己提替换**
data() {
    return {
      imageList: [
                     {
                        iconname:'https://xxx.xxxx.png',
                        imagename:'https://xxx.xxxx.png'
                      }
                  ],
    };
  },
  methods: {
    moveClick(item, index) {
      // item.imagename = item.iconname;
      console.log("---1--", index);
      item.isLeave = true;
    },
    moveOtherClick(item, index) {
      // item.imagename = item.iconname;
      console.log("--2---", index);
      item.isLeave = false;
    },

    dealImag(item, index) {
      if (item.isLeave == true) {
        return item.iconname;
      } else {
        return item.imagename;
      }
    },
  },
//样式
<style lang="less" scoped>
.top-content {
  background-color: yellow;
  display: flex;

  .img-unit {
    background-color: antiquewhite;
    width: 120px;
    height: 120px;
    margin-right: 10px;
    .imageview {
      width: 100px;
      height: 100px;
    }
  }
  .imageview {
    width: 100px;
    height: 100px;
  }
}
</style>
效果可以直接复制代码后运行查看,

相关文章

  • vue里动态修改伪元素样式

    背景描述 最近写前端页面,要求是实现鼠标放在图片上,变为另一个图片。对于前端大佬可能很容易实现,我属于菜鸟级别,写...

  • 动态修改伪元素样式

    如图的导航,点击切换,下面的横线会滑动到选中的导航下。实现步骤。 首先写出横线的样式。这里通过伪元素来实现。lef...

  • 动态绑定实现改变伪元素等样式attr( data-number)

    情景三:动态绑定实现改变伪元素等样式描述:以上样式都是我们最普通的样式,但是我们如何通过绑定样式改变伪元素(::b...

  • 如何用js改变伪元素样式

    通常设置伪元素的样式直接用CSS很方便 可是有时候想用js动态的去改变伪元素的样式,但是js获取不到伪元素,这就很...

  • 伪元素和伪类

    本文将介绍伪元素和伪类选择器的一些知识,以及在VUE中伪元素的动态数据更新; 伪元素和伪类: 伪元素:在内容元素的...

  • checkbox默认样式

    html部分 保存密码 css部分 使用伪类元素对checkbox样式进行修改 边框样式在before中修改,"\...

  • 伪类与伪元素

    伪类 伪类用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化 伪元素 伪元素用于...

  • CSS基础之伪类伪元素&样式优先权

    伪类&伪元素 首字样式控制 —— 使用伪元素::first-letter 首行样式控制 —— 使用伪元素::fir...

  • IE8-伪元素重绘

    页面bug,解决办法:伪元素内容变化 参考链接:IE8中伪元素动态作用样式不重绘bug记录 How to forc...

  • Chrome浏览器调试工具

    审查元素 - element 查看页面源代码,查看页面动态改变的元素 修改元素样式 修改元素属性、内容 编辑整段的...

网友评论

      本文标题:vue里动态修改伪元素样式

      本文链接:https://www.haomeiwen.com/subject/lstitdtx.html