Files
pixelheros/put/web/src/style.css
pan 41db9f18a4 refactor: 完善英雄配置与UI展示,新增2名英雄
1.  为英雄列表新增5011控血大师、5012疾风法师两名英雄并配置完整技能与属性
2.  批量补全现有英雄的简介文本,优化技能描述文案
3.  调整部分技能名称与光环配置命名,统一术语表述
4.  添加英雄简介的CSS样式,在UI中展示英雄简介并支持超长文本省略与悬浮查看
2026-09-07 15:20:14 +08:00

260 lines
6.8 KiB
CSS
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.
:root {
--brand: #4a90e2;
--brand-light: #7fb3f0;
--bg: #f5f9ff;
--panel: #ffffff;
--border: #e3ecf7;
--text: #2c3e50;
--text-light: #7a8ba0;
}
* { box-sizing: border-box; }
html, body, #app { height: 100%; margin: 0; }
body {
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
background: var(--bg);
color: var(--text);
/* 编辑页全局缩小字号,同屏容纳更多字段 */
font-size: 12px;
}
/* Element Plus 表单控件整体缩小一档(默认 14px → 12px) */
.hero-app .el-input__wrapper,
.hero-app .el-select__wrapper,
.hero-app .el-textarea__inner,
.hero-app .el-form-item__label {
font-size: 12px;
}
/* 行间距压缩:表单项下边距 + 行高收紧 */
.hero-app .el-form-item { margin-bottom: 8px; line-height: 1.2; }
.hero-app .el-form-item__label { line-height: 1.2; padding-bottom: 2px; }
.hero-app .el-button { font-size: 12px; height: 26px; padding: 8px 10px; }
.hero-app .el-button--small { height: 22px; padding: 5px 8px; }
.hero-app .el-input__inner { --el-input-height: 26px; }
.hero-app .el-tabs__item { font-size: 12px; height: 30px; }
.hero-app .el-tabs__header { margin-bottom: 8px; }
.hero-app .el-tabs__nav-wrap::after { height: 1px; }
.hero-app {
height: 100%;
display: flex;
flex-direction: column;
}
.hero-header {
background: linear-gradient(135deg, #6fb1ff 0%, #4a90e2 100%);
color: #fff;
padding: 12px 20px;
display: flex;
align-items: center;
justify-content: space-between;
box-shadow: 0 2px 8px rgba(74, 144, 226, 0.25);
}
.hero-header h1 { font-size: 15px; margin: 0; font-weight: 600; }
.hero-header .actions { display: flex; gap: 8px; }
.hero-main {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
/* 首页工具栏:计数 + 排序 + 新建入口 */
.home-toolbar {
display: flex;
gap: 8px;
align-items: center;
justify-content: space-between;
padding: 10px 14px;
background: var(--panel);
border-bottom: 1px solid var(--border);
flex-shrink: 0;
}
/* 排序控件组:维度 + 方向 */
.toolbar-sort { display: flex; align-items: center; gap: 8px; }
/* 首页:一行一个英雄的列表布局 */
.hero-rows {
flex: 1;
overflow-y: auto;
padding: 12px 16px 40px;
display: flex;
flex-direction: column;
gap: 8px;
}
.hero-row {
background: var(--panel);
border: 1px solid var(--border);
border-radius: 8px;
padding: 8px 12px;
cursor: pointer;
transition: box-shadow 0.15s;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px 14px;
font-size: 12px;
}
.hero-row:hover { box-shadow: 0 3px 12px rgba(46, 91, 160, 0.15); }
/* 行首:uuid / 名称 / 星级+职业,三行竖排 */
.row-main { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 100px; }
.row-sub { display: flex; align-items: center; gap: 6px; }
.row-uuid { font-family: Menlo, Consolas, monospace; color: var(--text-light); font-size: 11px; }
.row-name { font-size: 13px; font-weight: 600; }
.card-rarity { color: #f5a623; font-size: 11px; }
.row-role {
border-radius: 4px;
padding: 0 6px;
font-size: 11px;
line-height: 18px;
}
/* 职业标签颜色区分 */
.role-tank { background: #e6f7ff; color: #1890ff; }
.role-warrior { background: #fff2e8; color: #fa541c; }
.role-assassin { background: #f9f0ff; color: #722ed1; }
.role-archer { background: #f6ffed; color: #52c41a; }
.role-mage { background: #fff0f6; color: #eb2f96; }
.role-support { background: #fcffe6; color: #a0d911; }
/* 三维徽章:竖排三行显示 */
.row-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.stat {
background: #f0f7ef;
color: #4a7c3f;
border-radius: 4px;
padding: 0 6px;
font-size: 11px;
line-height: 18px;
}
/* 技能段:普攻/大招两行 */
.row-skills { display: flex; flex-direction: column; gap: 2px; min-width: 200px; }
.skill-detail { color: var(--text-light); font-size: 11px; margin-left: 4px; white-space: pre-wrap; word-break: break-all; }
/* 触发/光环/加成:chip 流式排布 */
.row-triggers { display: flex; flex-wrap: wrap; gap: 4px 6px; flex: 1; min-width: 160px; }
.trigger-chip {
background: #eef4fc;
color: var(--brand);
border-radius: 4px;
padding: 0 6px;
font-size: 11px;
line-height: 18px;
}
.trigger-chip.aura { background: #f4f0fa; color: #7c5cbf; }
.row-comment {
width: 100%;
color: var(--text-light);
font-size: 11px;
border-top: 1px dashed var(--border);
padding-top: 4px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* 英雄简介:整行展示,超长省略,悬停 title 查看全文 */
.row-info {
width: 100%;
color: var(--text);
font-size: 11px;
border-top: 1px dashed var(--border);
padding-top: 4px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.tag {
display: inline-block;
background: #eef4fc;
color: var(--brand);
border-radius: 4px;
padding: 0 5px;
margin-right: 6px;
font-size: 11px;
line-height: 18px;
}
/* 编辑弹窗:内容区内部滚动 */
.editor-dialog .el-dialog__body { max-height: 78vh; overflow-y: auto; padding: 8px 16px; }
.hero-editor {
padding: 4px 0 16px;
}
.panel {
background: var(--panel);
border-radius: 8px;
padding: 10px 12px;
margin-bottom: 10px;
border: 1px solid var(--border);
box-shadow: 0 1px 3px rgba(46, 91, 160, 0.05);
}
.panel h3 {
margin: 0 0 8px;
font-size: 13px;
color: var(--brand);
border-left: 3px solid var(--brand);
padding-left: 8px;
}
.form-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 4px 14px;
}
.muted { color: var(--text-light); font-size: 12px; }
.skill-block {
border: 1px dashed var(--border);
border-radius: 6px;
padding: 10px;
margin-bottom: 10px;
background: #fbfdff;
}
.skill-block .head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
font-weight: 600;
}
.override-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
gap: 8px 12px;
}
.empty {
text-align: center;
color: var(--text-light);
padding: 60px 0;
}
/* 手机竖屏适配:头部按钮换行、行内信息自动折行、弹窗全宽 */
@media (max-width: 600px) {
.hero-header {
flex-wrap: wrap;
gap: 8px;
padding: 10px 12px;
}
.hero-header .actions { flex-wrap: wrap; }
.hero-editor { padding: 4px 0 16px; }
.home-toolbar { padding: 8px 10px; }
.home-toolbar .el-button { margin-left: 0; }
.hero-rows { padding: 8px 10px 40px; }
.hero-row { gap: 4px 10px; }
.row-main { min-width: 0; }
.row-skills { min-width: 100%; }
.editor-dialog { width: 98% !important; }
.editor-dialog .el-dialog__body { max-height: 76vh; padding: 6px 10px; }
.form-grid { grid-template-columns: 1fr; }
.override-grid { grid-template-columns: 1fr; }
}