【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;
}
相关推荐
张元清8 小时前
React useDropZone Hook:搭建一个文件拖放区(2026)
javascript·react.js
a1117768 小时前
3D 建筑编辑器 Pascal Editor THreeJS 开源
前端·3d·html
jason_yang8 小时前
写给女儿的英语App
前端·人工智能
思码梁田8 小时前
CSS 定位详解:从相对到固定,掌握网页布局的核心
前端·javascript·css
勇往直前plus9 小时前
Vite :从双击 HTML 到现代前端开发
前端·html
muddjsv9 小时前
CSS 高级选择器精讲:伪类、伪元素、逻辑伪类与选择器解耦规范
前端·css
HH‘HH9 小时前
前端应用的离线暂停更新策略:原理、实现与最佳实践
开发语言·前端·php
软件开发技术深度爱好者9 小时前
HTML5实现数学函数画图器
前端·javascript·html5
蜡台9 小时前
JS 浏览器 / App WebView 检测工具
开发语言·javascript·ecmascript
牧艺9 小时前
cos-design BubbleField:用 Canvas 做一个「会呼吸」的深海气泡场
前端·webgl·canvas