换模板后,先别急着逐页肉眼扫。更可靠的做法是:把旧模板下的页面清单和新模板的渲染结果做一次对照,重点看两类信号——文字被容器裁掉或撑破布局,以及原本存在的模块在新模板里消失。前者通常靠浏览器开发者工具的溢出检测发现,后者要靠结构化清单比对。
这两类问题的排查路径完全不同,混在一起查会浪费大量时间。
scrollWidth 是否大于 clientWidth,或观察是否出现横向滚动条,通常能快速定位。一个可操作的判断动作:随机抽 10 个内容量差异较大的页面(最短的、最长的、带表格的、带多图的),在浏览器里把窗口从宽拖到窄。如果只有长内容页出问题,多半是溢出;如果短内容页也缺了某个区块,多半是缺项。
模板的容器宽度、行高、字号是固定的,但内容长度是变量。溢出往往只在“最长的那几页”暴露。
具体动作:从后台按正文字数排序,取最长的 5 篇和最短的 5 篇,分别在新模板下打开。对最长的那几篇,重点检查标题、正文首段、表格、代码块、图片说明文字。如果标题在移动端折成三行后盖住了下方元素,说明容器没有预留足够高度,需要调整 CSS 的 min-height 或 overflow 规则。
这里有一个取舍:是改模板容器,还是改内容? 如果溢出只出现在极少数超长标题上,改内容(缩短标题或加省略规则)成本更低;如果大量中等长度内容都出问题,说明容器本身设得太窄,应该改模板。判断依据是:统计出问题的页面里,内容长度是否集中在某个区间。如果集中在最长的 5%,改内容更划算;如果分布很散,改模板。
例外情况:表格和代码块。这两类内容很难靠缩短来适配,通常必须给容器加横向滚动或允许换行。如果新模板禁止了横向滚动,表格在窄屏下就会撑破布局,这时改模板是唯一选择。
缺项比溢出更隐蔽,因为页面看起来“正常”,只是少了东西。识别方法是:在旧模板下,把每个页面类型(文章页、列表页、首页)用到的模块列成清单,然后在新模板下逐项确认。
清单至少包含:页面标题、正文、作者或来源、发布时间、上一篇/下一篇、相关推荐、面包屑、侧栏、页脚导航、评论或留言区。对每一项,记录它在旧模板的位置和新模板的位置。如果某个模块在新模板里找不到对应位置,就是缺项。
一个假设的例子:旧模板文章页底部有“同分类文章”列表,数据来自后台的分类关联。新模板只保留了“最新文章”,没有读取分类关联。这时后台数据没丢,但前台展示逻辑变了。要恢复,需要在模板里重新挂载该模块,或者确认新模板是否有对应的开关。如果没有,就需要在模板层面补上。
这个动作的结果会直接影响下一步:如果缺项集中在少数几个模块,可以逐个补;如果缺项涉及页面主体结构,说明新模板和旧内容模型不匹配,可能需要重新评估模板选型,而不是继续打补丁。
条件一:你有模板源码或可编辑的样式文件。 优先在模板层修复。对溢出,调整容器宽度、行高、overflow-wrap;对缺项,补回模块并绑定原有数据字段。这样一次修改覆盖所有页面,后续新增内容也不会再出问题。
条件二:模板不可编辑,只能通过后台配置或内容调整。 对溢出,改用更短的内容摘要、给图片设定固定比例、把宽表格拆成多列;对缺项,如果后台支持自定义区块,就手动添加,否则只能接受功能减少,或在内容里用文字链接替代原模块。这种情况下,要优先保证核心内容(标题、正文、联系方式)完整,装饰性模块可以舍弃。
无论哪种条件,改完后都要用同一批极值页复测,确认溢出消失、缺项补齐,再检查是否引入了新的布局问题。如果复测时发现某些页面仍然异常,说明该页面的内容结构有特殊情况,需要单独处理,而不是继续套用通用规则。