先上一份效果图。原来的checked多选框还是存在的,我只不过隐藏了,让他的整个div的范围都是可以点击的,右上角三个点是可以删除当前元素,左下角的播放按钮可以点击播放语音,主要是利用z-index把层次提高一点,就可以了,frame是选中后的意思,动态判断一下,如果checked等于true了,就把这个类加上。

下面是一个div的结构

<div class="items flex">
<div
:class="{item ,'frame':item.checked}"
v-for="(item, index) in list"
:key="index"
>
<a-checkbox
v-model:checked="item.checked"
class="selectVoice"
@change.stop="selectOneChange(item, $event)"
v-show="item.checked"
></a-checkbox> <a-tooltip placement="right" class="a_tool">
<template #title>
<div class="delete flex">
<div class="btn" @click="deleteOne(item)">删除</div>
</div>
</template>
<span>•••</span>
</a-tooltip>
<div
class="img"
:style="{'background-image': 'url(' + item.head_img_url +')'}">
<div class="time">
{{item.voice_collect_time}}
</div>
<div class="span">
<span>{{item.username}}</span>
</div>
</div>
<a-tooltip placement="top" :overlayClassName="{'tooltip':item.voice_content.length > 100}" :arrowPointAtCenter="true">
<template #title v-if="item.voice_content">
<span>{{item.voice_content}}</span>
</template>
<div class="title">
<img @click.stop="playVoice(item.voice_url,item.voice_duration,item)" src="@/assets/materialManagement/Frame.png" alt="">
<div class="flex audio">
<div class="time-text">00:{{ cTime < 10 ? '0'+ cTime : cTime}}</div>
<div class="bar">
<a-progress :percent="item.percent" :showInfo="false" :stroke-color="{'0%': '#108ee9','100%': '#87d068'}"/>
</div>
<div class="right-time time-text">00:{{item.voice_duration < 10 ?'0'+item.voice_duration:item.voice_duration}}</div>
</div>
</div>
</a-tooltip>
</div>
</div>

主要是这些重写的样式

<style lang="less">
.tooltip {
min-width: 900px !important;
}
.selectVoice{
.ant-checkbox-wrapper .ant-checkbox-inner,
.ant-checkbox .ant-checkbox-inner,
.ant-checkbox-input + .ant-checkbox-inner{
border: transparent !important;
}
// 鼠标hover时候的颜色
.ant-checkbox-wrapper:hover .ant-checkbox-inner,
.ant-checkbox:hover .ant-checkbox-inner,
.ant-checkbox-input:focus + .ant-checkbox-inner{
border: transparent !important;
}
// 设置选中的颜色
.ant-checkbox-checked .ant-checkbox-inner,
.ant-checkbox-indeterminate .ant-checkbox-inner {
background-color: #ffffff;
border: transparent;
}
}
</style>

下面是整个的样式

