table 自适应高度的解决办法

可支持IE6+,firefox,chrome。其中容易被忽略的是 
<DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.0 Transitional//EN">  
,不能使用XHTML 
<DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.0 Transitional//EN">
<html>
	<HEAD>
		<title>table布局中自适应高度的解决办法</title>
<style type="text/css">
html,body{height:100%;font-size:12px;}
td {border:1px solid red;font-size: 12px;color: #000000;margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;}
#main{border:1px solid red;width:100%;min-height:100%;height:100%;overflow:hidden !important;overflow: visible;}
#header{height:94px;border:1px solid red;}
</style>
</head>
<body>
<table id="main">
	<tr><td id="header">我的顶部</td></tr>
	<tr><td>我是主要内容</td></tr>
</table>
</body>
</html>

我是主要内容
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Vue框架中,el-table作为一个非常实用的表格组件,可以方便地对表格进行展示、编辑、筛选、排序等操作。但是,在实际使用中我们往往会碰到一个问题,即当表格数据量过大时,el-table高度无法自适应,导致页面出现滚动条,影响用户体验。 为解决这个问题,可以采用以下方法: 1. 使用v-if条件渲染,当表格数据为空时不渲染el-table组件,或者使用loading等Vue内置指令提示用户等待。 2. 设置表格的max-height属性,当表格数据量超过一定值时,限制表格的最大高度,并自动出现滚动条。 3. 监听窗口变化,实时计算可视区域的高度,并动态地调整表格高度,从而达到自适应的效果。 示例代码实现如下(以第三种方法为例): <template> <div class="table-wrap" ref="tableWrap"> <el-table :data="tableData" style="width: 100%" :height="tableHeight"> <!--表格列定义--> </el-table> </div> </template> <script> export default { data() { return { tableData: [], // 表格数据 tableHeight: 0 // 表格高度 } }, mounted() { this.getTableData() // 获取表格数据 window.addEventListener('resize', this.handleResize) // 监听窗口变化 }, beforeDestroy() { window.removeEventListener('resize', this.handleResize) // 销毁时移除监听器 }, methods: { getTableData() { // 获取表格数据 // ... this.tableData = [...] this.handleResize() // 初始化表格高度 }, handleResize() { // 计算可视区域高度并动态调整表格高度 const tableWrapEl = this.$refs.tableWrap const windowHeight = window.innerHeight const tableWrapOffsetTop = tableWrapEl.getBoundingClientRect().top const tableWrapMarginBottom = parseInt(window.getComputedStyle(tableWrapEl).marginBottom) const tableHeight = windowHeight - tableWrapOffsetTop - tableWrapMarginBottom this.tableHeight = tableHeight > 0 ? tableHeight : 0 // 高度不能为负数 } } } </script> 通过这种方式,可以让el-table组件高度自适应,提高用户体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值