table 上下左右 4根线的写法

<!--
* @description 重点查核人员表
!-->
<template>
<div class="keyCheckersTable">
<div class="tableZenHeader" ref="tableZenHeader">
<tableZen ref="tableZen"
disInnerInit
width="1500"
:styles="{border:0}"
:columns="columns"
@reload="tableZenReloadHandle">
</tableZen>
</div> <div :style="{height:innerHeight+'px' }" class="tableZenBody" ref="tableZenBody" @scroll="scrollHandle">
<div style="height: 500px; width: 1500px;">
123
</div>
</div>
</div>
</template> <script>
import columns from './columns'
import mockJson from './mockJson'
import buttonZen from '@/components/buttonZen'
import tableZen from '@/components/tableZen/tableZen' // 表格组件
import privateZenMixins from '@/view/biz/input/components/privateZenMixins.js'
export default {
name: 'keyCheckersTable',
mixins: [privateZenMixins],
components: {
tableZen,
buttonZen
},
props: {
diffHeight: {
type: Number,
default: 315
}
},
data () {
return {
innerHeight: 0,
mockJson,
columns
}
},
watch: {},
computed: {},
methods: {
hasScrollbar () {
this.consoleInfo('hasScrollbar', this.$refs.tableZenBody.scrollHeight, this.$refs.tableZenBody.offsetHeight)
// return this.$refs.tableZenBody.scrollWidth > this.$refs.tableZenBody.offsetWidth
return this.$refs.tableZenBody.scrollHeight > this.$refs.tableZenBody.offsetHeight
},
setScrollbar () {
this.$nextTick(() => {
this.setScrollbarExecute()
})
},
setScrollbarExecute () {
this.consoleInfo('this.hasScrollbar()', this.hasScrollbar())
if (this.hasScrollbar()) { // 如果有横向滚动条
this.$refs.tableZenHeader.style['overflow-y'] = 'scroll'
} else {
this.$refs.tableZenHeader.style['overflow-y'] = 'hidden'
}
},
scrollHandle () {
// this.consoleInfo('scrollHandle scrollLeft', this.$refs.tableZenBody.scrollLeft)
this.$refs.tableZenHeader.scrollLeft = this.$refs.tableZenBody.scrollLeft
},
init () {
this.calcHeight()
this.setScrollbar() window.addEventListener('resize', () => {
this.consoleInfo('resize')
this.calcHeight()
this.setScrollbar()
})
},
calcHeight () {
this.innerHeight = window.innerHeight - this.diffHeight
// this.consoleInfo('height', window.innerHeight, this.diffHeight, this.innerHeight)
},
tableZenReloadHandle (anyParams, callback) {
let ret = {
total: 100,
data: [{ a1: 'test' }]
}
callback(ret)
}
},
created () {},
mounted () {
this.init()
}
}
</script>
<style lang="less">
.keyCheckersTable { border-top: 1px solid #dcdee2;
border-left: 1px solid #dcdee2;
position: relative;
&:before {
content: '';
width: 100%;
height: 1px;
position: absolute;
left: 0;
bottom: 0;
background-color: #dcdee2;
z-index: 1;
}
&:after {
content: '';
width: 1px;
height: 100%;
position: absolute;
top: 0;
right: 0;
background-color: #dcdee2;
z-index: 3;
}
.tableZenHeader {
overflow-x: hidden;
/*overflow-y: scroll;*/
}
.ivu-table-tip { display: none;}
.tableZenBody {
overflow: auto;
}
.ivu-table { margin-bottom: 0 !important;}
}
</style>

