Files
cpms_operation_platform/src/assets/styles/index.less
T
2026-07-28 15:24:42 +08:00

146 lines
2.8 KiB
Plaintext
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.
// ===== 全局样式入口 =====
// CSS Reset 已由 ant-design-vue 的 reset.css 提供,这里补充全局变量与基础样式
// 全局 less 变量
@primary-color: #1677ff;
@text-color: rgba(0, 0, 0, 0.88);
@border-color: #f0f0f0;
@bg-color: #f5f5f5;
// 基础重置
* {
box-sizing: border-box;
}
html,
body,
#app {
height: 100%;
margin: 0;
padding: 0;
}
body {
font-family:
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'PingFang SC',
'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
font-size: 14px;
color: @text-color;
background-color: @bg-color;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
color: @primary-color;
text-decoration: none;
&:hover {
opacity: 0.85;
}
}
// 滚动条美化
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2);
border-radius: 3px;
}
::-webkit-scrollbar-track {
background: transparent;
}
// ===== 页面布局公共类 =====
// 页面容器:纵向 flex,占满高度;筛选区与表格区作为直接子元素
.page-container {
display: flex;
flex-direction: column;
height: 100%;
}
// 页面筛选区域:横向 flex,可换行
.page-filter {
display: flex;
flex-wrap: wrap;
align-items: center;
column-gap: 16px;
row-gap: 12px;
flex-shrink: 0;
padding: 16px;
background-color: #fff;
border-radius: 10px;
}
// 筛选区域操作按钮组:横向 flex
.page-filter-actions {
display: flex;
align-items: center;
gap: 10px;
margin-left: 0;
}
// 表格显示区域:纵向 flex,占据剩余高度。
// overflow: hidden 防止子元素撑开容器,滚动由 Table 的 scroll.x/y 接管。
// 分页组件作为独立子元素置于 Table 下方,不占用 Table 的 scroll 空间。
.page-table {
display: flex;
flex-direction: column;
flex: 1;
background-color: #fff;
min-height: 0;
min-width: 0;
margin-top: 16px;
overflow: hidden;
border-radius: 10px;
}
.page-pagination {
flex-shrink: 0;
display: flex;
justify-content: flex-end;
padding: 14px;
}
// ===== antd 组件覆盖 =====
// Tag 默认 margin-right: 8px,会挤开表格列或卡片内间距,统一去掉
.ant-tag {
margin-right: 0;
}
// ===== 页面切换动画(KeepAlive + RouterView =====
.page-fade-slide-enter-active,
.page-fade-slide-leave-active {
width: 100%;
height: 100%;
min-height: 0;
transition:
opacity 0.22s cubic-bezier(0.4, 0, 0.2, 1),
transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}
.page-fade-slide-enter-from {
opacity: 0;
transform: translateX(12px);
}
.page-fade-slide-leave-to {
opacity: 0;
transform: translateX(-12px);
}
.page-fade-slide-leave-active {
position: absolute;
inset: 0;
width: 100%;
overflow: hidden;
}