- assets/vendor 全量迁移: fontawesome5→assets/fontawesome5, css→assets/css, js→assets/js/runtime(避开 14 个同名自有文件), img 合并去重→assets/img, fonts→assets/fonts; 删除 assets/vendor - libs 五个与 widgets/third-party 字节相同的库不重复入库, loader paths 改指向 - 运行时切换: _win.uri=assets 根, loader baseUrl=/js/runtime, enlighter 注入 路径同步; PHP 7 个引用文件切换并改名 $zibll_*→$runtime_* - 去品牌: Qinver 头注释/品牌 console.log/演示链接清除, 默认文案中性化 - 功能标识符改名: zib__→aksrt__, zib_ajax→aksrt_ajax, window.zib→ window.aksrtLegacy, zibllblock/*→aksrtblock/*, .zib-widget→.aksrt-panel, .zib-slider→.aksrt-slider, zib_menu_options meta 键等 - 自有 CSS 改名: legacy-utilities/compat-vars/footer shell - admin SPA 重建; 契约测试同步(路径/断言/文件更名) - 例外保留: tests/visual 对照环境与 fixtures 前缀(外部 Zibll 产品引用) 验证: php -l 133 个改动文件通过; runtime 86 个 JS node --check 通过; 契约测试 68/70(2 个失败经 stash 对照确认为存量问题)
211 lines
4.7 KiB
CSS
211 lines
4.7 KiB
CSS
/* ============================================================
|
|
* 21. 弹窗登录/注册 — 1:1 legacy modal
|
|
* ============================================================ */
|
|
.aksrt-modal-auth {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 99999;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
transition: opacity 0.3s, visibility 0.3s;
|
|
padding: 10px;
|
|
}
|
|
|
|
.aksrt-modal-auth.is-open {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
}
|
|
|
|
.aksrt-modal-auth__overlay {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: rgba(0, 0, 0, 0.4);
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
}
|
|
|
|
.aksrt-modal-auth__card {
|
|
position: relative;
|
|
background: var(--main-bg-color, var(--surface-1, #fff));
|
|
border-radius: var(--main-radius, 8px);
|
|
border: none;
|
|
padding: 0;
|
|
max-width: 400px;
|
|
width: 100%;
|
|
max-height: calc(100vh - 20px);
|
|
overflow: hidden;
|
|
overflow-y: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
|
|
z-index: 1;
|
|
transform: scale(0.9);
|
|
transition: transform 0.5s cubic-bezier(0.32, 0.85, 0.45, 1.18), width 0.3s;
|
|
}
|
|
|
|
.aksrt-modal-auth.is-open .aksrt-modal-auth__card {
|
|
transform: scale(1);
|
|
}
|
|
|
|
.aksrt-modal-auth__header {
|
|
position: relative;
|
|
text-align: center;
|
|
margin: 0;
|
|
padding: 28px 24px 16px;
|
|
min-height: 120px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--main-radius, 8px) var(--main-radius, 8px) 0 0;
|
|
overflow: hidden;
|
|
color: #fff;
|
|
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-active, #c9206d) 100%);
|
|
}
|
|
|
|
.aksrt-modal-auth__header::before,
|
|
.aksrt-modal-auth__header::after {
|
|
content: ' ';
|
|
position: absolute;
|
|
border-radius: 100%;
|
|
background: rgba(255, 255, 255, 0.12);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.aksrt-modal-auth__header::before {
|
|
width: 220px;
|
|
height: 220px;
|
|
right: -60px;
|
|
top: -80px;
|
|
}
|
|
|
|
.aksrt-modal-auth__header::after {
|
|
width: 160px;
|
|
height: 160px;
|
|
left: -40px;
|
|
bottom: -70px;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.aksrt-modal-auth__close {
|
|
position: absolute;
|
|
top: 10px;
|
|
right: 10px;
|
|
width: auto;
|
|
height: auto;
|
|
min-width: 28px;
|
|
min-height: 28px;
|
|
border: none;
|
|
border-radius: 0;
|
|
background: transparent;
|
|
color: #fff;
|
|
opacity: 0.6;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
transition: opacity 0.2s;
|
|
font-size: 18px;
|
|
z-index: 9;
|
|
padding: 4px;
|
|
}
|
|
|
|
.aksrt-modal-auth__close:hover {
|
|
opacity: 1;
|
|
background: transparent;
|
|
}
|
|
|
|
.aksrt-modal-auth__logo {
|
|
position: relative;
|
|
z-index: 1;
|
|
width: 56px;
|
|
height: 56px;
|
|
border-radius: 50%;
|
|
background: rgba(255, 255, 255, 0.18);
|
|
color: #fff;
|
|
font-size: 18px;
|
|
font-weight: 700;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: 0 auto 10px;
|
|
border: 2px solid rgba(255, 255, 255, 0.35);
|
|
}
|
|
|
|
.aksrt-modal-auth__title {
|
|
position: relative;
|
|
z-index: 1;
|
|
margin: 0;
|
|
font-size: 16px;
|
|
font-weight: normal;
|
|
color: #fff;
|
|
}
|
|
|
|
.aksrt-modal-auth__tabs,
|
|
.aksrt-modal-auth__panel,
|
|
.aksrt-modal-auth__body {
|
|
padding-left: 20px;
|
|
padding-right: 20px;
|
|
}
|
|
|
|
.aksrt-modal-auth__panel {
|
|
padding-bottom: 20px;
|
|
}
|
|
|
|
.aksrt-modal-auth.bottom {
|
|
align-items: flex-end;
|
|
}
|
|
|
|
.aksrt-modal-auth.bottom .aksrt-modal-auth__card {
|
|
max-width: calc(100% - 20px);
|
|
margin-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
|
|
transform: translateY(110%);
|
|
transition: transform 0.4s;
|
|
border-radius: var(--main-radius, 8px);
|
|
box-shadow: 0 -10px 50px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.aksrt-modal-auth.bottom.is-open .aksrt-modal-auth__card {
|
|
transform: translateY(0);
|
|
transition: transform 0.6s cubic-bezier(0.28, 0.9, 0.34, 0.99);
|
|
}
|
|
|
|
.modal-content,
|
|
.aksrt-modal__content {
|
|
border-radius: var(--main-radius, 8px);
|
|
background: var(--main-bg-color, var(--surface-1));
|
|
border: none;
|
|
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
|
|
}
|
|
|
|
.modal-colorful-header {
|
|
border-radius: var(--main-radius, 8px) var(--main-radius, 8px) 0 0;
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
height: 120px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--this-color, #fff);
|
|
background: var(--this-bg, var(--focus-color, var(--color-primary)));
|
|
overflow: hidden;
|
|
}
|
|
|
|
.modal-colorful-header + * {
|
|
margin-top: 120px;
|
|
}
|
|
|
|
.modal-colorful-header > .close {
|
|
position: absolute;
|
|
right: 10px;
|
|
top: 10px;
|
|
color: var(--this-color, #fff);
|
|
opacity: 0.6;
|
|
font-size: 18px;
|
|
z-index: 9;
|
|
}
|