我们正在测试新版皮肤( 切换至新版切换至旧版 | 了解详情 )
我们正在测试新版皮肤( 切换至新版切换至旧版 | 了解详情 )
微件:AkComponents
跳转到导航
跳转到搜索
用法:模板最外层元素加 ak-host 类,模板里写一次 {{#widget:AkComponents}}。
模板直接输出设计系统组件(.ak-archive 等)的 HTML 时用。Arknights 皮肤本来就全套加载组件样式,什么都不做;
其他皮肤(Vector / Vector 2022 / Minerva …)用 JS 加载皮肤自己的 skins.arknights.components + skins.arknights.fonts,
加载完给页面里的 .ak-host 加 ak-scope 当作用域根。做法同新首页(微件:Mpstyle/newskin)。
- 样式到位前
.ak-host先visibility: hidden,免得闪一下没样式的版面;脚本没跑起来 3 秒后照常显示,无 JS 的访客不藏。 - 旧 Vector / Minerva 的
<html>不带skin-theme-clientpref-*,令牌会跟随系统明暗,系统暗色下组件会变成亮页面里的一块黑,所以钉成亮色(<html data-theme="light">)。 - 组件的点击行为在 Arknights 皮肤上由皮肤脚本(
skins.arknights.scripts的 interactive.js)代管,其他皮肤上由这里补同样的几条,都挂在 document 上,脚本后建的组件也管得到:- 页签(
.ak-tabs[data-tabs] .ak-tab):点哪个哪个is-active,同data-tabs的.ak-tabpanel只留data-tab对得上的那块。 - 可折叠面板(
.ak-panel--collapsible):点标题栏(.ak-panel__head)切换is-collapsed,[data-no-toggle]里的不管。 - 对话框:点
[data-dialog-open="选择器"]对选中的<dialog>调showModal(),点[data-dialog-close]关掉所在的<dialog>。脚本建、挂在<body>下的对话框根节点同样标ak-host;样式加载完以后才建的,打开时补上ak-scope。
- 页签(
- 一页里写多次只输出一份。
见 prts-skin-migration/migration/paradox/README.md、prts-skin-migration/migration/enemy-list-collapse/README.md、prts-skin-migration/migration/enemy-data-dialog/README.md。