Desktop calculator: top tabs with input/result dual cards.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4638,7 +4638,16 @@ body.login-page {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 行情全屏:竖屏提示转横;横屏吃满 */
|
||||
body.hub-phone #page-calculator .calc-result-title,
|
||||
body.hub-phone #page-calculator .calc-result-placeholder {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
body.hub-phone #page-calculator .calc-result {
|
||||
margin-top: 14px;
|
||||
padding-top: 12px;
|
||||
border-top: 1px solid var(--border-soft);
|
||||
}
|
||||
@media (orientation: portrait) {
|
||||
body.hub-phone.market-chart-fs-open .market-chart-wrap.is-fullscreen::before {
|
||||
content: "全屏看图请横持手机";
|
||||
@@ -9569,32 +9578,56 @@ body.funds-fullscreen-open {
|
||||
}
|
||||
}
|
||||
|
||||
/* 电脑端计算器改为单页 Tab;手机继续使用原有紧凑 Tab 样式 */
|
||||
/* 电脑端计算器:上方 Tab + 左输入 / 右结果双卡;手机端保持原布局 */
|
||||
.calc-tab-label-desktop {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.calc-pane-split {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.calc-result-title {
|
||||
display: none;
|
||||
margin: 0 0 10px;
|
||||
font-size: 1rem;
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.calc-result-placeholder {
|
||||
display: none;
|
||||
margin: 0;
|
||||
color: var(--muted);
|
||||
font-size: 0.82rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.calc-result-panel:has(.calc-result.hidden) .calc-result-placeholder {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-workspace {
|
||||
display: grid;
|
||||
grid-template-columns: 180px minmax(0, 1fr);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 14px;
|
||||
align-items: start;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-mobile-tabs {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
max-width: none;
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
padding: 6px;
|
||||
border: 1px solid var(--border-soft);
|
||||
border-radius: 12px;
|
||||
background: var(--nav-bg);
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-m-tab {
|
||||
min-height: 42px;
|
||||
min-height: 40px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 9px;
|
||||
background: transparent;
|
||||
@@ -9603,8 +9636,8 @@ body:not(.hub-phone) #page-calculator .calc-m-tab {
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
padding: 9px 12px;
|
||||
text-align: center;
|
||||
padding: 8px 16px;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-m-tab:hover {
|
||||
@@ -9637,9 +9670,54 @@ body:not(.hub-phone) #page-calculator .calc-layout[data-calc-tab="roll"] [data-c
|
||||
display: none;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-card {
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-pane-split {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
|
||||
gap: 14px;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-input-panel,
|
||||
body:not(.hub-phone) #page-calculator .calc-result-panel {
|
||||
padding: 16px 18px;
|
||||
border-radius: 12px;
|
||||
background: var(--panel, var(--dash-card-bg, #121820));
|
||||
border: 1px solid var(--border-soft, var(--border));
|
||||
box-shadow: var(--card-glow, none);
|
||||
min-height: 280px;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-result-title {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-result {
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
body:not(.hub-phone) #page-calculator .calc-result.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
body:not(.hub-phone) #page-calculator .calc-form-grid {
|
||||
grid-template-columns: repeat(5, minmax(0, 1fr));
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1100px) {
|
||||
body:not(.hub-phone) #page-calculator .calc-pane-split {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'" />
|
||||
<noscript><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Orbitron:wght@500;600;700&display=swap" rel="stylesheet" /></noscript>
|
||||
<link rel="stylesheet" href="/assets/app.css?v=20260718-strategy-pad" />
|
||||
<link rel="stylesheet" href="/assets/app.css?v=20260720-calc-desktop-split" />
|
||||
<link rel="stylesheet" href="/assets/trade_stats_calendar.css?v=4" />
|
||||
<link rel="stylesheet" href="/assets/account_risk_badge.css?v=4" />
|
||||
<script src="/assets/account_risk_badge.js?v=4"></script>
|
||||
@@ -812,127 +812,143 @@
|
||||
</div>
|
||||
<div class="calc-layout" data-calc-tab="trend">
|
||||
<section class="calc-card card" data-calc-pane="trend">
|
||||
<h2>趋势回调计算器</h2>
|
||||
<p class="calc-hint">逻辑与实例策略页一致:首仓 50% + 补仓网格;止损金额 = 资金 × 风险%.</p>
|
||||
<form id="calc-trend-form" class="calc-form">
|
||||
<div class="calc-form-grid">
|
||||
<label class="calc-field">
|
||||
<span>交易所</span>
|
||||
<select id="calc-trend-exchange" required></select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>币种</span>
|
||||
<input id="calc-trend-base" type="text" value="ETH" placeholder="如 ETH" required autocomplete="off" />
|
||||
</label>
|
||||
<div class="calc-field calc-field-span2">
|
||||
<div id="calc-trend-market-info" class="calc-market-info">ETH/USDT · 加载合约信息…</div>
|
||||
</div>
|
||||
<label class="calc-field">
|
||||
<span>交易资金 (U)</span>
|
||||
<input id="calc-trend-capital" type="number" min="0.01" step="any" value="1000" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>风险 %</span>
|
||||
<input id="calc-trend-risk" type="number" min="0.1" step="0.1" value="5" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>杠杆</span>
|
||||
<input id="calc-trend-leverage" type="number" min="1" step="1" value="5" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>方向</span>
|
||||
<select id="calc-trend-direction">
|
||||
<option value="long">做多</option>
|
||||
<option value="short">做空</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>首仓入场价</span>
|
||||
<input id="calc-trend-entry" type="number" min="0" step="any" placeholder="手动输入" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>止损价</span>
|
||||
<input id="calc-trend-sl" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span id="calc-trend-add-label">补仓上沿价</span>
|
||||
<input id="calc-trend-add-upper" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>止盈价</span>
|
||||
<input id="calc-trend-tp" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>补仓档数</span>
|
||||
<input id="calc-trend-dca-legs" type="number" min="1" max="20" step="1" value="5" />
|
||||
</label>
|
||||
<div class="calc-pane-split">
|
||||
<div class="calc-input-panel">
|
||||
<h2>趋势回调计算器</h2>
|
||||
<p class="calc-hint">逻辑与实例策略页一致:首仓 50% + 补仓网格;止损金额 = 资金 × 风险%.</p>
|
||||
<form id="calc-trend-form" class="calc-form">
|
||||
<div class="calc-form-grid">
|
||||
<label class="calc-field">
|
||||
<span>交易所</span>
|
||||
<select id="calc-trend-exchange" required></select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>币种</span>
|
||||
<input id="calc-trend-base" type="text" value="ETH" placeholder="如 ETH" required autocomplete="off" />
|
||||
</label>
|
||||
<div class="calc-field calc-field-span2">
|
||||
<div id="calc-trend-market-info" class="calc-market-info">ETH/USDT · 加载合约信息…</div>
|
||||
</div>
|
||||
<label class="calc-field">
|
||||
<span>交易资金 (U)</span>
|
||||
<input id="calc-trend-capital" type="number" min="0.01" step="any" value="1000" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>风险 %</span>
|
||||
<input id="calc-trend-risk" type="number" min="0.1" step="0.1" value="5" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>杠杆</span>
|
||||
<input id="calc-trend-leverage" type="number" min="1" step="1" value="5" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>方向</span>
|
||||
<select id="calc-trend-direction">
|
||||
<option value="long">做多</option>
|
||||
<option value="short">做空</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>首仓入场价</span>
|
||||
<input id="calc-trend-entry" type="number" min="0" step="any" placeholder="手动输入" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>止损价</span>
|
||||
<input id="calc-trend-sl" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span id="calc-trend-add-label">补仓上沿价</span>
|
||||
<input id="calc-trend-add-upper" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>止盈价</span>
|
||||
<input id="calc-trend-tp" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>补仓档数</span>
|
||||
<input id="calc-trend-dca-legs" type="number" min="1" max="20" step="1" value="5" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="calc-actions">
|
||||
<button type="submit" class="primary">计算</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="calc-actions">
|
||||
<button type="submit" class="primary">计算</button>
|
||||
</div>
|
||||
</form>
|
||||
<div id="calc-trend-result" class="calc-result hidden"></div>
|
||||
<aside class="calc-result-panel" aria-label="趋势回调结果推算">
|
||||
<h3 class="calc-result-title">结果推算</h3>
|
||||
<p class="calc-result-placeholder">填写左侧参数后点击「计算」</p>
|
||||
<div id="calc-trend-result" class="calc-result hidden"></div>
|
||||
</aside>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="calc-card card" data-calc-pane="roll">
|
||||
<h2>滚仓计算器</h2>
|
||||
<p class="calc-hint">首仓按「单次风险」以损定仓;每次滚仓后合并持仓打到新止损 ≈ 单次风险;止盈锁定首仓价不变.最多 3 次滚仓.</p>
|
||||
<form id="calc-roll-form" class="calc-form">
|
||||
<div class="calc-form-grid">
|
||||
<label class="calc-field">
|
||||
<span>交易所</span>
|
||||
<select id="calc-roll-exchange" required></select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>币种</span>
|
||||
<input id="calc-roll-base" type="text" value="ETH" placeholder="如 ETH" required autocomplete="off" />
|
||||
</label>
|
||||
<div class="calc-field calc-field-span2">
|
||||
<div id="calc-roll-market-info" class="calc-market-info">ETH/USDT · 加载合约信息…</div>
|
||||
</div>
|
||||
<label class="calc-field">
|
||||
<span>交易资金 (U)</span>
|
||||
<input id="calc-roll-capital" type="number" min="0.01" step="any" value="1000" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>单次风险 %</span>
|
||||
<input id="calc-roll-risk" type="number" min="0.1" step="0.1" value="5" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>方向</span>
|
||||
<select id="calc-roll-direction">
|
||||
<option value="long">做多</option>
|
||||
<option value="short">做空</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>首仓入场价</span>
|
||||
<input id="calc-roll-entry" type="number" min="0" step="any" placeholder="手动输入" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>首仓止损价</span>
|
||||
<input id="calc-roll-sl" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>止盈价(锁定)</span>
|
||||
<input id="calc-roll-tp" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>已完成滚仓次数</span>
|
||||
<input id="calc-roll-legs-done" type="number" min="0" max="3" step="1" value="0" />
|
||||
</label>
|
||||
<div class="calc-pane-split">
|
||||
<div class="calc-input-panel">
|
||||
<h2>滚仓计算器</h2>
|
||||
<p class="calc-hint">首仓按「单次风险」以损定仓;每次滚仓后合并持仓打到新止损 ≈ 单次风险;止盈锁定首仓价不变.最多 3 次滚仓.</p>
|
||||
<form id="calc-roll-form" class="calc-form">
|
||||
<div class="calc-form-grid">
|
||||
<label class="calc-field">
|
||||
<span>交易所</span>
|
||||
<select id="calc-roll-exchange" required></select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>币种</span>
|
||||
<input id="calc-roll-base" type="text" value="ETH" placeholder="如 ETH" required autocomplete="off" />
|
||||
</label>
|
||||
<div class="calc-field calc-field-span2">
|
||||
<div id="calc-roll-market-info" class="calc-market-info">ETH/USDT · 加载合约信息…</div>
|
||||
</div>
|
||||
<label class="calc-field">
|
||||
<span>交易资金 (U)</span>
|
||||
<input id="calc-roll-capital" type="number" min="0.01" step="any" value="1000" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>单次风险 %</span>
|
||||
<input id="calc-roll-risk" type="number" min="0.1" step="0.1" value="5" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>方向</span>
|
||||
<select id="calc-roll-direction">
|
||||
<option value="long">做多</option>
|
||||
<option value="short">做空</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>首仓入场价</span>
|
||||
<input id="calc-roll-entry" type="number" min="0" step="any" placeholder="手动输入" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>首仓止损价</span>
|
||||
<input id="calc-roll-sl" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>止盈价(锁定)</span>
|
||||
<input id="calc-roll-tp" type="number" min="0" step="any" required />
|
||||
</label>
|
||||
<label class="calc-field">
|
||||
<span>已完成滚仓次数</span>
|
||||
<input id="calc-roll-legs-done" type="number" min="0" max="3" step="1" value="0" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="calc-roll-legs-head">
|
||||
<strong>滚仓加仓(最多 3 次)</strong>
|
||||
<button type="button" id="calc-roll-add-leg" class="ghost">+ 添加滚仓</button>
|
||||
</div>
|
||||
<div id="calc-roll-legs-list" class="calc-roll-legs-list"></div>
|
||||
<div class="calc-actions">
|
||||
<button type="submit" class="primary">计算</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="calc-roll-legs-head">
|
||||
<strong>滚仓加仓(最多 3 次)</strong>
|
||||
<button type="button" id="calc-roll-add-leg" class="ghost">+ 添加滚仓</button>
|
||||
</div>
|
||||
<div id="calc-roll-legs-list" class="calc-roll-legs-list"></div>
|
||||
<div class="calc-actions">
|
||||
<button type="submit" class="primary">计算</button>
|
||||
</div>
|
||||
</form>
|
||||
<div id="calc-roll-result" class="calc-result hidden"></div>
|
||||
</section>
|
||||
<aside class="calc-result-panel" aria-label="滚仓结果推算">
|
||||
<h3 class="calc-result-title">结果推算</h3>
|
||||
<p class="calc-result-placeholder">填写左侧参数后点击「计算」</p>
|
||||
<div id="calc-roll-result" class="calc-result hidden"></div>
|
||||
</aside>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user