Files
wordpress-kratos-yang/assets/css
laoyang f5fd363dce fix(widgets): 分类挂件改成「点开才占一行」的下拉面板 #24
需求改判:3.2.54 做的「父级常显 + 子级折叠树」被否,用户要的是
「不点只有一行,点开把所有一级分类拉出来」的真下拉面板。

## 改了什么

- widget() 重写:`<details class="yang-cats-drop">` + `<summary>` 触发条
  + `position:absolute` 浮层面板。收起时整个挂件只占一行(40.5px),
  展开时面板盖在下方内容上,不把后面的挂件推走。
- children 兜底值 true → false。线上实例的配置里本来没有这个键,
  所以走 pick() 兜底 ⇒ 改兜底就等于改线上行为,用户零操作即变成
  「只列一级分类」,不用进后台勾一次。
- 子级不再嵌套 <details>(3.2.54 是嵌套)。现在父级与子级的 DOM
  结构完全一致,3.2.54 那个「space-between 推不动、数字右边界差
  7.1px」的缺陷从结构上消失了,不需要 flex:1 补丁。
- 补一段渐进增强脚本,只做「点外部收起 / Esc 收起并还焦点」两件事,
  不接管开合本身(关掉 JS 仍能正常展开跳转)。
- CSS:.w-cats 区块整块重写。修掉子级 li 右内边距叠加的缺陷 ——
  子级 ul 嵌在已 padding:0 12px 的父级 li 里,子级 li 又写了一遍
  右内边距 ⇒ 叠加成 24px,导致子级数字比父级多缩进 12px、父子排不成
  一列,竖着比大小时会错位。改成 0 后父子数字同列。
- style.css 版本号 3.2.54 → 3.2.55(3.2.54 已落过 update.json,
  同号重发会让 WP 的 version_compare 判「没有新版本」)。

## 验证

- 端到端(线上真实 WordPress,96 项):全通过
- 反证:内容判据 12 组 + 端到端 3 组,全部真红,无一组空跑
- 视觉几何(真实浏览器 50 项):全通过
- 上一版(3.2.53)老代码跑同一套端到端判据:88 项失败
- 包内 PHP lint 96 个全过;zip 无 1980 时间戳(防 OPcache 误判)

## 发布

只写 theme-update/:zip + readme + update.json → 3.2.55。
线上主题目录仍是 3.2.54,等用户在后台点升级(红线)。
2026-10-27 13:00:37 +08:00
..