查看: 181|回复: 1

Discuz! 让手机版也支持电脑版帖子表格样式

[复制链接]

1515

主题

32

回帖

4227

积分

管理员

金钱
2680
发表于 2026-7-16 21:25:08 | 显示全部楼层 |阅读模式

2882.jpg


受页面大小限制,表格边框或许显示的不太美观,但是仍然比原来没有边框要好看的多!

1、首先打开 source/function/function_discuzcode.php ,查找(有两处):

  1. : '<table>'
复制代码


修改为:

  1. :'<table cellspacing="0" class="t_table" '
复制代码



2、接着打开 static/image/mobile/style.css ,在最下边添加:

  1. .t_table{
  2.     table-layout: auto;
  3. }
  4. .t_table td{padding: 4px;
  5.     line-height: 1.1;
  6.     border: 1px solid #afbeca;
  7.     overflow: hidden;
  8. }  
复制代码


然后到后台更新缓存。



1515

主题

32

回帖

4227

积分

管理员

金钱
2680
 楼主| 发表于 2026-7-27 16:42:44 | 显示全部楼层

可以横向滑动显示,增加表格描边
修改教程:
在模板目录下 如默认模板template/default/touch/forum/viewthread.htm
文件倒数第二行增加以下代码(<!--{template common/footer}-->之前)


  1. <style>
  2.          
  3.         .message table td {
  4.                 padding: 5px;
  5.                 white-space: nowrap;
  6.                 overflow: hidden;
  7.                 text-overflow: ellipsis;
  8.                 border: 1px solid #ddd;
  9.         }
  10. </style>
  11. <script type="text/javascript">
  12.     function optimizeTables() {
  13.         var tables = document.querySelectorAll('.message table');
  14.         tables.forEach(function(table) {
  15.             // 设置表格样式
  16.             table.style.width = '100%';
  17.             table.style.maxWidth = 'none'; // 移除最大宽度限制
  18.             table.style.tableLayout = 'fixed';
  19.             table.style.overflowX = 'auto';
  20.             table.style.display = 'block';
  21.             
  22.             var cells = table.rows[0].cells;
  23.             var cellCount = cells.length;
  24.             var minCellWidth = 100; // 最小列宽
  25.            
  26.             
  27.             // 设置每列的宽度
  28.             for (var i = 0; i < cellCount; i++) {
  29.                 cells[i].style.minWidth = minCellWidth + 'px';
  30.                 cells[i].style.width = (100 / cellCount) + '%';
  31.             }
  32.             
  33.             // 处理所有单元格
  34.             var allCells = table.getElementsByTagName('td');
  35.             for (var i = 0; i < allCells.length; i++) {
  36.                 allCells[i].style.whiteSpace = 'nowrap';
  37.                 allCells[i].style.overflow = 'hidden';
  38.                 allCells[i].style.textOverflow = 'ellipsis';
  39.             
  40.             }
  41.         });
  42.     }

  43.     // 在页面加载完成和窗口大小改变时调用此函数
  44.     window.addEventListener('load', optimizeTables);
  45.     window.addEventListener('resize', optimizeTables);
  46.     </script>
复制代码


楼层文章来源:https://www.dismall.com/thread-23264-1-1.html

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|网站地图|文强阁

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
返回顶部