可以用JS脚本重新调整列宽和行高吗

JavaScript022

可以用JS脚本重新调整列宽和行高吗,第1张

可以,代码如下

<!DOCTYPE HTML> 

<html> 

<head> 

<meta charset="gbk"> 

<title>table</title> 

</head> 

<body> 

<table id="tb_1" cellspacing="0" cellpadding="2" width="100%" border="1"> 

<tbody> 

<tr align="center" bgcolor="#dcdcdc"> 

<td style="width:100px">用户编号</td> 

<td>试用时间</td><td>转正时间</td><td>性别</td><td>姓名拼音</td> 

<td>生日时间</td><td>民族</td><td>身高</td> 

</tr> 

<tr> 

<td>2000001</td> 

<td>1997-3-13</td><td>1997-3-13</td><td>1</td><td>WZJ</td> 

<td>1965-3-13</td><td>汉</td><td>171</td> 

</tr> 

<tr> 

<td>2000045</td> 

<td>2001-2-15</td><td>2001-3-15</td><td>0</td><td>WY</td> 

<td>1978-8-5</td><td>汉</td><td>162</td> 

</tr> 

<tr> 

<td>2000046</td> 

<td>2001-2-23</td><td>2001-3-23</td><td>0</td><td>LQ</td> 

<td>2001-2-23</td><td>汉</td><td>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>

1、准备好一个空的html结构的文档。

2、接下来要准备的是准备一个div用来放内容了,这里为了显示特意给div设置了边框。

3、接下来就在div中添加内容,如下图所示,运行后会发现内容偏向于左上角。

4、给div设置水平居中,如下图所示,并且设置行高为div的高度,会发现它水平垂直居中了。

5、让其display属性为table-cell,知道table单元格中可以通过vertical-align垂直居中,转化后也可以用此属性。

6、运用display转化后会发现margin的auto属性不起作用了。

设置行高即可:

<ul class="room" style="font-size:24pxline-height:1.5">