HTML Table 固定列宽,实现excel表格效果

Bertha 。 2022-04-10 08:12 598阅读 0赞

(1)获取行号

  1. <table>
  2. <tr onmouseover ="showIndex(this)"><td>1</td></tr>
  3. <tr onmouseover ="showIndex(this)"><td>2</td></tr>
  4. <tr onmouseover ="showIndex(this)"><td>3</td></tr>
  5. <tr onmouseover ="showIndex(this)"><td>4</td></tr>
  6. </table>
  7. function showIndex(pVal) {
  8. alert(pVal.rowIndex);
  9. }

(2)改变颜色、符号

  1. /*在行上改变 图片*/
  2. for(var i=0;i<=pTable.rows.length-1;i++)
  3. {
  4. var row=pTable.rows[i];
  5. row.onmouseover = function() {
  6. /*js this是事件的触发者*/
  7. this.style.backgroundColor="#ffff00";
  8. var tempDv = this.childNodes[0].childNodes[0];
  9. var currentY = parseInt(tempDv.style.backgroundPositionY.split('px')[0]);
  10. var newY = currentY - 30 + "px";
  11. tempDv.style.backgroundPositionY = newY;
  12. }
  13. row.onmouseout = function() {
  14. this.style.backgroundColor="#ffffff";
  15. var tempDv = this.childNodes[0].childNodes[0];
  16. var currentY = parseInt(tempDv.style.backgroundPositionY.split('px')[0]);
  17. var newY = currentY + 30 + "px";
  18. tempDv.style.backgroundPositionY = newY;
  19. }
  20. }

(3)excel表格效果

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title></title>
  5. <style type="text/css" >
  6. table{
  7. border-collapse:collapse;}/*table消除行间距的技巧*/
  8. #tb1 td{
  9. border:1px solid #000000;}/*td和colgroup无法限制cell的宽度.只要内容超过设定值,单元格会被撑开*/
  10. /**************************/
  11. #tb2 td{
  12. border:1px solid #000000;}
  13. #tb2 td span{
  14. border-right:1px solid #000000;}/*每行1td,行内用span来控制单元格宽度. */
  15. .span1{
  16. width:33px; height:20px; overflow:hidden;}/*失败原因:span是行内元素 宽高属性无效*/
  17. .span2{
  18. width:48px;height:20px; overflow:hidden;}/*如果将文本直接放在td内,对控制td的wh和overflow,内容过长一样会撑开*/
  19. /************************/
  20. #tb3 td{
  21. border:1px solid #000000;}/*可行方案每行1td,td内使用p,即可控制列宽*/
  22. #tb3 p{
  23. float:left; margin:0px; padding:0px; border-right:solid 1px #000000}
  24. </style>
  25. </head>
  26. <body>
  27. <table id="tb1">
  28. <tr><td>姓名</td><td>身份证</td></tr>
  29. <tr><td class ="span1">111312321312</td><td class ="span2">222312312</td></tr><!--文本在td内,直接控制td的width,overflow.当文本超长,td会被撑开-->
  30. <tr><td class ="span1">1113213213121</td><td class ="span2">222312312</td></tr>
  31. </table>
  32. <div style="height:20px"></div>
  33. <table id="tb2">
  34. <tr><td><span>姓名</span><span>身份证</span></td></tr>
  35. <tr><td><span class="span1">111</span><span class="span2">222</span></td></tr>
  36. <tr><td><span class="span1">111</span><span class="span2">222</span></td></tr>
  37. </table>
  38. <div style="height:20px"></div>
  39. <table id="tb3">
  40. <tr><td><p>姓名</p><p>身份证</p></td></tr>
  41. <tr><td><p class="span1">111</p><p class="span2">222</p></td></tr>
  42. <tr><td><p class="span1">111</p><p class="span2">222</p></td></tr>
  43. </table>
  44. </body>
  45. </html>

2012091313085365.png

发表评论

表情:
评论列表 (有 0 条评论,598人围观)

还没有评论,来说两句吧...

相关阅读