-
T7 待实现:缩放胶囊
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -23,16 +135,123 @@
left: 50%;
bottom: 16px;
transform: translateX(-50%);
+ z-index: 20;
display: flex;
align-items: center;
- gap: 6px;
- padding: 6px 12px;
+ gap: 2px;
+ padding: 4px 6px;
border: 1px solid var(--line);
border-radius: 999px;
background: var(--bg3);
box-shadow: 0 6px 24px rgb(0 0 0 / 0.45);
}
-.todo {
+
+/* ---- 缩放 ± 与适应画布按钮 ---- */
+.zbtn {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 26px;
+ height: 26px;
+ padding: 0;
+ border: none;
+ border-radius: 999px;
+ background: transparent;
color: var(--fg-dim);
}
+.zbtn:hover:not(:disabled) {
+ background: var(--bg2);
+ color: var(--fg);
+}
+.zbtn:disabled {
+ opacity: 0.35;
+ cursor: default;
+ background: transparent;
+}
+
+.vsep {
+ width: 1px;
+ height: 16px;
+ background: var(--line);
+ margin: 0 4px;
+}
+
+/* ---- 百分比按钮 ---- */
+.pct {
+ display: inline-flex;
+ align-items: center;
+ gap: 2px;
+ height: 26px;
+ min-width: 64px;
+ padding: 0 6px;
+ border: none;
+ border-radius: 999px;
+ background: transparent;
+ color: var(--fg);
+}
+.pct:hover,
+.pct.open {
+ background: var(--bg2);
+}
+.pct-num {
+ font-variant-numeric: tabular-nums;
+ font-size: 12px;
+ font-weight: 600;
+}
+.pct-caret {
+ display: inline-flex;
+ color: var(--fg-dim);
+}
+
+/* ---- 缩放菜单 ---- */
+.menu {
+ position: absolute;
+ left: 50%;
+ bottom: calc(100% + 10px);
+ transform: translateX(-50%);
+ z-index: 2;
+ min-width: 172px;
+ padding: 4px;
+ border: 1px solid var(--line);
+ border-radius: 10px;
+ background: var(--bg3);
+ box-shadow: 0 8px 28px rgb(0 0 0 / 0.5);
+ text-align: left;
+}
+
+.mrow {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ width: 100%;
+ height: 30px;
+ padding: 0 8px;
+ border: none;
+ border-radius: 6px;
+ background: transparent;
+ color: var(--fg);
+ font-size: 12px;
+ text-align: left;
+}
+.mrow:hover {
+ background: var(--bg2);
+ color: var(--fg);
+}
+.mrow .mark {
+ width: 14px;
+ text-align: center;
+ color: var(--accent);
+ font-size: 11px;
+}
+.mrow .hint {
+ margin-left: auto;
+ color: var(--fg-dim);
+ font-size: 11px;
+}
+
+.msep {
+ height: 1px;
+ background: var(--line);
+ margin: 4px 6px;
+}
diff --git a/src/components/TopBar.vue b/src/components/TopBar.vue
index 0e95422..f58a703 100644
--- a/src/components/TopBar.vue
+++ b/src/components/TopBar.vue
@@ -1,32 +1,321 @@
- T7 待实现:工具组 / 画布尺寸 / 撤销重做 / 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+