table 上下左右 4根线的写法 :before :after 他们就能把td里面右下的那颗线给盖上 还有body和header横向滚动的联动 || 不能把body套在header上是为了上header表头固定 || 还有表头header的右侧overflow-y 是否出现滚动条的位置 记得有一个$nextTick 要不然会获取不到高度 高度就为0了 || 横向滚动条纵向滚动条的更多相关文章

  1. AntV F2 数据可视化填坑,图表横向滚动

    柱状图横向滚动 思路 通过 Interaction 实现平移,通过 ScrollBar 显示滚动条 1.Interaction F2 提供一套交互机制,以达到通用交互行为的封装和复用.基于此机制,我们 ...

  2. 使 WPF 支持触摸板的横向滚动

    微软终于开始学苹果一样好好做触摸板了(就是键盘空格键下面那一大块).然而鉴于以前没有好好做,以至于 WPF 程序甚至都没有对触摸板的横向滚动提供支持(竖向滚动是直接使用了 MouseWheel,汗-- ...

  3. 获取UILabel上最后一个字符串的位置。获取文字长度和高度,自动换行

    //行的高度. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPat ...

  4. Swift4 - 动态计算UITableView中tableHeaderView的高度 - 获取子控件高度和宽度

    核心 : /// 获取 子控件高度 func sizeHeaderToFit(view:UIView) { view.setNeedsLayout() view.layoutIfNeeded() le ...

  5. jquery获取和设置元素高度宽度

    jquery获取和设置元素高度宽度 1.height()/ width() 取得第一个匹配元素当前计算的高度/宽度值(px) height(val)/ width(val) 为每个匹配的元素设置CSS ...

  6. 原生JS获取各种高度宽度、浏览器窗口滚动条的位置、元素的几何尺寸名

    1)关于 pageX, clienX,offsetX,layerX pageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化 clientX:鼠标在页面上可视区域的位 ...

  7. js获取网页的各种高度

    原文:js获取网页的各种高度 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: documen ...

  8. 纯css实现table表格固定列和表头,中间横向滚动的思路-附案例

    最近做的后台管理系统要处理大量的表格 原项目是采用的for循环加拼接字符串的方式实现;导致js代码一大堆;各种单引号和双引号的嵌套;让人头疼;遂引入vue.js;用v-for做模板渲染;工作量顿时减轻 ...

  9. Android获取虚拟软键盘高度

    public static int getDpi(Context context) { int dpi = 0; WindowManager windowManager = (WindowManage ...

随机推荐

  1. IO流框架

    目录 IO流框架总结 字节流 字符流 IO流框架总结 普通IO / NIO 字节流 字节流是万能流,但是在处理字符方面有时候不太方便,一般用来处理二进制文件 字节输入流 InputStream int ...

  2. [USACO5.1] Musical Themes

    后缀数组求最长重复且不重叠子串. poj 1743 传送门 洛谷 P2743 传送门 1.子串可以“变调”(即1 3 6和3 5 8视作相同).解决办法:求字符串相邻元素的差形成新串.用新字符串求解最 ...

  3. 吴裕雄--天生自然python编程:turtle模块绘图(4)

    import turtle bob = turtle.Turtle() for i in range(1,5): bob.fd(100) bob.lt(90) turtle.mainloop() im ...

  4. docker 使用:镜像和容器

    docker 镜像 docker image是一个极度精简版的Linux程序运行环境,官网的java镜像包括的东西更少,除非是镜像叠加方式的如centos+java7,需要定制化build的一个安装包 ...

  5. 点击一个ul的五个li元素,分别弹出他们的序号,怎么做?

    方法1 : for(var i=0; i<oLis.length; i++){ oLis[i].onclick = (function(j){ return function(){ alert( ...

  6. 红灯区:DevOps 建设的思考和实践

    点击关注"有赞coder" 获取更多技术干货哦- 作者:费解 团队:效能改进 背景 众所周知,在丰田精益生产中,核心观念包含对人的尊重.消除浪费.持续改善,只有这样,企业才能保持良 ...

  7. fiddler 针对单个接口打断点

    在命令行输入相关指令: 以慕课网为例: 请求前设置断点:bpu 实例: bpu https://www.imooc.com/index/getstarlist 请求 https://www.imooc ...

  8. ES查询实例

    注:转载自https://www.cnblogs.com/yjf512/p/4897294.html 作者:叶剑锋 elasticsearch 查询(match和term) es中的查询请求有两种方式 ...

  9. Flink命令行提交job (源码分析)

    这篇文章主要介绍从命令行到任务在Driver端运行的过程 通过flink run 命令提交jar包运行程序 以yarn 模式提交任务命令类似于: flink run -m yarn-cluster X ...

  10. 读书笔记-《Mysql技术内幕》

    MYSQL 技术内幕 Mysql体系 连接池组件 管理服务和工具 SQL接口 查询分析器 优化器 缓冲 插件式存储引擎 物理文件 存储引擎 InnoDB(默认引擎) 支持事务 行锁设计 多版本并发控制 ...