原生js+css实现可视化地铁运营图多线路拖拽绘制编辑工具代码
代码语言:html
所属分类:其他
代码描述:原生js+css实现可视化地铁运营图多线路拖拽绘制编辑工具代码
代码标签: 原生 js css 可视化 地铁 运营图 多线路 拖拽 绘制 编辑 工具 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>城市地铁运营图设计器(本地版)</title>
<style>
:root{
--bg:#f7f8fa;
--panel:#ffffff;
--line:#e5e7eb;
--text:#111827;
--muted:#6b7280;
--primary:#2563eb;
--danger:#ef4444;
--ok:#16a34a;
--grid:#eee;
--grid-dark:#dfe3e6;
}
*{box-sizing:border-box}
body{
margin:0;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
color:var(--text);
background:var(--bg);
height:100vh;
display:flex;
flex-direction:column;
}
header{
height:56px;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 14px;
background:var(--panel);
border-bottom:1px solid var(--line);
gap:10px;
}
header .brand{
display:flex;
align-items:center;
gap:10px;
font-weight:700;
}
header .brand .logo{
width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#0ea5e9,#6366f1);
display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 2px 6px rgba(0,0,0,.15)
}
.toolbar{
display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.toolbar .group{
background:var(--panel);
border:1px solid var(--line);
border-radius:10px;
padding:6px;
display:flex;gap:6px;align-items:center;
}
.btn{
height:32px; padding:0 10px; border:1px solid var(--line); background:#fff; border-radius:8px;
display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-size:14px;
}
.btn:hover{ background:#f3f4f6 }
.btn.primary{ background:var(--primary); color:#fff; border-color:transparent }
.btn.primary:hover{ filter:brightness(0.95) }
.btn.danger{ background:#fff; color:var(--danger); border-color:#fecaca }
.btn.icon{ padding:0 8px; width:auto; }
.btn.small{ height:28px; font-size:13px }
.btn.toggled{ outline:2px solid var(--primary); }
select, input[type="text"], input[type="number"]{
height:32px; border:1px solid var(--line); border-radius:8px; padding:0 10px; background:#fff; font-size:14px;
}
input[type="color"]{ width:36px; height:32px; padding:0; border:1px solid var(--line); border-radius:6px; background:#fff }
#app{ flex:1; display:flex; min-height:0; }
aside{
width:320px; min-width:280px; max-width:360px;
border-right:1px solid var(--line);
background:var(--panel);
padding:12px;
display:flex; flex-direction:column; gap:12px; overflow:auto;
}
.card{
border:1px solid var(--line);
border-radius:12px; background:#fff; padding:12px;
}
.card h3{ margin:0 0 8px 0; font-size:14px; color:#374151; display:flex; align-items:center; gap:8px }
.row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:6px 0 }
.row label{ font-size:12px; color:var(--muted) }
.line-list{ display:flex; flex-direction:column; gap:6px; }
.line-item{
border:1px solid var(--line); border-radius:10px; padding:8px; display:flex; align-items:center; gap:8px; cursor:pointer; background:#fff;
}
.line-item .swatch{ width:14px; height:14px; border-radius:50%; border:1px solid #ddd }
.line-item .name{ flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.line-item.active{ outline:2px solid var(--primary) }
.muted{ color:var(--muted); font-size:12px }
.station-list{ display:flex; flex-direction:column; gap:6px; max-height:260px; overflow:auto; padding-right:4px }
.station-item{
border:1px solid .........完整代码请登录后点击上方下载按钮下载查看
















网友评论0