style: refine market toolbar layout
This commit is contained in:
@@ -0,0 +1,685 @@
|
||||
<!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 {
|
||||
color-scheme: light;
|
||||
--page: #f5f7fa;
|
||||
--panel: #ffffff;
|
||||
--line: #e7ebf0;
|
||||
--text: #20242a;
|
||||
--muted: #6b7280;
|
||||
--soft: #f8fafc;
|
||||
--brand: #ff2f6d;
|
||||
--brand-dark: #85172d;
|
||||
--brand-soft: #fff0f5;
|
||||
--blue: #2563eb;
|
||||
--green: #0f8a5f;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
min-width: 1180px;
|
||||
background: var(--page);
|
||||
color: var(--text);
|
||||
font-family:
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
"Segoe UI",
|
||||
sans-serif;
|
||||
font-size: 14px;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
height: 58px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 28px;
|
||||
padding: 0 24px;
|
||||
background: rgba(255, 255, 255, 0.96);
|
||||
border-bottom: 1px solid var(--line);
|
||||
box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
|
||||
}
|
||||
|
||||
.brand {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
font-size: 23px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.logo {
|
||||
width: 34px;
|
||||
height: 28px;
|
||||
border-radius: 7px;
|
||||
background:
|
||||
linear-gradient(135deg, #ff245f 0 38%, transparent 39%),
|
||||
linear-gradient(45deg, #27c7f2 0 50%, #3664ff 51%);
|
||||
}
|
||||
|
||||
.nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 28px;
|
||||
color: #2f3540;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.nav .active {
|
||||
color: var(--brand);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav .active::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
right: 10px;
|
||||
bottom: -17px;
|
||||
height: 4px;
|
||||
border-radius: 10px;
|
||||
background: var(--brand);
|
||||
}
|
||||
|
||||
.top-actions {
|
||||
margin-left: auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.small-btn,
|
||||
.pink-btn {
|
||||
height: 34px;
|
||||
border-radius: 8px;
|
||||
padding: 0 16px;
|
||||
border: 1px solid #d8dee8;
|
||||
background: #fff;
|
||||
color: #303744;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.pink-btn {
|
||||
border-color: var(--brand);
|
||||
background: var(--brand);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.page {
|
||||
padding: 18px 24px 40px;
|
||||
}
|
||||
|
||||
.banner {
|
||||
height: 46px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
margin-bottom: 16px;
|
||||
border-radius: 9px;
|
||||
background: #fff;
|
||||
color: #111827;
|
||||
font-size: 20px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.searchbar,
|
||||
.filters,
|
||||
.results {
|
||||
background: var(--panel);
|
||||
border: 1px solid var(--line);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.searchbar {
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
padding: 0 24px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.tab {
|
||||
height: 34px;
|
||||
border: 0;
|
||||
border-radius: 7px;
|
||||
padding: 0 18px;
|
||||
background: var(--brand-soft);
|
||||
color: var(--brand);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.tab.active {
|
||||
background: var(--brand);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.search-input {
|
||||
width: 440px;
|
||||
height: 36px;
|
||||
border: 1px solid #ff8ab2;
|
||||
border-radius: 6px;
|
||||
padding: 0 14px;
|
||||
}
|
||||
|
||||
.filters {
|
||||
display: grid;
|
||||
grid-template-columns: 108px 1fr;
|
||||
overflow: hidden;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.filter-side {
|
||||
background: #fbfcfe;
|
||||
border-right: 1px solid var(--line);
|
||||
}
|
||||
|
||||
.filter-side div {
|
||||
height: 72px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
border-bottom: 1px solid var(--line);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.filter-main {
|
||||
padding: 16px 24px;
|
||||
}
|
||||
|
||||
.filter-row {
|
||||
min-height: 38px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 18px;
|
||||
border-bottom: 1px solid #f0f2f5;
|
||||
}
|
||||
|
||||
.filter-row:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.filter-title {
|
||||
width: 72px;
|
||||
color: var(--muted);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.chip,
|
||||
.soft-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
height: 26px;
|
||||
padding: 0 12px;
|
||||
border-radius: 6px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.soft-chip {
|
||||
background: var(--brand-soft);
|
||||
color: var(--brand);
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.chip {
|
||||
color: #414854;
|
||||
}
|
||||
|
||||
.results {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.result-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 18px 24px 0;
|
||||
}
|
||||
|
||||
.count {
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.count strong {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.toolbar-shell {
|
||||
margin: 18px 24px 0;
|
||||
border: 1px solid #dfe5ee;
|
||||
border-radius: 10px;
|
||||
background: #fff;
|
||||
box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.toolbar-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 58px;
|
||||
padding: 12px 14px;
|
||||
border-bottom: 1px solid var(--line);
|
||||
background: linear-gradient(180deg, #fff, #fbfcff);
|
||||
}
|
||||
|
||||
.action-cluster {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding-right: 16px;
|
||||
border-right: 1px solid var(--line);
|
||||
}
|
||||
|
||||
.tool-btn {
|
||||
height: 34px;
|
||||
border: 1px solid #7b1a2d;
|
||||
border-radius: 8px;
|
||||
padding: 0 14px;
|
||||
background: #7b1a2d;
|
||||
color: #fff;
|
||||
font-weight: 800;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.control-cluster {
|
||||
min-width: 0;
|
||||
flex: 0 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
.label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 34px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid #cfe0ff;
|
||||
border-radius: 8px;
|
||||
background: #eef5ff;
|
||||
color: #2563eb;
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.select,
|
||||
.input {
|
||||
height: 34px;
|
||||
border: 1px solid #d4dbe6;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
color: #202938;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.select {
|
||||
min-width: 104px;
|
||||
}
|
||||
|
||||
.status {
|
||||
flex: 1 1 auto;
|
||||
min-width: 120px;
|
||||
text-align: center;
|
||||
color: var(--muted);
|
||||
font-size: 12px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.toolbar-body {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
padding: 12px 14px 14px;
|
||||
background: #fbfcff;
|
||||
}
|
||||
|
||||
.metric-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 34px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid #cfe0ff;
|
||||
border-radius: 8px;
|
||||
background: #eef5ff;
|
||||
color: #2563eb;
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.metric-rule {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 34px;
|
||||
padding: 0 10px;
|
||||
border: 1px solid #d9efe7;
|
||||
border-radius: 8px;
|
||||
background: #f0fbf6;
|
||||
color: var(--green);
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.metric-rule strong {
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.metric-rule small {
|
||||
margin-left: 6px;
|
||||
color: #64748b;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.metric-grid {
|
||||
min-width: 0;
|
||||
flex: 1 1 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 7px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.and {
|
||||
color: #0f8a5f;
|
||||
font-size: 12px;
|
||||
font-weight: 900;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.metric {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto 1fr;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
height: 34px;
|
||||
padding: 0 8px;
|
||||
border: 1px solid #dbe2ec;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.metric span,
|
||||
.metric b {
|
||||
color: #667085;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.metric b {
|
||||
color: var(--green);
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.metric input {
|
||||
min-width: 0;
|
||||
width: 58px;
|
||||
height: 26px;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
color: #1f2937;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.native-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-left: auto;
|
||||
padding-left: 16px;
|
||||
border-left: 1px solid var(--line);
|
||||
}
|
||||
|
||||
.native-btn {
|
||||
height: 34px;
|
||||
border: 1px solid #d8dee8;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
color: #303744;
|
||||
padding: 0 14px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
height: 64px;
|
||||
padding: 0 20px;
|
||||
border-top: 1px solid var(--line);
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
height: 46px;
|
||||
background: #fbfcfe;
|
||||
color: #5d6675;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.author {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: linear-gradient(135deg, #f4b66b, #7660d6);
|
||||
}
|
||||
|
||||
.price {
|
||||
color: var(--brand);
|
||||
font-size: 18px;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
@media (max-width: 1380px) {
|
||||
.metric-grid {
|
||||
padding-bottom: 2px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header class="topbar">
|
||||
<div class="brand"><span class="logo"></span>巨量星图</div>
|
||||
<nav class="nav">
|
||||
<span>首页</span>
|
||||
<span>我的星图</span>
|
||||
<span>找灵感</span>
|
||||
<span class="active">找达人</span>
|
||||
<span>找活动</span>
|
||||
<span>助投放</span>
|
||||
</nav>
|
||||
<div class="top-actions">
|
||||
<button class="small-btn">达人清单</button>
|
||||
<button class="pink-btn">+ 发布任务</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="page">
|
||||
<section class="banner">「精选品牌伙伴计划」优质达人合作推荐</section>
|
||||
|
||||
<section class="searchbar">
|
||||
<button class="tab">内容找人</button>
|
||||
<button class="tab active">昵称找人</button>
|
||||
<input class="search-input" value="抖音 输入达人昵称、抖音号或星图ID" />
|
||||
</section>
|
||||
|
||||
<section class="filters">
|
||||
<aside class="filter-side">
|
||||
<div>合作诉求</div>
|
||||
<div>匹配度</div>
|
||||
<div>性价比</div>
|
||||
<div>主题推荐</div>
|
||||
</aside>
|
||||
<div class="filter-main">
|
||||
<div class="filter-row">
|
||||
<span class="filter-title">合作对象</span>
|
||||
<span class="soft-chip">不限</span>
|
||||
<span class="chip">明星</span>
|
||||
<span class="soft-chip">短视频达人</span>
|
||||
<span class="chip">短剧演员</span>
|
||||
<span class="chip">短直达人</span>
|
||||
</div>
|
||||
<div class="filter-row">
|
||||
<span class="filter-title">适配行业</span>
|
||||
<span class="chip">不限</span>
|
||||
<span class="soft-chip">品牌曝光</span>
|
||||
<span class="chip">破圈种草</span>
|
||||
<span class="chip">行动转化</span>
|
||||
<span class="chip">品牌5A</span>
|
||||
</div>
|
||||
<div class="filter-row">
|
||||
<span class="filter-title">达人类型</span>
|
||||
<span class="soft-chip">不限</span>
|
||||
<span class="chip">美妆</span>
|
||||
<span class="chip">萌宠</span>
|
||||
<span class="chip">测评</span>
|
||||
<span class="chip">旅行</span>
|
||||
<span class="chip">母婴亲子</span>
|
||||
<span class="chip">科技数码</span>
|
||||
<span class="chip">生活家居</span>
|
||||
</div>
|
||||
<div class="filter-row">
|
||||
<span class="filter-title">内容主题</span>
|
||||
<span class="soft-chip">不限</span>
|
||||
<span class="chip">妆容改造</span>
|
||||
<span class="chip">亲子育儿</span>
|
||||
<span class="chip">精彩生活</span>
|
||||
<span class="chip">手机数码</span>
|
||||
<span class="chip">萌宠养护</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="results">
|
||||
<div class="result-top">
|
||||
<div class="count">找到 <strong>10000+</strong> 个达人</div>
|
||||
</div>
|
||||
|
||||
<section class="toolbar-shell" aria-label="插件工具栏改版样例">
|
||||
<div class="toolbar-head">
|
||||
<div class="action-cluster">
|
||||
<button class="tool-btn">导出选中达人数据</button>
|
||||
<button class="tool-btn">按星图ID导出</button>
|
||||
<button class="tool-btn">选择字段</button>
|
||||
<button class="tool-btn">提交批次</button>
|
||||
</div>
|
||||
|
||||
<div class="control-cluster">
|
||||
<span class="label">视频口径</span>
|
||||
<select class="select">
|
||||
<option>星图视频</option>
|
||||
<option>个人视频</option>
|
||||
</select>
|
||||
<select class="select">
|
||||
<option>只看指派</option>
|
||||
<option>不限指派</option>
|
||||
</select>
|
||||
<select class="select">
|
||||
<option>排除营销</option>
|
||||
<option>不排除营销</option>
|
||||
</select>
|
||||
<select class="select">
|
||||
<option>近90天</option>
|
||||
<option>近30天</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<span class="status">批次提交成功</span>
|
||||
|
||||
<div class="native-actions">
|
||||
<button class="native-btn">自定义指标</button>
|
||||
<button class="native-btn">导出</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="toolbar-body">
|
||||
<div class="metric-title">传播指标筛选</div>
|
||||
<div class="metric-rule">全部满足<strong>AND</strong><small>每项取值 ≥ 输入值</small></div>
|
||||
<div class="metric-grid">
|
||||
<label class="metric"><span>评论</span><b>≥</b><input value="1" /></label>
|
||||
<span class="and">且</span>
|
||||
<label class="metric"><span>时长</span><b>≥</b><input value="5" /></label>
|
||||
<span class="and">且</span>
|
||||
<label class="metric"><span>点赞</span><b>≥</b><input value="10" /></label>
|
||||
<span class="and">且</span>
|
||||
<label class="metric"><span>转发</span><b>≥</b><input value="0" /></label>
|
||||
<span class="and">且</span>
|
||||
<label class="metric"><span>完播率</span><b>≥</b><input value="1" /></label>
|
||||
<span class="and">且</span>
|
||||
<label class="metric"><span>互动率</span><b>≥</b><input value="0.1" /></label>
|
||||
<span class="and">且</span>
|
||||
<label class="metric"><span>播放中位数</span><b>≥</b><input value="1000" /></label>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" /> 全选</th>
|
||||
<th>达人信息</th>
|
||||
<th>代表视频</th>
|
||||
<th>达人类型</th>
|
||||
<th>内容主题</th>
|
||||
<th>粉丝数</th>
|
||||
<th>预期CPM</th>
|
||||
<th>完播率</th>
|
||||
<th>21-60s报价</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><input type="checkbox" /></td>
|
||||
<td>
|
||||
<div class="author">
|
||||
<span class="avatar"></span>
|
||||
<div>
|
||||
<strong>柯铭</strong><br />
|
||||
<span style="color: #7a8493">男 · 北京市 · 抖音精选</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>2 个视频</td>
|
||||
<td>萌宠</td>
|
||||
<td>国内旅行 / 昆虫科普</td>
|
||||
<td>1,471.4w</td>
|
||||
<td>43.5</td>
|
||||
<td>26.2%</td>
|
||||
<td class="price">¥600,000</td>
|
||||
<td><button class="pink-btn">下单</button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user