Web前端Table中的tr和td按百分比设定宽度和高度,当内容超出时Table变型解决

如果table按照百分比设定宽度和高度,当表格内部任意内容超出所在元素的百分比值时就会使得表格变形。

<table width='80%'>

<tr>

<td width='50%'>内容超过50%</td>

</tr>

</table>

当内容超过50%时,就会使Table变形。此时只需在table标签上设置style=''的table-layout:fixed。

表示:固定布局的算法。在这算法中,水平布局是仅仅基于表格的宽度,表格边框的宽度,单元格间距,列的宽度,而和表格内容无关。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要实现这个功能,你可以使用JavaScript和CSS来改变tabletd元素的样式。 首先,在HTML,你需要定义一个具有固定宽度高度table元素,并在其添加一些td元素。例如: ```html <style> #myTable { width: 500px; height: 300px; border-collapse: collapse; } #myTable td { border: 1px solid black; width: 100px; height: 50px; } </style> <table id="myTable"> <tr> <td>Cell 1</td> <td>Cell 2</td> <td>Cell 3</td> </tr> <tr> <td>Cell 4</td> <td>Cell 5</td> <td>Cell 6</td> </tr> </table> ``` 接下来,你可以使用JavaScript来实现改变td元素的宽度。例如,你可以给每个td元素添加一个mousedown事件监听器,当用户按下鼠标,将其宽度设置为用户拖动鼠标的距离。然后,你可以将mousemove和mouseup事件监听器添加到整个文档,以便在用户拖动鼠标调整宽度,并在用户释放鼠标停止调整。 ```javascript var table = document.getElementById("myTable"); var resizing = false; var start = undefined; var startX = undefined; table.addEventListener("mousedown", function(event) { if (event.target.tagName.toLowerCase() === "td") { resizing = true; start = event.target; startX = event.pageX; } }); document.addEventListener("mousemove", function(event) { if (resizing) { var diff = event.pageX - startX; start.style.width = start.offsetWidth + diff + "px"; startX = event.pageX; } }); document.addEventListener("mouseup", function(event) { resizing = false; start = undefined; startX = undefined; }); ``` 最后,如果你想要固定table宽度高度,并在内容超出显示范围添加滚动条,你可以将table元素包装在一个具有固定宽度高度的div元素,并将div元素的overflow属性设置为auto或scroll。 ```html <div style="width: 500px; height: 300px; overflow: auto;"> <table id="myTable"> ... </table> </div> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值