Files
STM32F4-Base/docs/UI 设计/mockups/01_主界面.html
T

92 lines
4.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<!--
界面 01:主界面(根页)样机 — 160×160
状态:制作中
规则:160×160 设备像素 | 1bpp 纯黑白 | SimSun 12px(汉字 12px/字,ASCII 6px/字,行高 13)
本文件仅渲染页面本身;规格见 01_主界面_说明.md
布局依据:原图 01_主界面原始图片.png 实测(628×631 @ 3.925x 缩放)
-->
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>界面 01 | 主界面</title>
<style>
html, body { margin:0; }
body { padding:24px; background:#e8e8e8;
display:flex; gap:24px; align-items:flex-start; flex-wrap:wrap; }
/* ===== 屏体:1 设备像素 = var(--u) ===== */
.ui { --u:1px; position:relative;
width:calc(160*var(--u)); height:calc(160*var(--u));
background:#000; color:#fff; overflow:hidden;
font-family:SimSun,NSimSun,serif; }
.ui.z4 { --u:4px; }
/* 顶部装饰:开口浅 V(底边 y=17 x16~145;两腿外上翘至 y=7 x7/x158),线宽 2px
(注:MCU 实现中两腿加粗为 3px 以补偿 1bpp 斜线阈值损耗,见 ui_menu.c MENU_DECO_LEG_W) */
.deco { position:absolute; left:0; top:0;
width:calc(160*var(--u)); height:calc(160*var(--u)); display:block; }
/* 状态行:左对齐 x=17,y=20 */
.status { position:absolute; left:calc(17*var(--u)); top:calc(20*var(--u));
font-size:calc(12*var(--u)); line-height:calc(13*var(--u)); white-space:nowrap; }
/* 列表框:左对齐 x=0,宽 99,7 行 × 15px + 1px 边框 = 高 107 */
.list { position:absolute; left:0; top:calc(44*var(--u));
width:calc(99*var(--u)); height:calc(107*var(--u));
box-sizing:border-box; border:calc(1*var(--u)) solid #fff; }
/* 行:高 15;文字左对齐(左留白 8);箭头紧跟文字(x=58) */
.row { position:absolute; left:0; width:100%; height:calc(15*var(--u));
font-size:calc(12*var(--u)); line-height:calc(15*var(--u)); }
.row .lb { position:absolute; left:calc(8*var(--u)); top:0; }
.row .ar { position:absolute; left:calc(58*var(--u)); top:0; }
.row.sel { background:#fff; color:#000; }
.r1 { top:calc(0*var(--u)); }
.r2 { top:calc(15*var(--u)); }
.r3 { top:calc(30*var(--u)); }
.r4 { top:calc(45*var(--u)); }
.r5 { top:calc(60*var(--u)); }
.r6 { top:calc(75*var(--u)); }
.r7 { top:calc(90*var(--u)); }
</style>
</head>
<body>
<!-- ① 1:1 实际大小(160×160,所见即真机) -->
<div class="ui">
<svg class="deco" viewBox="0 0 160 160">
<path d="M 7 7 L 16 17 L 145 17 L 158 7" fill="none" stroke="#fff" stroke-width="2"/>
</svg>
<div class="status">当前模式 : 无模式</div>
<div class="list">
<div class="row r1 sel"><span class="lb">装置信息</span></div>
<div class="row r2"><span class="lb">实时数据</span><span class="ar">▶</span></div>
<div class="row r3"><span class="lb">参数定值</span><span class="ar">▶</span></div>
<div class="row r4"><span class="lb">三遥设置</span><span class="ar">▶</span></div>
<div class="row r5"><span class="lb">装置维护</span><span class="ar">▶</span></div>
<div class="row r6"><span class="lb">通讯参数</span><span class="ar">▶</span></div>
<div class="row r7"><span class="lb">记录查询</span><span class="ar">▶</span></div>
</div>
</div>
<!-- ② 4x 放大(1 设备像素 = 4 屏幕像素,布局与 1:1 完全等价) -->
<div class="ui z4">
<svg class="deco" viewBox="0 0 160 160">
<path d="M 7 7 L 16 17 L 145 17 L 158 7" fill="none" stroke="#fff" stroke-width="2"/>
</svg>
<div class="status">当前模式 : 无模式</div>
<div class="list">
<div class="row r1 sel"><span class="lb">装置信息</span></div>
<div class="row r2"><span class="lb">实时数据</span><span class="ar">▶</span></div>
<div class="row r3"><span class="lb">参数定值</span><span class="ar">▶</span></div>
<div class="row r4"><span class="lb">三遥设置</span><span class="ar">▶</span></div>
<div class="row r5"><span class="lb">装置维护</span><span class="ar">▶</span></div>
<div class="row r6"><span class="lb">通讯参数</span><span class="ar">▶</span></div>
<div class="row r7"><span class="lb">记录查询</span><span class="ar">▶</span></div>
</div>
</div>
</body>
</html>