diff --git a/frontend/src/assets/styles/index.scss b/frontend/src/assets/styles/index.scss index c2df7654..27d028ab 100644 --- a/frontend/src/assets/styles/index.scss +++ b/frontend/src/assets/styles/index.scss @@ -63,6 +63,29 @@ body { min-width: 0; } +/* ===== Element 浮层逆缩放(配合 adaptive.js) ===== + 挂到 body 的浮层(下拉/气泡/日期/对话框/消息等)基于 getBoundingClientRect 定位, + 该值受 html 的 zoom 缩放影响;若浮层自身也继承同一 zoom,坐标会被“重复缩放”而错位。 + 这里用 adaptive.js 注入的 --adaptive-scale-inv(= 1/当前缩放倍数)把这些浮层还原为 1:1, + 使其与触发元素在视觉坐标上正确对齐。缩放=1 时该变量为 1,不产生任何影响。 */ +:root { + --adaptive-scale: 1; +} + +.el-popper, +.el-select-dropdown, +.el-dropdown-menu, +.el-picker-panel, +.el-cascader__dropdown, +.el-message-box__wrapper, +.el-dialog__wrapper, +.el-message, +.el-notification, +.el-loading-mask, +.v-modal { + zoom: var(--adaptive-scale-inv, 1); +} + /* 通用长文本换行,避免 url/数字/英文长串将布局撑破 */ a, .el-button,