html表格自适应

<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>table</title> 

<style>
.style1 {
    overflow: hidden;
	overflow: hidden;
	white-space:nowrap; 
	text-overflow:ellipsis;
}
</style>

</head> 
<body> 
<table id="tb_1" cellspacing="0" cellpadding="2" width="100%" border="1" style="table-layout:fixed;"> 
<tbody>
<tr>   
<td class="style1">11111111111111111</td> 
<td class="style1">试用时间</td>
<td class="style1">转正时间</td>
<td class="style1">性别</td>
<td class="style1">姓名拼音</td> 
<td class="style1">生日时间</td>
<td class="style1">民族</td>
<td class="style1">身高</td> 
</tr> 
<tr> 
<td class="style1">2000001</td> 
<td class="style1">1997-3-13</td>
<td class="style1">1997-3-13</td>
<td class="style1">1</td>
<td class="style1">WZJ</td> 
<td class="style1">1965-3-13</td>
<td class="style1">汉</td>
<td class="style1">171</td> 
</tr> 
<tr> 
<td class="style1">2000045</td> 
<td class="style1">2001-2-15</td>
<td class="style1">2001-3-15</td>
<td class="style1">0</td>
<td class="style1">WY</td> 
<td class="style1">1978-8-5</td>
<td class="style1">汉</td>
<td class="style1">162</td> 
</tr> 
<tr> 
<td class="style1">2000046</td> 
<td class="style1">2001-2-23</td>
<td class="style1">2001-3-23</td>
<td class="style1">0</td>
<td class="style1">LQ</td> 
<td class="style1">2001-2-23</td>
<td class="style1">汉</td>
<td class="style1">171</td> 
</tr> 
</tbody> 
</table> 
<script type="text/javascript"> 
var tTD; //用来存储当前更改宽度的Table Cell,避免快速移动鼠标的问题 
var table = document.getElementById("tb_1"); 
for (j = 0; j < table.rows[0].cells.length; j++) { 
table.rows[0].cells[j].onmousedown = function () { 
//记录单元格 
tTD = this; 
if (event.offsetX > tTD.offsetWidth - 10) { 
tTD.mouseDown = true; 
tTD.oldX = event.x; 
tTD.oldWidth = tTD.offsetWidth; 
} 
//记录Table宽度 
//table = tTD; while (table.tagName != ‘TABLE') table = table.parentElement; 
//tTD.tableWidth = table.offsetWidth; 
}; 
table.rows[0].cells[j].onmouseup = function () { 
//结束宽度调整 
if (tTD == undefined) tTD = this; 
tTD.mouseDown = false; 
tTD.style.cursor = 'default'; 
}; 
table.rows[0].cells[j].onmousemove = function () { 
//更改鼠标样式 
if (event.offsetX > this.offsetWidth - 10) 
this.style.cursor = 'col-resize'; 
else 
this.style.cursor = 'default'; 
//取出暂存的Table Cell 
if (tTD == undefined) tTD = this; 
//调整宽度 
if (tTD.mouseDown != null && tTD.mouseDown == true) { 
tTD.style.cursor = 'default'; 
if (tTD.oldWidth + (event.x - tTD.oldX)>0) 
tTD.width = tTD.oldWidth + (event.x - tTD.oldX); 
//调整列宽 
tTD.style.width = tTD.width; 
tTD.style.cursor = 'col-resize'; 
//调整该列中的每个Cell 
table = tTD; while (table.tagName != 'TABLE') table = table.parentElement; 
for (j = 0; j < table.rows.length; j++) { 
table.rows[j].cells[tTD.cellIndex].width = tTD.width; 
} 
//调整整个表 
//table.width = tTD.tableWidth + (tTD.offsetWidth – tTD.oldWidth); 
//table.style.width = table.width; 
} 
}; 
} 
</script> 
</body> 
</html> 

转自:tianjy0508

Echarts本身并不提供直接的自适应表格功能,但你可以通过一些技巧来实现Echarts图表的自适应布局,使其在不同尺寸的容器中自适应。 下面是一种常见的实现方法: 1. 使用百分比设置容器大小:将Echarts图表所在的容器元素的宽度和高度设置为百分比,例如: ```html <div id="chart" style="width: 100%; height: 100%;"></div> ``` 这样,当容器的父元素大小改变时,图表会自动根据父元素的尺寸进行缩放。 2. 使用CSS Flexbox布局:将Echarts图表所在的容器元素使用Flexbox布局,并设置`.chart`元素为`flex: 1`,示例代码如下: ```html <div class="container"> <div id="chart" class="chart"></div> </div> ``` ```css .container { display: flex; flex-direction: column; width: 100%; height: 100%; } .chart { flex: 1; } ``` 这样,`.chart`元素会根据剩余空间自动调整自身大小,实现自适应布局。 3. 监听窗口大小变化:在Vue组件的`mounted`方法中,使用`window.addEventListener`监听窗口大小变化,并在回调函数中调用Echarts的`resize()`方法重新计算和渲染图表,示例代码如下: ```javascript import echarts from 'echarts'; export default { mounted() { const chart = echarts.init(document.getElementById('chart')); // 监听窗口大小变化 window.addEventListener('resize', () => { chart.resize(); }); // 设置图表配置项和数据 // ... // 渲染图表 chart.setOption(options); } } ``` 这样,当窗口大小发生变化时,图表会自动调整大小以适应新的窗口尺寸。 通过以上方法,你可以实现Echarts图表的自适应布局,使其在不同尺寸的容器中自动调整大小。请根据具体情况选择最适合你的方法来实现自适应布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值