[element-ui] el-table行添加阴影悬浮效果

这篇具有很好参考价值的文章主要介绍了[element-ui] el-table行添加阴影悬浮效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:

在el-table每一行获得焦点与鼠标经过时,显示一个整行的阴影悬浮效果

/*其中,table-row-checkd是我自定义的焦点行添加类名,大家可以自己起名*/
.el-table tbody tr:hover,.el-table tbody tr.table-row-checked{
	box-shadow: 0px 3px 10px 1px rgba(0,0,0,0.06)!important;
}

没有什么效果
原因: box-shadow对display:table-row元素是不起作用的

解决方案:

.el-table tbody tr.table-row-checked,.el-table tbody tr:hover{
	position:relative;
	background:#fff;
}
.el-table tbody tr.table-row-checked::after,.el-table tbody tr:hover::after{
	position:absolute;
	content:" ";
	width:100%;
	height:100%;
	left:0;
	background:transparent;
	box-shadow:0 3px 10px 1px rgba(0,0,0,0.1);
}

弊端
给el-table行加阴影的问题算是解决了,但是却导致表格内容无法操作

1、通常,项目设计中,el-table会带一些按钮,比如删除、编辑某行数据等要求。由于after将tr覆盖,这些按钮也会被覆盖
2、如果用到show-overflow-tooltip这个属性,同以上原理也会被遮挡操作

弊端解决
1、2解决:
对于需要点击等操作的列,就不能按以下这样的普通方式了:

<el-table-column prop="loginDate" label="登录时间"></el-table-column>

需要将内容用template重新包装

<el-table :row-class-name="rowChecked" @row-click="getRow" tooltip-effect="light">
<el-table-column label="登录时间" :show-overflow-tooltip="true">
	<template v-slot="scope">
		<span class="edit-tr" @click="toUserDetail(scope.row)">{{scope.row.loginDate}}</span>
	</template>
</el-table-column>
</el-table>

附加解释:
①、:show-overflow-tooltip="true",如果el-tabletd的内容超长,则显示英文省略号,并且鼠标移入该单元格弹出气泡,气泡中显示单元格内容;
②、tooltip-effect="light",设置弹出气泡的风格,默认dark(黑色气泡)。这里设置light会将气泡背景变为白色
③、如果el-table-column内用到<template v-slot=scope>,并在template中处理数据,那么在<el-table-column>标签内写不写prop都不会有影响

.edit-tr{
	position:relative;/*重点*/
	z-index:2;/*重点*/
	width:100%;
	overflow:hidden;
	text-overflow:ellipsis;
}

优化:
每行左右两边的阴影被遮挡,毕竟tr有tbody\table等父元素,被遮挡没有直接的解决办法。

但是,由于新添加的伪元素使用定位,实现左右阴影是可以的。
以下重写对新增after的样式

.el-table tbody tr.table-row-checked::after,.el-table tbody tr:hover::after{
	position:absolute;
	content:" ";
	width:calc(100% - 6px);/*改动处*/
	height:100%;
	left:3px;/*改动处*/
	background:transparent;
	box-shadow:0 3px 10px 1px rgba(0,0,0,0.1);
}

解释:
将after宽度预留出左+右阴影区域宽度,并向左偏移一点距离,这样就能将原先遮挡的左右阴影显示出来(设计图对el-table行左右两端无border情况下效果更佳)
建议:
我的项目中,对tr上下有border,左右无border,本来想把上下的阴影也放到tr内,但发现上下在border影响下视觉会有一种上下内阴影的效果,所以after的高度还采用和tr高度一致,仅对左右进行处理。
如果你的tr上下左右都有border,这种情况下,四边做内阴影突出焦点行是一种不错的选择。



参考:

el-table行添加阴影悬浮效果文章来源地址https://www.toymoban.com/news/detail-765847.html

到了这里,关于[element-ui] el-table行添加阴影悬浮效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • [element-ui] el-table点击高亮当前行

    1、highlight-current-row 2、:row-class-name=“tableRowClassName”,需要借助@row-click=\\\"handleRowClick\\\"获取当前点击行的下标 参考: elementUI中table点击高亮当前行的两种方式

    2024年03月21日
    浏览(13)
  • vue使用element-ui,el-table不显示

    例如:新增了一个表格,按官网代码贴过来的,结果一直不显示 代码如下一模一样,其他数据正常显示,就表格不显示 其实版本库不一致导致的,贼坑,又不提示 先卸载element-ui安装一个低版本的element-ui就可以解决``

    2024年02月11日
    浏览(19)
  • element-ui el-table 树形结构 父子级联动

    el-table 表格 为 select 和 select-all 设置回调函数 简要数据格式 单选 全选 操作 ids 不再设置 selection-change 回调函数,直接监听ids 感谢 element-ui el-table 实现全选且父级子级联动 提供的思路 另附 el-table 文档

    2024年02月10日
    浏览(52)
  • element-ui el-table 如何实现合并单元格

    el-table的组件的可以合并单元格,先定义参数span-method 方法objectSpanMethod。在方法内控制当前单元格渲染成几个单元格或者删除掉当前单元格。 比如:代码中定义:span-method=\\\"objectSpanMethod\\\" objectSpanMethod实现是在方法区,具体内容是根据变量rowSpanList 去决定当前单元格是展示还是删

    2024年02月03日
    浏览(16)
  • 【Element-ui】el-table大数据量渲染卡顿问题

    【Element-ui】el-table大数据量渲染卡顿问题

    在项目开发中,遇到在表格中一次性加载完的需求,且加载数量不少,有几百几千条,并且每条都可能有自己的下拉框,输入框来做编辑功能,此时普通的el-table肯定会导致浏览器卡死,那么怎么办呢? 当然很多童鞋肯定会想到利用插件,其实我本人是不咋喜欢插件的,能自

    2024年02月05日
    浏览(8)
  • element-ui表格高度自适应(el-table 自适应高度)

    想让element-ui的表格 el-table 出现滚动条的时候,如果不做处理就只能是 height=“XXXpx”,给它一个固定的高度,我们的页面正常情况下,是不允许出现页面级滚动条的,也是不美观的,想让table自适应高度并且有滚动条,而且不会出现页面级滚动条,可以这么实现,下面是我写

    2024年01月17日
    浏览(9)
  • element-ui的table实现滚动加载,涵el-table组件封装一份

    element-ui的table实现滚动加载,涵el-table组件封装一份

    重点就是 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e n e r 函数,想快点弄上去看效果的直接弄这个函数吧 如果不在mounted中则一定要this.$nextTick(() = this.addRollListener()) 示例代码 如果你把上面的看过了;只需要在 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e

    2023年04月08日
    浏览(15)
  • vue element-ui表格(el-table)数据导出execl文件

    功能实现:element UI 的el-table数据导出为execl文件 使用到插件:xlsx、file-saver exportExecl.js 代码如下: 页面代码如下:

    2024年02月14日
    浏览(16)
  • Element-ui中表格el-table图片预览效果实现(非常实用)

    Element-ui中表格el-table图片预览效果实现(非常实用)

    🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅  文末获取源码联系 🏆先展示效果:   🏆使用的是下面这个插

    2024年02月11日
    浏览(22)
  • 修改element-ui中的表格el-table的滚动条样式

    一.单独修改element-ui中的表格el-table的滚动条样式(两种方法) 1. 2.  二.保持整个页面的滚动条的风格是一致(直接改全局的滚动条样式) 三.页面内某一组件滚动条样式美化  scroll-bar是需要滚动条组件的元素,类名自定义

    2024年02月11日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包