用户 2026-11-04:
现在很多输入的控件的按钮太丑了。比如选择图片那个按钮, 还有下面排序的那个输入框,以及前端进行筛选的那些输入框、下拉框之类的, 都特别丑,一点设计感都没有。它们的高度之类的,现在都太随意了。 还有那个添加软件的时候,有个什么下载链接,这个东西不要。
后续又提:
所有下拉框拉下来之后怎么全是灰色的?需要全部重新设计一下。 排序那个怎么删了?排序还得留着呀。
原来样式散在 6 处,padding 有 8/9/12px 三种,select 与 input 高度不等。
padding
改为 CSS 变量体系:
--ctl-h: 38px
--ctl-h-sm: 32px
--ctl-h-lg: 42px
第一版限定在 .field / .filters 里,导致后台零散布局中的裸 select/input 没匹配上,高度只有 19px / 21px,与旁边 38px 按钮并排参差不齐。 改成按 type 通吃(用 :not() 排除 checkbox/radio/color/range/file)。
.field
.filters
type
:not()
原生 <select> 的展开列表由浏览器绘制,CSS 只能改 option 底色, 改不了圆角/行高/hover,各平台样式还不一样(Windows 是灰方框)。
<select>
做法:不重写 HTML(全站 16 个 select,逐个改会漏、 也会破坏 onchange="this.form.submit()"), 原生 select 视觉隐藏但仍参与提交与 change 事件,JS 生成按钮 + 浮层列表。 浮层 position:fixed 挂 body,避免被 overflow 裁;支持键盘 ↑↓ Home End Enter Esc。
onchange="this.form.submit()"
position:fixed
不是被删,是只在 if ($esw) 分支渲染 —— 新建软件时确实没有。 已移出该分支,新建/编辑都显示,默认值 = 当前最大排序 + 1。
if ($esw)
唯一用途是「已解决」邮件里把按钮换成「下载最新版本」, 收益小、每个软件都要维护一条 URL。表单删除,mailer 分支一并删除。 数据库 download_url 列保留不删 —— 删列不可逆,万一要恢复还得迁一次。
download_url
与 #6/#7 无关:本单是控件尺寸与外观体系重构(含自绘下拉、删除下载地址字段),动 admin_taxonomy.php/mailer.php/style.css/app.js
本单是事后补建的工单 —— 改动在 2026-11-04 已上线,当时未按铁律先建单,此处补录。
27614d8
9b971a5
10 类控件实测全部 38px(文本/数字/下拉/搜索/文件按钮/主按钮/小按钮…), 文本域 110px,同一行垂直中心完全一致(935.3)。
裸 select/input(不在 .field/.filters 容器里的)从 19px / 21px 修正到 38px —— 这正是用户说的"高度太随意"的根因:选择器限定得太窄,漏掉了零散布局中的控件。
<label class="file-btn">
.field-narrow
提交页 / 列表页 / 详情页逐一检查: 没有 checkbox / radio / file 被误改,所有可见控件高度收敛为 38(文本域 110)。
面板白底 rgb(255,255,255)、圆角 11px、双层柔和阴影; 选中项带对勾;键盘 ↑↓ Home End Enter Esc 均正常; 选择后 selectedIndex/value 同步、面板自动关闭、change 事件已触发; 浮层 position:fixed,完整可见不被裁切。
selectedIndex
value
3 处(软件/分类/状态)齐全;新建软件时也显示,默认值 = 最大排序 + 1。
admin.php 输出与源码中均无 download_url 表单项。 DB 列保留未删。
admin.php
No dependencies set.
The note is not visible to the blocked user.
背景
用户 2026-11-04:
后续又提:
改法
1. 统一控件尺度
原来样式散在 6 处,
padding有 8/9/12px 三种,select 与 input 高度不等。改为 CSS 变量体系:
--ctl-h: 38px/--ctl-h-sm: 32px/--ctl-h-lg: 42px2. 选择器必须放宽
第一版限定在
.field/.filters里,导致后台零散布局中的裸 select/input没匹配上,高度只有 19px / 21px,与旁边 38px 按钮并排参差不齐。
改成按
type通吃(用:not()排除 checkbox/radio/color/range/file)。3. 自绘下拉列表
原生
<select>的展开列表由浏览器绘制,CSS 只能改 option 底色,改不了圆角/行高/hover,各平台样式还不一样(Windows 是灰方框)。
做法:不重写 HTML(全站 16 个 select,逐个改会漏、
也会破坏
onchange="this.form.submit()"),原生 select 视觉隐藏但仍参与提交与 change 事件,JS 生成按钮 + 浮层列表。
浮层
position:fixed挂 body,避免被 overflow 裁;支持键盘 ↑↓ Home End Enter Esc。4. 排序字段
不是被删,是只在
if ($esw)分支渲染 —— 新建软件时确实没有。已移出该分支,新建/编辑都显示,默认值 = 当前最大排序 + 1。
5. 删除「下载地址」
唯一用途是「已解决」邮件里把按钮换成「下载最新版本」,
收益小、每个软件都要维护一条 URL。表单删除,mailer 分支一并删除。
数据库
download_url列保留不删 —— 删列不可逆,万一要恢复还得迁一次。验收
为什么单独建单
与 #6/#7 无关:本单是控件尺寸与外观体系重构(含自绘下拉、删除下载地址字段),动 admin_taxonomy.php/mailer.php/style.css/app.js
追溯关联(补记)
本单是事后补建的工单 —— 改动在 2026-11-04 已上线,当时未按铁律先建单,此处补录。
对应提交
27614d8统一全部表单控件尺寸与外观;删除下载地址字段9b971a5下拉框改为自绘列表;修复新建软件缺排序字段实际验证结果
控件高度
10 类控件实测全部 38px(文本/数字/下拉/搜索/文件按钮/主按钮/小按钮…),
文本域 110px,同一行垂直中心完全一致(935.3)。
裸 select/input(不在 .field/.filters 容器里的)从 19px / 21px 修正到 38px
—— 这正是用户说的"高度太随意"的根因:选择器限定得太窄,漏掉了零散布局中的控件。
外观
<label class="file-btn">+ 图标 + 文件名.field-narrow)真实页面回归
提交页 / 列表页 / 详情页逐一检查:
没有 checkbox / radio / file 被误改,所有可见控件高度收敛为 38(文本域 110)。
下拉列表
面板白底 rgb(255,255,255)、圆角 11px、双层柔和阴影;
选中项带对勾;键盘 ↑↓ Home End Enter Esc 均正常;
选择后
selectedIndex/value同步、面板自动关闭、change 事件已触发;浮层
position:fixed,完整可见不被裁切。排序字段
3 处(软件/分类/状态)齐全;新建软件时也显示,默认值 = 最大排序 + 1。
下载地址
admin.php输出与源码中均无download_url表单项。DB 列保留未删。
遗留
download_url列保留(删列不可逆),若确定永不使用可另开单清理。