diff --git a/src/styles/globals.css b/src/styles/globals.css index 92056a4..2e65404 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -23,6 +23,13 @@ * { box-sizing: border-box; margin: 0; padding: 0; } +/* 全局禁用非编辑类文字的选中/长按菜单 (输入框除外); + 各页面原有的局部规则保留但不再必要 */ +* { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; } +input, textarea, [contenteditable="true"], [contenteditable=""] { + -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; +} + html, body, #root { height: 100%; background: var(--color-bg); @@ -973,7 +980,10 @@ body.me-safe-top .app-safe-top { height: 0; } justify-content: center; color: #fff; font-size: 14px; font-weight: 700; flex-shrink: 0; } .proj-item .pmain { flex: 1; min-width: 0; } -.proj-item .ptitle { font-size: 14.5px; font-weight: 600; display: flex; align-items: center; gap: 6px; } +.proj-item .ptitle { + font-size: 14.5px; font-weight: 600; display: flex; align-items: center; gap: 6px; + overflow: hidden; text-overflow: ellipsis; white-space: nowrap; +} .proj-item .psub { font-size: 11.5px; color: var(--color-muted); margin-top: 2px; } .proj-item .pcount { font-size: 15px; color: #c0c4cc; flex-shrink: 0; } .badge { font-size: 10px; color: #ad6800; background: #fff7e6; border-radius: 4px; padding: 0 5px; font-weight: 400; } @@ -1057,7 +1067,7 @@ body.me-safe-top .app-safe-top { height: 0; } } .bcol { flex: 0 0 186px; display: flex; flex-direction: column; min-height: 0; } .bcol-head { display: flex; align-items: center; gap: 5px; padding: 0 2px 7px; flex-shrink: 0; } -.bcol-name { font-size: 12px; font-weight: 700; color: #3d4450; } +.bcol-name { font-size: 12px; font-weight: 700; color: #3d4450; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .bcol-cnt { font-size: 11px; color: #999; background: #e8ebef; border-radius: 999px; padding: 0 6px; line-height: 15px; } .bcol-bind { font-size: 10px; color: var(--color-primary); background: #f0f5ff; border-radius: 4px; padding: 0 4px; margin-left: auto; } .bcol-bind.off { color: #999; background: #f2f3f5; } @@ -1103,7 +1113,10 @@ body.me-safe-top .app-safe-top { height: 0; } .cs-page { position: fixed; inset: 0; z-index: 1000; background: var(--color-bg); display: flex; flex-direction: column; padding-top: var(--safe-top); } .cs-page .navbar-sub { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: #fff; border-bottom: 1px solid var(--color-border); flex-shrink: 0; } .cs-page .navbar-sub .back { font-size: 20px; color: #666; line-height: 1; cursor: pointer; } -.cs-page .navbar-sub .title { font-size: 16px; font-weight: 700; } +.cs-page .navbar-sub .title { + font-size: 16px; font-weight: 700; + min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; +} .cs-page .navbar-sub .right { margin-left: auto; display: flex; gap: 6px; } .cs-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding-bottom: 20px; } .set-row { @@ -1125,8 +1138,14 @@ body.me-safe-top .app-safe-top { height: 0; } .cs-count { font-size: 11px; color: #999; margin-left: 8px; } /* ---- 任务详情 ---- */ -.sheet-title { font-size: 16px; font-weight: 700; margin-bottom: 4px; word-break: break-word; } -.sheet-sub { font-size: 11.5px; color: #999; margin-bottom: 14px; } +.sheet-title { + font-size: 16px; font-weight: 700; margin-bottom: 4px; word-break: break-word; + display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; +} +.sheet-sub { + font-size: 11.5px; color: #999; margin-bottom: 14px; + overflow: hidden; text-overflow: ellipsis; white-space: nowrap; +} .field { margin-bottom: 13px; } .field label { display: block; font-size: 12px; color: var(--color-muted); margin-bottom: 6px; } .inp {