vue中如何动态设置css样式的hover
作者:造糖主义
这篇文章主要介绍了vue中如何动态设置css样式的hover,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
vue动态设置css样式的hover
1.定义不同的颜色数组
colorList: ['#4cb352', '#5bc2d3', '#ffc23f', 'pink', '#872822'],//课件标题颜色
2.html数据遍历-自定义element-走马灯高度+定义css变量-yf-border-color
<div v-for="(item, index) in listData" :key="`${index}`" :class="`partCurriculum`" :style="`color:${colorList[index]};--yf-border-color:${colorList[index]}`" > <div class="partCurriculumTitle">{{ item.subjectName }}</div> <div class="moreLink" style="cursor: pointer;" @click="toDownload"> 更多课件 <img src="../../assets/img/more_class_btn.png" /> </div> <el-carousel trigger="click" :autoplay="false" class="partCurriculumVideo" :height=" item.courseWaresList[0].length > 6 ? '740px' : item.courseWaresList[0].length <= 3 ? '250px' : '500px' " > <el-carousel-item v-for="(tItem,tIndex) in item.courseWaresList" :key="`${tItem}${tIndex}`" class="video_connent" > <div v-for="(LItem,LIndex) in tItem" :class="`videoBlock`" :key="`${LItem}${LIndex}`" > <img :src="LItem.coursewareImg" alt="正在加载,请耐心等待" /> </div> </el-carousel-item> </el-carousel>
3.css添加hover
.videoBlock { position: relative; width: 29%; height: 220px; box-sizing: border-box; color: #ccc; &:hover { border: 4px solid var(--yf-border-color, #4cb352); } img { width: 100%; height: 100%; display: block; } }
vue使用hover.css动画
介绍:
- 一组 CSS3 驱动的悬停效果,可应用于链接、按钮、徽标、SVG、特色图像等。
- 轻松应用于您自己的元素、修改或仅用于灵感。
- 在 CSS、Sass 和 LESS 中可用。
1.下载hover.css
npm i hover.css --save
2. 全局映入css
import 'hover.css'
3.使用类,加上类名 button hvr-bounce-to-left
<div class="an button hvr-bounce-to-left"> 天天向上,好好学习 </div>
.an { height: 100px; width: 200px; background-color: blueviolet; border-radius: 10px; float: left; margin: 10px; vertical-align: middle; }
4.拿到想要的样式类名 通过f12查看div上面的class类名 点击下面链接地址
总结:以上四步就可以实现hover.css动画的基本使用。
页面所有代码
<template> <!-- http://ianlunn.github.io/Hover/ hover css动画网址 --> //图层左弹出 <div class="an button hvr-bounce-to-left"> 天天向上,好好学习 </div> //图层右弹出 <div class="an button hvr-sweep-to-right"> 天天向上,好好学习 </div> <div class="an button hvr-grow">天天向上,好好学习</div> </template> <script lang="ts"> import { defineComponent } from "vue"; import "hover.css"; export default defineComponent({ setup() {}, }); </script> <style scoped> .an { height: 100px; width: 200px; background-color: blueviolet; border-radius: 10px; float: left; margin: 10px; vertical-align: middle; } </style>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。