【element-plus】 table表格每行圆角解决方案 element也通用

系列文章目录

【Vue3+Vite+Ts+element-plus】使用tsx实现左侧栏菜单无限层级封装

前言

我们在使用element-pluselementtable 时是否有时UI给到的UI效果是如下面这样的,但是我们翻遍了组件库的文档 调整了很多次样式 发现在 左右侧栏固定的时候 普通的方法是完全没效果的。要么就是左侧没圆角 要么就是右侧没圆角,通过普通的方法是解决不了圆角问题的。接下来我将 分成两个方案 一个是普通表格 一个是左侧右侧固定表格通过伪类的方式解决此问题

一、vue 代码如下

这里定义custom-table 类是方便下面scss代码的使用

typescript 复制代码
  <el-table
     class="custom-table"
      ....>
 </el-table>

三、 scss 代码如下(普通表格实现效果 没有使用伪类)

css 复制代码
//表格头部圆角
:deep(.el-table__header-wrapper) {
  border-radius: 8px;
  z-index: 100 !important;
  overflow: hidden;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}
//此代码是让每行左侧变圆
:deep(.el-table td:first-child) {
  border-left: 1px solid #e2ecfa;
  border-radius: 8px 0 0 8px;
  padding: 2px;
  z-index: 999;
  background: #fff;
}
/此代码是让每行右侧变圆
:deep(.el-table td:last-child) {
  border-right: 1px solid #e2ecfa;
  border-radius: 0 8px 8px 0;
  z-index: 999;
  padding: 2px;
  background: #fff;
}

三、 scss 代码如下(如果你的项目有左侧及右侧固定效果的 请使用此方案)

下面是实现table表格的代码

css 复制代码
//表格头部圆角
:deep(.el-table__header-wrapper) {
  border-radius: 8px;
  z-index: 100 !important;
  overflow: hidden;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}

//此代码是让每行左侧变圆
:deep(.el-table td:first-child) {
  border-left: 1px solid #e2ecfa;
  border-radius: 8px 0 0 8px;
  padding: 2px;
  z-index: 999;
  background: #fff;
}
/此代码是让每行右侧变圆
:deep(.el-table td:last-child) {
  border-right: 1px solid #e2ecfa;
  border-radius: 0 8px 8px 0;
  z-index: 999;
  padding: 2px;
  background: #fff;
}
.custom-table .el-table__fixed-left-wrapper,
.custom-table .el-table__fixed-right-wrapper {
  overflow: visible;
}
.custom-table::before,
.custom-table::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 8px; 
  z-index: 1;
}

.custom-table::before {
  left: 0;
  background-color: #fff; 
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.custom-table::after {
  right: 0;
  background-color: #fff; 
  border-radius: 10px;
}
.control-table {
  position: relative;
}
相关推荐
豆苗学前端几秒前
写给女朋友的第一封信,测试方法概论
前端·后端·设计模式
半桶水专家17 分钟前
Vue 3 插槽(Slot)详解
前端·javascript·vue.js
袁煦丞18 分钟前
本地AI绘画神器+全局访问——Stable Diffusion WebUI 成功突破:cpolar内网穿透实验室第462个成功挑战
前端·程序员·远程工作
一枚前端小能手18 分钟前
🏗️ JavaScript类深度解析 - 从构造函数到现代特性的完整指南
前端·javascript
袁煦丞26 分钟前
家用NAS+云盘自由NanoPi R4S+iStoreOS:cpolar内网穿透实验室第460个成功挑战
前端·程序员·远程工作
浏览器API调用工程师_Taylor1 小时前
日报自动化实战:告别手动复制粘贴
前端·javascript·node.js
晴殇i1 小时前
JavaScript还能这样写?!ES2025新语法让代码优雅到极致
前端·javascript·程序员
浏览器API调用工程师_Taylor1 小时前
我是如何将手动的日报自动化的☺️☺️☺️
前端·javascript·爬虫
东哥很忙XH1 小时前
flutter开发的音乐搜索app
android·javascript·flutter
前端Hardy2 小时前
HTML&CSS&JS:抖音爆火的满屏“关心弹幕”酷炫卡片,已经帮你打包好了,快来体验吧!
前端·javascript·css