.items{
min-width: 1500px;
.item{
border: 1px solid rgba(215, 215, 215, 1);
border-radius: 4px;
width: 24%;
height: 150px;
margin-top: 20px;
margin-left: 1%;
position: relative;
.a_tool{
position: relative;
top: 7%;
right: -88%;
letter-spacing:3px;
z-index: 999;
}
//checked的默认样式
.selectVoice{
position: absolute;
width: 100%;
height: 100%;
display: none;
z-index: 100;
/deep/.ant-checkbox::after {
visibility: hidden !important;
}
}
.delete{
position: absolute;
left: 0;
top: 0;
background-color: rgba(127, 127, 127, 0.498);
height: 32px;
width: 100%;
color: #fff;
justify-content: flex-end;
padding-right: 10px;
display: none !important;
z-index: 50;
.btn{
cursor: pointer;
}
}
.img{
width: 45%;
height: 45%;
position: absolute;
top: 10%;
left: 4%;
background-size: contain;
background-position: left;
background-repeat: no-repeat;
.time{
position: relative;
left: 84px;
top: 45px;
font-size: 18px;
color: rgba(0, 0, 0, 0.685);
}
.span{
position: relative;
left: 85px;
top: -35px;
font-size: 18px;
}
}
.title{
.bar {
width: 70%;
height: 25px;
margin:0 5px;
//播放按钮的样式
img{
position: relative;
left: 15px;
top: 75px;
z-index: 999;
&:hover{
background: url('../../../assets/materialManagement/onFrame.png');
}
}
}
//鼠标移到div上的样式
&:hover{
border-color: rgb(36, 117, 252);
.selectVoice{
display: inline-block !important;
}
.delete{
display: flex !important;
}
}
}
//动态类
.frame{
border: 1px solid rgb(36, 117, 252);
background-image: url('../../../assets/materialManagement/frame-on.png');
background-repeat: no-repeat;
background-position: right bottom;
}

点击div实现选中效果的更多相关文章

  1. 利用this属性实现点击按钮变色.选中效果

    浏览器宿主的全局环境中,this指的是window对象. <script type="text/javascript"> console.log(this === wi ...

  2. 点击div全选中再点击取消全选div里面的文字

    想做一个就是点击一个div然后实现的功能是div里面的文字都成选中状态,然后就可以利用浏览器的自带的复制功能,任意复制在哪里去了 在网上百度了一下 然后网上的答案感觉很大的范围 然后一些搜索 然后就锁 ...

  3. jQuery实现点击单选按钮切换选中状态效果

    实现效果:第一次点击单选按钮时选中该按钮,再次点击时取消选中该单选按钮. 关键就是要将单选按钮原来的值保存起来,第二次点击时.如果原来选中则取消,否则选中. 看代码吧,是用jQuery实现的,功能虽小 ...

  4. checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中

     checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中 <!DOCTYPE html> <html lang=" ...

  5. 使用Vue.js实现列表选中效果

     实际项目中,我们会遇到很多类似的需求,一个列表,需要点击其中一条高亮显示.熟悉JQuery的同学说这个太简单了.可以给这个选中的element设置一个active的class.配合Css样式,让ac ...

  6. css3实现逐渐变大的圆填充div背景的效果

    手机端现在的一些应用会运用上这样一个效果,就是duang的一下出现一个圆变大直到填充整个div,动感十足. 想到css3的scale属性,就自己来实现一下. <div id="bcd& ...

  7. js星级评分点击星级评论打分效果

    html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  8. jQuery实现的Div窗口震动效果实例

    本文实例讲述了jQuery实现的Div窗口震动效果.分享给大家供大家参考.具体如下: 这是一款jQuery窗口震动效果代码,在Div边框内点击一下鼠标,它就开始震动了,适用浏览器:IE8.360.Fi ...

  9. js星级评分点击星级评论打分效果--收藏--转载

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. android实现对导航Tab设置下划线选中效果

    技术人员核心竞争力还是技术啊.努力提高各种实现效果.加油哦! 直接看效果.此linearLayout只有两个Button ,当选中Button1,Button1有个下划线选中效果.当选中Buton2, ...

随机推荐

  1. Blender中服装网格重新拓扑实录

    最近了解到游戏行业服装的一些处理流程.简单来说: 用MD等做衣服的软件,将服装做出来: 导出2种模型:缝合好的服装模型(叫它3d)以及没有变形的平铺板片模型(叫它2d),建议导出单层的,都要带着UV, ...

  2. QT使用中出现的问题

    1.运行程序程序弹出The CDB process terminated 2.调试弹出窗口提示缺少qtcreatorcdbext.dll 1.运行程序程序弹出The CDB process termi ...

  3. About TopoJSON

    An extension of GeoJSON that encodes topology!  TopoJSON https://github.com/topojson/topojson The To ...

  4. 代替宝塔的webmin搭建

    webmin官网 对于IBM的服务器,cpu架构不同于常见的x86或aarch64,部分第三方软件是无法正常安装的,比如大名鼎鼎的宝塔面板,对于像我一样的新手很不友好,这里分享一款代替宝塔的web管理 ...

  5. 树莓派 Zero W 安装 apache2 + php

    ※ 树莓派Zero W ,默认 hostname为 raspberrypi ,通过USB网络方式登陆时,修改hostname后,登录主机名要随之变化. ① ssh pi@raspberrypi 更新系 ...

  6. 谈谈关于CDN缓存

    一.CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不 ...

  7. py06

    元祖tuple 与列表类似可以存多个值,但是不同的是元祖本身不能被修改 #一:基本使用:tuple# 1 用途:记录多个值,当多个值没有改的需求,此时用元组更合适 # 2 定义方式:在()内用逗号分隔 ...

  8. NOI 1.7编程基础之字符串

    11:潜伏者 1.描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动. 历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则: 1.    S国军方内部欲发送的原信 ...

  9. R语言MCMC-GARCH、风险价值VaR模型股价波动分析上证指数时间序列

    全文链接:http://tecdat.cn/?p=31717 原文出处:拓端数据部落公众号 分析师:Ke Liu 随着金融市场全球化的发展,金融产品逐渐受到越来越多的关注,而金融产品的风险度量成为投资 ...

  10. 认识canal

    cancl实现数据库之间的实时同步的工具.通过读取mysql的二进制日志binlog,模拟mysql的slave服务器来工作. 参考链接: https://blog.csdn.net/yehongzh ...