perf: 使用pnpm lint格式化代码,适配最新版的stylelint规则

This commit is contained in:
xiaoxian521 2023-05-04 13:49:30 +08:00
parent 7713e7fb9e
commit afc15ea8df
59 changed files with 426 additions and 449 deletions

View File

@ -1,3 +1,4 @@
/dist/* /dist/*
/public/* /public/*
public/* public/*
src/style/reset.scss

View File

@ -21,50 +21,50 @@
html, html,
body, body,
#app { #app {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%; width: 100%;
height: 100%; height: 100%;
display: flex;
position: relative;
justify-content: center;
align-items: center;
overflow: hidden; overflow: hidden;
} }
.loader, .loader,
.loader:before, .loader::before,
.loader:after { .loader::after {
border-radius: 50%;
width: 2.5em; width: 2.5em;
height: 2.5em; height: 2.5em;
animation-fill-mode: both; border-radius: 50%;
animation: loadAnimation 1.8s infinite ease-in-out; animation: loadAnimation 1.8s infinite ease-in-out;
animation-fill-mode: both;
} }
.loader { .loader {
color: #406eeb;
font-size: 10px;
margin: 80px auto;
position: relative; position: relative;
top: 0;
margin: 80px auto;
font-size: 10px;
color: #406eeb;
text-indent: -9999em; text-indent: -9999em;
transform: translateZ(0); transform: translateZ(0);
animation-delay: -0.16s;
top: 0;
transform: translate(-50%, 0); transform: translate(-50%, 0);
animation-delay: -0.16s;
} }
.loader:before, .loader::before,
.loader:after { .loader::after {
content: "";
position: absolute; position: absolute;
top: 0; top: 0;
content: "";
} }
.loader:before { .loader::before {
left: -3.5em; left: -3.5em;
animation-delay: -0.32s; animation-delay: -0.32s;
} }
.loader:after { .loader::after {
left: 3.5em; left: 3.5em;
} }

View File

@ -123,9 +123,9 @@ onUnmounted(() => {
.flip-clock em { .flip-clock em {
display: inline-block; display: inline-block;
line-height: 102px;
font-size: 66px; font-size: 66px;
font-style: normal; font-style: normal;
line-height: 102px;
vertical-align: top; vertical-align: top;
} }
</style> </style>

View File

@ -132,10 +132,10 @@ onMounted(() => {
</template> </template>
<style scoped> <style scoped>
@import "./assets/iconfont/iconfont.css"; @import url("./assets/iconfont/iconfont.css");
.control-container { .control-container {
background: hsla(0, 0%, 100%, 0.8); background: hsl(0deg 0% 100% / 80%);
box-shadow: 0 1px 4px rgb(0 0 0 / 20%); box-shadow: 0 1px 4px rgb(0 0 0 / 20%);
} }

File diff suppressed because one or more lines are too long

View File

@ -200,8 +200,8 @@ watch(
.icon-item { .icon-item {
&:hover { &:hover {
border-color: var(--el-color-primary);
color: var(--el-color-primary); color: var(--el-color-primary);
border-color: var(--el-color-primary);
transition: all 0.4s; transition: all 0.4s;
transform: scaleX(1.05); transform: scaleX(1.05);
} }
@ -224,15 +224,15 @@ watch(
} }
:deep(.el-tabs__item) { :deep(.el-tabs__item) {
height: 30px;
font-size: 12px; font-size: 12px;
font-weight: normal; font-weight: normal;
height: 30px;
line-height: 30px; line-height: 30px;
} }
:deep(.el-tabs__header), :deep(.el-tabs__header),
:deep(.el-tabs__nav-wrap) { :deep(.el-tabs__nav-wrap) {
margin: 0;
position: static; position: static;
margin: 0;
} }
</style> </style>

View File

@ -1,6 +1,7 @@
.qrcode { .qrcode {
&--disabled { &--disabled {
background: rgba(255, 255, 255, 0.95); background: rgb(255 255 255 / 95%);
& > div { & > div {
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }

View File

@ -8,42 +8,48 @@ $--element-tree-line-width: 1px !default;
} }
.element-tree-node-label-wrapper { .element-tree-node-label-wrapper {
flex: 1;
display: flex; display: flex;
flex: 1;
align-items: center; align-items: center;
} }
.element-tree-node-label { .element-tree-node-label {
font-size: 12px; font-size: 12px;
} }
.element-tree-node-line-ver { .element-tree-node-line-ver {
display: block;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
display: block;
height: 100%; height: 100%;
border-left: $--element-tree-line-width $--element-tree-line-style border-left: $--element-tree-line-width $--element-tree-line-style
$--element-tree-line-color; $--element-tree-line-color;
&.last-node-line { &.last-node-line {
border-left: $--element-tree-line-width $--element-tree-line-style border-left: $--element-tree-line-width $--element-tree-line-style
transparent; transparent;
} }
&.last-node-isLeaf-line { &.last-node-isLeaf-line {
height: 50%; height: 50%;
} }
} }
.element-tree-node-line-hor { .element-tree-node-line-hor {
display: block;
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 0; left: 0;
display: block;
height: 0; height: 0;
border-bottom: $--element-tree-line-width $--element-tree-line-style border-bottom: $--element-tree-line-width $--element-tree-line-style
$--element-tree-line-color; $--element-tree-line-color;
} }
.element-tree-node-label-line { .element-tree-node-label-line {
flex: 1; flex: 1;
border-top: $--element-tree-line-width $--element-tree-line-style
$--element-tree-line-color;
align-self: center; align-self: center;
margin: 0 10px; margin: 0 10px;
border-top: $--element-tree-line-width $--element-tree-line-style
$--element-tree-line-color;
} }

View File

@ -130,16 +130,16 @@ const transitionMain = defineComponent({
<style scoped> <style scoped>
.app-main { .app-main {
position: relative;
width: 100%; width: 100%;
height: 100vh; height: 100vh;
position: relative;
overflow-x: hidden; overflow-x: hidden;
} }
.app-main-nofixed-header { .app-main-nofixed-header {
position: relative;
width: 100%; width: 100%;
min-height: 100vh; min-height: 100vh;
position: relative;
} }
.main-content { .main-content {

View File

@ -121,28 +121,28 @@ const { t, locale, translationCh, translationEn } = useTranslationLang();
overflow: hidden; overflow: hidden;
.hamburger-container { .hamburger-container {
line-height: 48px;
height: 100%;
float: left; float: left;
height: 100%;
line-height: 48px;
cursor: pointer; cursor: pointer;
} }
.vertical-header-right { .vertical-header-right {
display: flex; display: flex;
align-items: center;
justify-content: flex-end;
min-width: 280px; min-width: 280px;
height: 48px; height: 48px;
align-items: center;
color: #000000d9; color: #000000d9;
justify-content: flex-end;
.el-dropdown-link { .el-dropdown-link {
height: 48px;
padding: 10px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
cursor: pointer; height: 48px;
padding: 10px;
color: #000000d9; color: #000000d9;
cursor: pointer;
p { p {
font-size: 14px; font-size: 14px;
@ -182,9 +182,9 @@ const { t, locale, translationCh, translationEn } = useTranslationLang();
max-width: 120px; max-width: 120px;
::v-deep(.el-dropdown-menu__item) { ::v-deep(.el-dropdown-menu__item) {
min-width: 100%;
display: inline-flex; display: inline-flex;
flex-wrap: wrap; flex-wrap: wrap;
min-width: 100%;
} }
} }
</style> </style>

View File

@ -46,8 +46,8 @@ notices.value.map(v => (noticesNum.value += v.list.length));
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
height: 48px;
width: 60px; width: 60px;
height: 48px;
cursor: pointer; cursor: pointer;
.header-notice-icon { .header-notice-icon {
@ -59,7 +59,7 @@ notices.value.map(v => (noticesNum.value += v.list.length));
width: 330px; width: 330px;
.noticeList-container { .noticeList-container {
padding: 15px 24px 0 24px; padding: 15px 24px 0;
} }
:deep(.el-tabs__header) { :deep(.el-tabs__header) {
@ -71,7 +71,7 @@ notices.value.map(v => (noticesNum.value += v.list.length));
} }
:deep(.el-tabs__nav-wrap) { :deep(.el-tabs__nav-wrap) {
padding: 0 36px 0 36px; padding: 0 36px;
} }
} }
</style> </style>

View File

@ -118,6 +118,7 @@ function hoverDescription(event, description) {
align-items: flex-start; align-items: flex-start;
justify-content: space-between; justify-content: space-between;
padding: 12px 0; padding: 12px 0;
// border-bottom: 1px solid #f0f0f0; // border-bottom: 1px solid #f0f0f0;
.notice-container-avatar { .notice-container-avatar {
@ -127,15 +128,15 @@ function hoverDescription(event, description) {
.notice-container-text { .notice-container-text {
display: flex; display: flex;
flex: 1;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
flex: 1;
.notice-text-title { .notice-text-title {
display: flex; display: flex;
margin-bottom: 8px; margin-bottom: 8px;
font-weight: 400;
font-size: 14px; font-size: 14px;
font-weight: 400;
line-height: 1.5715; line-height: 1.5715;
cursor: pointer; cursor: pointer;
@ -143,8 +144,8 @@ function hoverDescription(event, description) {
flex: 1; flex: 1;
width: 200px; width: 200px;
overflow: hidden; overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap;
} }
.notice-title-extra { .notice-title-extra {
@ -162,8 +163,8 @@ function hoverDescription(event, description) {
.notice-text-description { .notice-text-description {
display: -webkit-box; display: -webkit-box;
text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }

View File

@ -60,9 +60,9 @@ emitter.on("openPanel", () => {
<style> <style>
.showright-panel { .showright-panel {
overflow: hidden;
position: relative; position: relative;
width: calc(100% - 15px); width: calc(100% - 15px);
overflow: hidden;
} }
</style> </style>
@ -71,23 +71,23 @@ emitter.on("openPanel", () => {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: -1;
background: rgb(0 0 0 / 20%);
opacity: 0; opacity: 0;
transition: opacity 0.3s cubic-bezier(0.7, 0.3, 0.1, 1); transition: opacity 0.3s cubic-bezier(0.7, 0.3, 0.1, 1);
background: rgba(0, 0, 0, 0.2);
z-index: -1;
} }
.right-panel { .right-panel {
width: 100%;
max-width: 315px;
height: 100vh;
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05); z-index: 40000;
width: 100%;
max-width: 315px;
height: 100vh;
box-shadow: 0 0 15px 0 rgb(0 0 0 / 5%);
transition: all 0.25s cubic-bezier(0.7, 0.3, 0.1, 1); transition: all 0.25s cubic-bezier(0.7, 0.3, 0.1, 1);
transform: translate(100%); transform: translate(100%);
z-index: 40000;
} }
.show { .show {
@ -95,9 +95,9 @@ emitter.on("openPanel", () => {
.right-panel-background { .right-panel-background {
z-index: 20000; z-index: 20000;
opacity: 1;
width: 100%; width: 100%;
height: 100%; height: 100%;
opacity: 1;
} }
.right-panel { .right-panel {
@ -106,20 +106,20 @@ emitter.on("openPanel", () => {
} }
.handle-button { .handle-button {
position: absolute;
top: 45%;
left: -48px;
z-index: 0;
width: 48px; width: 48px;
height: 48px; height: 48px;
position: absolute;
left: -48px;
text-align: center;
font-size: 24px; font-size: 24px;
border-radius: 6px 0 0 6px !important; line-height: 48px;
z-index: 0; color: #fff;
text-align: center;
pointer-events: auto; pointer-events: auto;
cursor: pointer; cursor: pointer;
color: #fff; background: rgb(24 144 255);
line-height: 48px; border-radius: 6px 0 0 6px !important;
top: 45%;
background: rgb(24, 144, 255);
i { i {
font-size: 24px; font-size: 24px;
@ -128,24 +128,24 @@ emitter.on("openPanel", () => {
} }
.right-panel-items { .right-panel-items {
margin-top: 60px;
height: calc(100vh - 60px); height: calc(100vh - 60px);
margin-top: 60px;
overflow-y: auto; overflow-y: auto;
} }
.project-configuration { .project-configuration {
position: fixed;
top: 15px;
display: flex; display: flex;
align-items: center;
justify-content: space-between;
width: 100%; width: 100%;
height: 30px; height: 30px;
position: fixed;
justify-content: space-between;
align-items: center;
top: 15px;
margin-left: 10px; margin-left: 10px;
} }
:deep(.el-divider--horizontal) { :deep(.el-divider--horizontal) {
width: 90%; width: 90%;
margin: 20px auto 0 auto; margin: 20px auto 0;
} }
</style> </style>

View File

@ -84,11 +84,11 @@ function handleTo() {
display: flex; display: flex;
align-items: center; align-items: center;
height: 56px; height: 56px;
margin-top: 8px;
padding: 14px; padding: 14px;
border-radius: 4px; margin-top: 8px;
cursor: pointer; cursor: pointer;
border: 0.1px solid #ccc; border: 0.1px solid #ccc;
border-radius: 4px;
transition: all 0.3s; transition: all 0.3s;
&-title { &-title {

View File

@ -418,35 +418,35 @@ onBeforeMount(() => {
li { li {
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
justify-content: space-between;
margin: 25px; margin: 25px;
} }
} }
.pure-datatheme { .pure-datatheme {
display: block;
width: 100%; width: 100%;
height: 50px; height: 50px;
text-align: center;
display: block;
padding-top: 25px; padding-top: 25px;
text-align: center;
} }
.pure-theme { .pure-theme {
margin-top: 25px;
width: 100%;
height: 50px;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-around; justify-content: space-around;
width: 100%;
height: 50px;
margin-top: 25px;
li { li {
position: relative;
width: 18%; width: 18%;
height: 45px; height: 45px;
background: #f0f2f5;
position: relative;
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
background: #f0f2f5;
border-radius: 4px; border-radius: 4px;
box-shadow: 0 1px 2.5px 0 rgb(0 0 0 / 18%); box-shadow: 0 1px 2.5px 0 rgb(0 0 0 / 18%);
@ -459,13 +459,13 @@ onBeforeMount(() => {
} }
&:nth-child(2) { &:nth-child(2) {
width: 70%; position: absolute;
height: 30%;
top: 0; top: 0;
right: 0; right: 0;
width: 70%;
height: 30%;
background: #fff; background: #fff;
box-shadow: 0 0 1px #888; box-shadow: 0 0 1px #888;
position: absolute;
} }
} }
} }
@ -491,13 +491,13 @@ onBeforeMount(() => {
} }
&:nth-child(2) { &:nth-child(2) {
width: 30%; position: absolute;
height: 70%;
bottom: 0; bottom: 0;
left: 0; left: 0;
width: 30%;
height: 70%;
background: #fff; background: #fff;
box-shadow: 0 0 1px #888; box-shadow: 0 0 1px #888;
position: absolute;
} }
} }
} }
@ -505,11 +505,11 @@ onBeforeMount(() => {
} }
.theme-color { .theme-color {
display: flex;
justify-content: center;
width: 100%; width: 100%;
height: 40px; height: 40px;
margin-top: 20px; margin-top: 20px;
display: flex;
justify-content: center;
li { li {
float: left; float: left;
@ -519,8 +519,8 @@ onBeforeMount(() => {
margin-right: 8px; margin-right: 8px;
font-weight: 700; font-weight: 700;
text-align: center; text-align: center;
border-radius: 2px;
cursor: pointer; cursor: pointer;
border-radius: 2px;
&:nth-child(2) { &:nth-child(2) {
border: 1px solid #ddd; border: 1px solid #ddd;

View File

@ -156,9 +156,9 @@ watch(
max-width: 120px; max-width: 120px;
::v-deep(.el-dropdown-menu__item) { ::v-deep(.el-dropdown-menu__item) {
min-width: 100%;
display: inline-flex; display: inline-flex;
flex-wrap: wrap; flex-wrap: wrap;
min-width: 100%;
} }
} }
</style> </style>

View File

@ -37,33 +37,33 @@ const { title } = useNav();
<style lang="scss" scoped> <style lang="scss" scoped>
.sidebar-logo-container { .sidebar-logo-container {
position: relative;
width: 100%; width: 100%;
height: 48px; height: 48px;
overflow: hidden; overflow: hidden;
position: relative;
.sidebar-logo-link { .sidebar-logo-link {
height: 100%;
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
align-items: center; align-items: center;
height: 100%;
img { img {
height: 32px;
display: inline-block; display: inline-block;
height: 32px;
} }
.sidebar-title { .sidebar-title {
height: 32px;
line-height: 32px;
margin: 2px 0 0 12px;
color: $subMenuActiveText;
display: inline-block; display: inline-block;
height: 32px;
margin: 2px 0 0 12px;
overflow: hidden; overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
line-height: 32px;
color: $subMenuActiveText;
text-overflow: ellipsis;
white-space: nowrap;
} }
} }
} }

View File

@ -188,9 +188,9 @@ watch(
max-width: 120px; max-width: 120px;
::v-deep(.el-dropdown-menu__item) { ::v-deep(.el-dropdown-menu__item) {
min-width: 100%;
display: inline-flex; display: inline-flex;
flex-wrap: wrap; flex-wrap: wrap;
min-width: 100%;
} }
} }
</style> </style>

View File

@ -39,41 +39,41 @@
} }
.tags-view { .tags-view {
width: 100%; position: relative;
font-size: 14px;
display: flex; display: flex;
align-items: center; align-items: center;
width: 100%;
font-size: 14px;
color: var(--el-text-color-primary); color: var(--el-text-color-primary);
background: #fff; background: #fff;
position: relative;
box-shadow: 0 0 1px #888; box-shadow: 0 0 1px #888;
.scroll-item { .scroll-item {
border-radius: 3px 3px 0 0;
padding: 0 6px;
box-shadow: 0 0 1px #888;
position: relative; position: relative;
margin-right: 4px;
height: 28px;
display: inline-block; display: inline-block;
height: 28px;
padding: 0 6px;
margin-right: 4px;
line-height: 28px; line-height: 28px;
transition: all 0.4s;
cursor: pointer; cursor: pointer;
border-radius: 3px 3px 0 0;
box-shadow: 0 0 1px #888;
transition: all 0.4s;
.el-icon-close { .el-icon-close {
position: absolute;
top: 50%;
font-size: 10px; font-size: 10px;
color: var(--el-color-primary); color: var(--el-color-primary);
cursor: pointer; cursor: pointer;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
transition: font-size 0.2s; transition: font-size 0.2s;
transform: translate(-50%, -50%);
&:hover { &:hover {
border-radius: 50%; font-size: 13px;
color: #fff; color: #fff;
background: #b4bccc; background: #b4bccc;
font-size: 13px; border-radius: 50%;
} }
} }
@ -91,24 +91,24 @@
} }
a { a {
text-decoration: none;
color: var(--el-text-color-primary);
padding: 0 4px; padding: 0 4px;
color: var(--el-text-color-primary);
text-decoration: none;
} }
.scroll-container { .scroll-container {
flex: 1;
overflow: hidden;
padding: 5px 0;
white-space: nowrap;
position: relative; position: relative;
flex: 1;
padding: 5px 0;
overflow: hidden;
white-space: nowrap;
.tab { .tab {
position: relative; position: relative;
float: left; float: left;
list-style: none;
overflow: visible; overflow: visible;
white-space: nowrap; white-space: nowrap;
list-style: none;
transition: transform 0.5s ease-in-out; transition: transform 0.5s ease-in-out;
.scroll-item { .scroll-item {
@ -123,29 +123,28 @@
/* 右键菜单 */ /* 右键菜单 */
.contextmenu { .contextmenu {
margin: 0;
background: #fff;
position: absolute; position: absolute;
list-style-type: none;
padding: 5px 0; padding: 5px 0;
border-radius: 4px; margin: 0;
color: var(--el-text-color-primary);
font-weight: normal;
font-size: 13px; font-size: 13px;
font-weight: normal;
color: var(--el-text-color-primary);
white-space: nowrap; white-space: nowrap;
list-style-type: none;
background: #fff;
border-radius: 4px;
outline: 0; outline: 0;
box-shadow: 0 2px 8px rgb(0 0 0 / 15%); box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
li { li {
width: 100%;
margin: 0;
padding: 7px 12px;
cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
width: 100%;
padding: 7px 12px;
margin: 0;
cursor: pointer;
&:hover { &:hover {
// background: var(--el-color-primary-light-9);
color: var(--el-color-primary); color: var(--el-color-primary);
} }
@ -159,11 +158,11 @@
.el-dropdown-menu { .el-dropdown-menu {
li { li {
display: flex;
align-items: center;
width: 100%; width: 100%;
margin: 0; margin: 0;
cursor: pointer; cursor: pointer;
display: flex;
align-items: center;
svg { svg {
display: block; display: block;
@ -184,6 +183,7 @@
:deep(.el-dropdown-menu__item--divided) { :deep(.el-dropdown-menu__item--divided) {
margin: 1px 0; margin: 1px 0;
} }
.el-dropdown-menu__item--divided::before { .el-dropdown-menu__item--divided::before {
margin: 0; margin: 0;
} }
@ -193,7 +193,6 @@
} }
.scroll-item.is-active { .scroll-item.is-active {
// background-color: var(--el-color-primary-light-9);
position: relative; position: relative;
color: #fff; color: #fff;
@ -213,16 +212,16 @@
.arrow-left, .arrow-left,
.arrow-right, .arrow-right,
.arrow-down { .arrow-down {
position: relative;
width: 40px; width: 40px;
height: 38px; height: 38px;
color: var(--el-text-color-primary); color: var(--el-text-color-primary);
position: relative;
svg { svg {
width: 20px;
height: 20px;
position: absolute; position: absolute;
left: 50%; left: 50%;
width: 20px;
height: 20px;
transform: translate(-50%, 50%); transform: translate(-50%, 50%);
} }
} }
@ -236,8 +235,8 @@
} }
.arrow-right { .arrow-right {
box-shadow: -5px 0 5px -6px #ccc;
border-right: 0.5px solid #ccc; border-right: 0.5px solid #ccc;
box-shadow: -5px 0 5px -6px #ccc;
&:hover { &:hover {
cursor: e-resize; cursor: e-resize;
@ -255,8 +254,8 @@
/* 卡片模式下鼠标移出隐藏蓝色边框 */ /* 卡片模式下鼠标移出隐藏蓝色边框 */
.card-out { .card-out {
border: none;
color: #666; color: #666;
border: none;
a { a {
color: #666; color: #666;
@ -265,32 +264,32 @@
/* 灵动模式 */ /* 灵动模式 */
.schedule-active { .schedule-active {
position: absolute;
bottom: 0;
left: 0;
width: 100%; width: 100%;
height: 2px; height: 2px;
position: absolute;
left: 0;
bottom: 0;
background: var(--el-color-primary); background: var(--el-color-primary);
} }
/* 灵动模式下鼠标移入显示蓝色进度条 */ /* 灵动模式下鼠标移入显示蓝色进度条 */
.schedule-in { .schedule-in {
position: absolute;
bottom: 0;
left: 0;
width: 100%; width: 100%;
height: 2px; height: 2px;
position: absolute;
left: 0;
bottom: 0;
background: var(--el-color-primary); background: var(--el-color-primary);
animation: scheduleInWidth 200ms ease-in; animation: scheduleInWidth 200ms ease-in;
} }
/* 灵动模式下鼠标移出隐藏蓝色进度条 */ /* 灵动模式下鼠标移出隐藏蓝色进度条 */
.schedule-out { .schedule-out {
position: absolute;
bottom: 0;
left: 0;
width: 0; width: 0;
height: 2px; height: 2px;
position: absolute;
left: 0;
bottom: 0;
background: var(--el-color-primary); background: var(--el-color-primary);
animation: scheduleOutWidth 200ms ease-in; animation: scheduleOutWidth 200ms ease-in;
} }

View File

@ -603,5 +603,5 @@ onMounted(() => {
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "./index.scss"; @import url("./index.scss");
</style> </style>

View File

@ -56,15 +56,15 @@ onMounted(() => {
<style lang="scss" scoped> <style lang="scss" scoped>
.frame { .frame {
height: calc(100vh - 88px);
z-index: 998; z-index: 998;
height: calc(100vh - 88px);
.frame-iframe { .frame-iframe {
box-sizing: border-box;
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
border: 0; border: 0;
box-sizing: border-box;
} }
} }

View File

@ -179,20 +179,16 @@ const layoutHeader = defineComponent({
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
@mixin clearfix { .app-wrapper {
position: relative;
width: 100%;
height: 100%;
&::after { &::after {
content: "";
display: table; display: table;
clear: both; clear: both;
content: "";
} }
}
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
&.mobile.openSidebar { &.mobile.openSidebar {
position: fixed; position: fixed;
@ -201,13 +197,13 @@ const layoutHeader = defineComponent({
} }
.app-mask { .app-mask {
position: absolute;
top: 0;
z-index: 999;
width: 100%;
height: 100%;
background: #000; background: #000;
opacity: 0.3; opacity: 0.3;
width: 100%;
top: 0;
height: 100%;
position: absolute;
z-index: 999;
} }
.re-screen { .re-screen {

View File

@ -32,8 +32,8 @@ html.dark {
.tags-view { .tags-view {
.arrow-left, .arrow-left,
.arrow-right { .arrow-right {
box-shadow: none;
border-right: 1px solid $border-style; border-right: 1px solid $border-style;
box-shadow: none;
} }
.arrow-right { .arrow-right {
@ -46,6 +46,7 @@ html.dark {
.el-divider__text { .el-divider__text {
--el-bg-color: var(--el-bg-color); --el-bg-color: var(--el-bg-color);
} }
.el-divider--horizontal { .el-divider--horizontal {
border-top: none; border-top: none;
} }
@ -63,10 +64,10 @@ html.dark {
} }
.form-edit-widget-label a { .form-edit-widget-label a {
color: $color-white;
background: var(--el-color-primary); background: var(--el-color-primary);
border: none; border: none;
border-radius: 5px; border-radius: 5px;
color: $color-white;
} }
.el-aside { .el-aside {
@ -84,14 +85,18 @@ html.dark {
.el-table__cell { .el-table__cell {
background: var(--el-bg-color); background: var(--el-bg-color);
} }
.el-card { .el-card {
--el-card-bg-color: var(--el-bg-color); --el-card-bg-color: var(--el-bg-color);
// border: none !important; // border: none !important;
} }
.el-backtop { .el-backtop {
--el-backtop-bg-color: var(--el-color-primary-light-9); --el-backtop-bg-color: var(--el-color-primary-light-9);
--el-backtop-hover-bg-color: var(--el-color-primary); --el-backtop-hover-bg-color: var(--el-color-primary);
} }
.el-dropdown-menu__item:not(.is-disabled):hover { .el-dropdown-menu__item:not(.is-disabled):hover {
background: transparent; background: transparent;
} }
@ -103,18 +108,18 @@ html.dark {
&.el-message-box__close, &.el-message-box__close,
&.el-notification__closeBtn { &.el-notification__closeBtn {
&:hover { &:hover {
color: rgba(255, 255, 255, 0.85) !important; color: rgb(255 255 255 / 85%) !important;
background-color: rgba(255, 255, 255, 0.12); background-color: rgb(255 255 255 / 12%);
} }
} }
} }
/* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,非暗黑模式在 src/style/element-plus.scss 文件进行了适配 */ /* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,非暗黑模式在 src/style/element-plus.scss 文件进行了适配 */
.pure-message { .pure-message {
background-color: rgb(36 37 37) !important;
background-image: initial !important; background-image: initial !important;
background-color: rgb(36, 37, 37) !important; box-shadow: rgb(13 13 13 / 12%) 0 3px 6px -4px,
box-shadow: rgb(13 13 13 / 12%) 0px 3px 6px -4px, rgb(13 13 13 / 8%) 0 6px 16px 0, rgb(13 13 13 / 5%) 0 9px 28px 8px !important;
rgb(13 13 13 / 8%) 0px 6px 16px 0px, rgb(13 13 13 / 5%) 0px 9px 28px 8px !important;
& .el-message__content { & .el-message__content {
color: $color-white !important; color: $color-white !important;
@ -124,8 +129,8 @@ html.dark {
& .el-message__closeBtn { & .el-message__closeBtn {
&:hover { &:hover {
color: rgba(255, 255, 255, 0.85); color: rgb(255 255 255 / 85%);
background-color: rgba(255, 255, 255, 0.12); background-color: rgb(255 255 255 / 12%);
} }
} }
} }

View File

@ -78,6 +78,7 @@
} }
} }
} }
.el-icon { .el-icon {
&.el-dialog__close, &.el-dialog__close,
&.el-drawer__close, &.el-drawer__close,
@ -85,22 +86,23 @@
&.el-notification__closeBtn { &.el-notification__closeBtn {
width: 24px; width: 24px;
height: 24px; height: 24px;
outline: none;
border-radius: 4px; border-radius: 4px;
outline: none;
transition: background-color 0.2s, color 0.2s; transition: background-color 0.2s, color 0.2s;
&:hover { &:hover {
color: rgba(0, 0, 0, 0.88) !important; color: rgb(0 0 0 / 88%) !important;
background-color: rgba(0, 0, 0, 0.06);
text-decoration: none; text-decoration: none;
background-color: rgb(0 0 0 / 6%);
} }
} }
} }
/* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,暗黑模式在 src/style/dark.scss 文件进行了适配 */ /* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,暗黑模式在 src/style/dark.scss 文件进行了适配 */
.pure-message { .pure-message {
border-width: 0 !important;
background: #fff !important;
padding: 10px 13px !important; padding: 10px 13px !important;
background: #fff !important;
border-width: 0 !important;
box-shadow: 0 3px 6px -4px #0000001f, 0 6px 16px #00000014, box-shadow: 0 3px 6px -4px #0000001f, 0 6px 16px #00000014,
0 9px 28px 8px #0000000d !important; 0 9px 28px 8px #0000000d !important;
@ -119,13 +121,13 @@
} }
& .el-message__closeBtn { & .el-message__closeBtn {
outline: none;
border-radius: 4px;
right: 9px !important; right: 9px !important;
border-radius: 4px;
outline: none;
transition: background-color 0.2s, color 0.2s; transition: background-color 0.2s, color 0.2s;
&:hover { &:hover {
background-color: rgba(0, 0, 0, 0.06); background-color: rgb(0 0 0 / 6%);
} }
} }
} }

View File

@ -1,8 +1,7 @@
@import "./mixin.scss"; @import "./transition";
@import "./transition.scss"; @import "./element-plus";
@import "./element-plus.scss"; @import "./sidebar";
@import "./sidebar.scss"; @import "./dark";
@import "./dark.scss";
/* 自定义全局 CssVar */ /* 自定义全局 CssVar */
:root { :root {

View File

@ -1,28 +0,0 @@
@mixin clearfix {
&::after {
content: "";
display: table;
clear: both;
}
}
@mixin relative {
position: relative;
width: 100%;
height: 100%;
}
@mixin scrollBar {
&::-webkit-scrollbar-track-piece {
background: #d3dce6;
}
&::-webkit-scrollbar {
width: 6px;
}
&::-webkit-scrollbar-thumb {
background: #99a9bf;
border-radius: 20px;
}
}

View File

@ -2,9 +2,9 @@
::before, ::before,
::after { ::after {
box-sizing: border-box; box-sizing: border-box;
border-width: 0;
border-style: solid;
border-color: currentColor; border-color: currentColor;
border-style: solid;
border-width: 0;
} }
#app { #app {
@ -13,25 +13,24 @@
} }
html { html {
line-height: 1.5; box-sizing: border-box;
-webkit-text-size-adjust: 100%;
-moz-tab-size: 4;
tab-size: 4;
width: 100%; width: 100%;
height: 100%; height: 100%;
box-sizing: border-box; line-height: 1.5;
tab-size: 4;
text-size-adjust: 100%;
} }
body { body {
margin: 0;
line-height: inherit;
width: 100%; width: 100%;
height: 100%; height: 100%;
margin: 0;
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
"Microsoft YaHei", "微软雅黑", Arial, sans-serif;
line-height: inherit;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: optimizelegibility; text-rendering: optimizelegibility;
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
"Microsoft YaHei", "微软雅黑", Arial, sans-serif;
} }
hr { hr {
@ -69,9 +68,9 @@ small {
sub, sub,
sup { sup {
position: relative;
font-size: 75%; font-size: 75%;
line-height: 0; line-height: 0;
position: relative;
vertical-align: baseline; vertical-align: baseline;
} }
@ -85,8 +84,8 @@ sup {
table { table {
text-indent: 0; text-indent: 0;
border-color: inherit;
border-collapse: collapse; border-collapse: collapse;
border-color: inherit;
} }
button, button,
@ -94,12 +93,12 @@ input,
optgroup, optgroup,
select, select,
textarea { textarea {
padding: 0;
margin: 0;
font-family: inherit; font-family: inherit;
font-size: 100%; font-size: 100%;
line-height: inherit; line-height: inherit;
color: inherit; color: inherit;
margin: 0;
padding: 0;
} }
button, button,
@ -160,8 +159,8 @@ pre {
} }
fieldset { fieldset {
margin: 0;
padding: 0; padding: 0;
margin: 0;
} }
legend { legend {
@ -171,9 +170,9 @@ legend {
ol, ol,
ul, ul,
menu { menu {
list-style: none;
margin: 0;
padding: 0; padding: 0;
margin: 0;
list-style: none;
} }
textarea { textarea {
@ -182,8 +181,8 @@ textarea {
input::placeholder, input::placeholder,
textarea::placeholder { textarea::placeholder {
opacity: 1;
color: #9ca3af; color: #9ca3af;
opacity: 1;
} }
button, button,
@ -238,9 +237,9 @@ a:active {
a, a,
a:focus, a:focus,
a:hover { a:hover {
cursor: pointer;
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
cursor: pointer;
} }
div:focus { div:focus {
@ -249,11 +248,11 @@ div:focus {
.clearfix { .clearfix {
&::after { &::after {
visibility: hidden;
display: block; display: block;
font-size: 0;
content: " ";
clear: both;
height: 0; height: 0;
clear: both;
font-size: 0;
visibility: hidden;
content: " ";
} }
} }

View File

@ -2,20 +2,21 @@
@mixin merge-style($sideBarWidth) { @mixin merge-style($sideBarWidth) {
$menuActiveText: #7a80b4; $menuActiveText: #7a80b4;
@media screen and (min-width: 150px) and (max-width: 420px) { @media screen and (width >= 150px) and (width <= 420px) {
.app-main-nofixed-header { .app-main-nofixed-header {
overflow-y: hidden; overflow-y: hidden;
} }
} }
@media screen and (min-width: 420px) {
@media screen and (width >= 420px) {
.app-main-nofixed-header { .app-main-nofixed-header {
overflow: hidden; overflow: hidden;
} }
} }
.sub-menu-icon { .sub-menu-icon {
font-size: 18px;
margin-right: 5px; margin-right: 5px;
font-size: 18px;
svg { svg {
width: 18px; width: 18px;
@ -24,26 +25,27 @@
} }
.set-icon { .set-icon {
height: 48px;
width: 40px;
display: flex; display: flex;
cursor: pointer;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 40px;
height: 48px;
cursor: pointer;
} }
.main-container { .main-container {
position: relative;
height: 100vh; height: 100vh;
min-height: 100%; min-height: 100%;
/* main-content 属性动画 */
transition: margin-left var(--pure-transition-duration);
margin-left: $sideBarWidth; margin-left: $sideBarWidth;
position: relative;
background: #f0f2f5; background: #f0f2f5;
/* main-content 属性动画 */
transition: margin-left var(--pure-transition-duration);
.el-scrollbar__wrap { .el-scrollbar__wrap {
overflow: auto;
height: 100%; height: 100%;
overflow: auto;
} }
} }
@ -53,6 +55,7 @@
right: 0; right: 0;
z-index: 998; z-index: 998;
width: calc(100% - 210px); width: calc(100% - 210px);
/* fixed-header 属性左上角动画 */ /* fixed-header 属性左上角动画 */
transition: width var(--pure-transition-duration); transition: width var(--pure-transition-duration);
} }
@ -70,20 +73,21 @@
} }
.sidebar-container { .sidebar-container {
/* 展开动画 */
transition: width var(--pure-transition-duration);
width: $sideBarWidth !important;
background: $menuBg;
height: 100%;
position: fixed; position: fixed;
font-size: 0;
top: 0; top: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: 1001; z-index: 1001;
width: $sideBarWidth !important;
height: 100%;
overflow: hidden; overflow: hidden;
font-size: 0;
background: $menuBg;
box-shadow: 0 0 1px #888; box-shadow: 0 0 1px #888;
/* 展开动画 */
transition: width var(--pure-transition-duration);
.scrollbar-wrapper { .scrollbar-wrapper {
overflow-x: hidden !important; overflow-x: hidden !important;
} }
@ -101,6 +105,7 @@
/* logo: 48px、leftCollapse: 40px、leftCollapse-shadow: 4px */ /* logo: 48px、leftCollapse: 40px、leftCollapse-shadow: 4px */
height: calc(100% - 92px); height: calc(100% - 92px);
} }
.el-scrollbar.mobile { .el-scrollbar.mobile {
height: 100%; height: 100%;
} }
@ -113,15 +118,15 @@
a { a {
display: inline-block; display: inline-block;
display: flex; display: flex;
padding-left: 10px;
flex-wrap: wrap; flex-wrap: wrap;
width: 100%; width: 100%;
padding-left: 10px;
} }
.el-menu { .el-menu {
border: none;
height: 100%; height: 100%;
background-color: transparent !important; background-color: transparent !important;
border: none;
} }
.el-menu-item, .el-menu-item,
@ -158,8 +163,8 @@
} }
.is-active { .is-active {
transition: color 0.3s;
color: $subMenuActiveText !important; color: $subMenuActiveText !important;
transition: color 0.3s;
} }
.el-menu-item.is-active.nest-menu > * { .el-menu-item.is-active.nest-menu > * {
@ -168,22 +173,19 @@
} }
.el-menu-item.is-active.nest-menu::before { .el-menu-item.is-active.nest-menu::before {
content: "";
clear: both;
position: absolute; position: absolute;
left: 8px; inset: 0 8px;
right: 8px;
margin: 4px 0; margin: 4px 0;
top: 0; clear: both;
bottom: 0; content: "";
border-radius: 3px;
background: var(--el-color-primary) !important; background: var(--el-color-primary) !important;
border-radius: 3px;
} }
.el-menu .el-menu--inline .el-sub-menu__title, .el-menu .el-menu--inline .el-sub-menu__title,
& .el-sub-menu .el-menu-item { & .el-sub-menu .el-menu-item {
font-size: 12px;
min-width: $sideBarWidth !important; min-width: $sideBarWidth !important;
font-size: 12px;
background-color: $subMenuBg !important; background-color: $subMenuBg !important;
} }
@ -196,21 +198,21 @@
left: 0; left: 0;
width: 2px; width: 2px;
height: 100%; height: 100%;
background-color: $menuActiveBefore;
content: "";
clear: both; clear: both;
content: "";
background-color: $menuActiveBefore;
transition: all var(--pure-transition-duration) ease-in-out; transition: all var(--pure-transition-duration) ease-in-out;
transform: translateY(0); transform: translateY(0);
} }
.el-menu--collapse .outer-most.el-sub-menu > .el-sub-menu__title::before { .el-menu--collapse .outer-most.el-sub-menu > .el-sub-menu__title::before {
content: "";
display: block;
position: absolute; position: absolute;
height: 0;
width: 3px;
transform: translateY(-50%);
top: 50%; top: 50%;
display: block;
width: 3px;
height: 0;
content: "";
transform: translateY(-50%);
} }
/* 无子集的激活菜单背景 */ /* 无子集的激活菜单背景 */
@ -218,17 +220,15 @@
z-index: 1; z-index: 1;
color: #fff; color: #fff;
} }
.is-active.submenu-title-noDropdown.outer-most::before { .is-active.submenu-title-noDropdown.outer-most::before {
content: "";
clear: both;
position: absolute; position: absolute;
left: 8px; inset: 0 8px;
right: 8px;
margin: 4px 0; margin: 4px 0;
top: 0; clear: both;
bottom: 0; content: "";
border-radius: 3px;
background: var(--el-color-primary) !important; background: var(--el-color-primary) !important;
border-radius: 3px;
} }
} }
@ -261,8 +261,8 @@
/* 子菜单中还有子菜单 */ /* 子菜单中还有子菜单 */
.el-menu .el-sub-menu__title { .el-menu .el-sub-menu__title {
font-size: 12px;
min-width: $sideBarWidth !important; min-width: $sideBarWidth !important;
font-size: 12px;
background-color: $subMenuBg !important; background-color: $subMenuBg !important;
} }
@ -279,8 +279,8 @@
} }
.is-active { .is-active {
transition: color 0.3s;
color: $subMenuActiveText !important; color: $subMenuActiveText !important;
transition: color 0.3s;
} }
.el-menu-item.is-active.nest-menu > * { .el-menu-item.is-active.nest-menu > * {
@ -289,15 +289,12 @@
} }
.el-menu-item.is-active.nest-menu::before { .el-menu-item.is-active.nest-menu::before {
content: "";
clear: both;
position: absolute; position: absolute;
left: 8px; inset: 0 8px;
right: 8px; clear: both;
top: 0; content: "";
bottom: 0;
border-radius: 3px;
background: var(--el-color-primary) !important; background: var(--el-color-primary) !important;
border-radius: 3px;
} }
.el-menu-item, .el-menu-item,
@ -345,8 +342,8 @@
/* 子菜单中还有子菜单 */ /* 子菜单中还有子菜单 */
.el-menu .el-sub-menu__title { .el-menu .el-sub-menu__title {
font-size: 12px;
min-width: $sideBarWidth !important; min-width: $sideBarWidth !important;
font-size: 12px;
background-color: $subMenuBg !important; background-color: $subMenuBg !important;
&:hover { &:hover {
@ -371,8 +368,8 @@
} }
.el-menu-item.is-active { .el-menu-item.is-active {
transition: color 0.3s;
color: $subMenuActiveText !important; color: $subMenuActiveText !important;
transition: color 0.3s;
} }
.el-menu-item.is-active.nest-menu > * { .el-menu-item.is-active.nest-menu > * {
@ -381,68 +378,65 @@
} }
.el-menu-item.is-active.nest-menu::before { .el-menu-item.is-active.nest-menu::before {
content: "";
clear: both;
position: absolute; position: absolute;
left: 5px; inset: 0 5px;
right: 5px; clear: both;
top: 0; content: "";
bottom: 0;
border-radius: 3px;
background: var(--el-color-primary) !important; background: var(--el-color-primary) !important;
border-radius: 3px;
} }
} }
.horizontal-header { .horizontal-header {
display: flex; display: flex;
align-items: center;
justify-content: space-around; justify-content: space-around;
background: $menuBg;
width: 100%; width: 100%;
height: 48px; height: 48px;
align-items: center; background: $menuBg;
.horizontal-header-left { .horizontal-header-left {
display: flex; display: flex;
height: 100%; align-items: center;
width: auto; width: auto;
min-width: 200px; min-width: 200px;
align-items: center; height: 100%;
padding-left: 10px; padding-left: 10px;
cursor: pointer; cursor: pointer;
transition: all var(--pure-transition-duration) ease; transition: all var(--pure-transition-duration) ease;
img { img {
height: 32px;
display: inline-block; display: inline-block;
height: 32px;
} }
span { span {
height: 32px;
line-height: 32px;
margin: 2px 0 0 12px;
color: $subMenuActiveText;
display: inline-block; display: inline-block;
height: 32px;
margin: 2px 0 0 12px;
overflow: hidden; overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 18px; font-size: 18px;
font-weight: 600; font-weight: 600;
line-height: 32px;
color: $subMenuActiveText;
text-overflow: ellipsis;
white-space: nowrap;
} }
} }
.horizontal-header-menu { .horizontal-header-menu {
height: 100%;
min-width: 0;
flex: 1; flex: 1;
align-items: center; align-items: center;
min-width: 0;
height: 100%;
} }
.horizontal-header-right { .horizontal-header-right {
display: flex; display: flex;
min-width: 340px;
align-items: center; align-items: center;
color: $subMenuActiveText;
justify-content: flex-end; justify-content: flex-end;
min-width: 340px;
color: $subMenuActiveText;
/* 搜索 */ /* 搜索 */
.search-container, .search-container,
@ -468,19 +462,19 @@
width: 40px; width: 40px;
height: 48px; height: 48px;
padding: 11px; padding: 11px;
outline: none;
cursor: pointer;
color: $subMenuActiveText; color: $subMenuActiveText;
cursor: pointer;
outline: none;
} }
.el-dropdown-link { .el-dropdown-link {
height: 48px;
padding: 10px;
display: flex; display: flex;
cursor: pointer;
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
height: 48px;
padding: 10px;
color: $subMenuActiveText; color: $subMenuActiveText;
cursor: pointer;
p { p {
font-size: 14px; font-size: 14px;
@ -495,10 +489,10 @@
} }
.el-menu { .el-menu {
border: none;
height: 100%;
width: 100% !important; width: 100% !important;
height: 100%;
background-color: transparent; background-color: transparent;
border: none;
} }
.el-menu-item, .el-menu-item,
@ -532,8 +526,8 @@
} }
.is-active { .is-active {
transition: color 0.3s;
color: $subMenuActiveText !important; color: $subMenuActiveText !important;
transition: color 0.3s;
} }
} }
@ -553,8 +547,8 @@
} }
.sidebar-container { .sidebar-container {
transition: transform var(--pure-transition-duration);
width: $sideBarWidth; width: $sideBarWidth;
transition: transform var(--pure-transition-duration);
} }
&.hideSidebar { &.hideSidebar {
@ -569,6 +563,7 @@
body[layout="vertical"] { body[layout="vertical"] {
$sideBarWidth: 210px; $sideBarWidth: 210px;
@include merge-style($sideBarWidth); @include merge-style($sideBarWidth);
.el-menu--collapse { .el-menu--collapse {
@ -586,8 +581,8 @@ body[layout="vertical"] {
} }
.sidebar-container { .sidebar-container {
transition: width var(--pure-transition-duration);
width: 54px !important; width: 54px !important;
transition: width var(--pure-transition-duration);
.is-active.submenu-title-noDropdown.outer-most { .is-active.submenu-title-noDropdown.outer-most {
background: transparent !important; background: transparent !important;
@ -603,8 +598,8 @@ body[layout="vertical"] {
.el-sub-menu { .el-sub-menu {
& > .el-sub-menu__title { & > .el-sub-menu__title {
& > span { & > span {
height: 100%;
width: 100%; width: 100%;
height: 100%;
text-align: center; text-align: center;
visibility: visible; visibility: visible;
} }
@ -643,6 +638,7 @@ body[layout="vertical"] {
body[layout="horizontal"] { body[layout="horizontal"] {
$sideBarWidth: 0; $sideBarWidth: 0;
@include merge-style($sideBarWidth); @include merge-style($sideBarWidth);
.fixed-header, .fixed-header,
@ -657,6 +653,7 @@ body[layout="horizontal"] {
body[layout="mix"] { body[layout="mix"] {
$sideBarWidth: 210px; $sideBarWidth: 210px;
@include merge-style($sideBarWidth); @include merge-style($sideBarWidth);
.el-menu--collapse { .el-menu--collapse {
@ -674,8 +671,8 @@ body[layout="mix"] {
} }
.sidebar-container { .sidebar-container {
transition: width var(--pure-transition-duration);
width: 54px !important; width: 54px !important;
transition: width var(--pure-transition-duration);
.is-active.submenu-title-noDropdown.outer-most { .is-active.submenu-title-noDropdown.outer-most {
background: transparent !important; background: transparent !important;
@ -691,9 +688,10 @@ body[layout="mix"] {
.el-sub-menu { .el-sub-menu {
& > .el-sub-menu__title { & > .el-sub-menu__title {
padding: 0; padding: 0;
& > span { & > span {
height: 100%;
width: 100%; width: 100%;
height: 100%;
text-align: center; text-align: center;
visibility: visible; visibility: visible;
} }

View File

@ -31,6 +31,7 @@
} }
.breadcrumb-leave-active { .breadcrumb-leave-active {
position: absolute;
transition: all 0.3s; transition: all 0.3s;
} }
@ -40,10 +41,6 @@
transform: translateX(20px); transform: translateX(20px);
} }
.breadcrumb-leave-active {
position: absolute;
}
/** /**
* @description 重置el-menu的展开收起动画时长 * @description 重置el-menu的展开收起动画时长
*/ */

View File

@ -38,7 +38,7 @@ const barcodes = [
<el-link <el-link
href="https://lindell.me/JsBarcode/" href="https://lindell.me/JsBarcode/"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
JsBarcode JsBarcode
</el-link> </el-link>

View File

@ -76,7 +76,7 @@ const exportExcel = () => {
<el-link <el-link
href="https://github.com/SheetJS/sheetjs" href="https://github.com/SheetJS/sheetjs"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
github地址 github地址
</el-link> </el-link>

View File

@ -39,7 +39,7 @@ const load = () => {
<el-link <el-link
href="https://github.com/yujinpan/el-table-infinite-scroll" href="https://github.com/yujinpan/el-table-infinite-scroll"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
github地址 github地址
</el-link> </el-link>

View File

@ -52,7 +52,7 @@ const filterMethod = (query: string, node: treeNode) => {
href="https://element-plus.gitee.io/zh-CN/component/tree-v2.html" href="https://element-plus.gitee.io/zh-CN/component/tree-v2.html"
target="_blank" target="_blank"
:icon="useRenderIcon(NodeTree)" :icon="useRenderIcon(NodeTree)"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
Tree V2 Tree V2
</el-link> </el-link>

View File

@ -41,7 +41,7 @@ const onPrint = () => {
<el-link <el-link
href="https://github.com/hrynko/vue-pdf-embed" href="https://github.com/hrynko/vue-pdf-embed"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
github地址 github地址
</el-link> </el-link>

View File

@ -201,7 +201,7 @@ const tableData: User[] = [
.card-header { .card-header {
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
justify-content: space-between;
} }
</style> </style>

View File

@ -30,7 +30,7 @@ const disabledClick = () => {
<el-link <el-link
href="https://github.com/soldair/node-qrcode" href="https://github.com/soldair/node-qrcode"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
qrcode qrcode
</el-link> </el-link>

View File

@ -91,7 +91,7 @@ const swiperExample: any[] = [
<el-link <el-link
href="https://github.com/nolimits4web/swiper" href="https://github.com/nolimits4web/swiper"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
github地址 github地址
</el-link> </el-link>

View File

@ -80,26 +80,26 @@ const activities = [
<style scoped> <style scoped>
.message { .message {
position: relative;
box-sizing: border-box;
width: 200px; width: 200px;
padding: 5px 12px;
line-height: 18px;
color: #fff;
word-break: break-all;
background-color: var(--el-color-primary); background-color: var(--el-color-primary);
border-color: var(--el-color-primary); border-color: var(--el-color-primary);
color: #fff;
line-height: 18px;
padding: 5px 12px 5px 12px;
box-sizing: border-box;
border-radius: 6px; border-radius: 6px;
position: relative;
word-break: break-all;
} }
.message::after { .message::after {
content: "";
position: absolute; position: absolute;
top: 8px; top: 8px;
left: -10px; left: -10px;
width: 0; width: 0;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
content: "";
border-color: var(--el-color-primary) transparent transparent; border-color: var(--el-color-primary) transparent transparent;
border-style: solid dashed dashed; border-style: solid dashed dashed;
border-width: 10px; border-width: 10px;

View File

@ -65,9 +65,9 @@ const filteredItems = computed(() => {
<style scoped> <style scoped>
.dynamic-scroller-demo { .dynamic-scroller-demo {
overflow: hidden;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden;
} }
.scroller { .scroller {
@ -81,10 +81,10 @@ const filteredItems = computed(() => {
} }
.message { .message {
box-sizing: border-box;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
min-height: 32px; min-height: 32px;
padding: 12px; padding: 12px;
box-sizing: border-box;
} }
</style> </style>

View File

@ -16,7 +16,7 @@ defineOptions({
<el-link <el-link
href="https://github.com/Akryum/vue-virtual-scroller/tree/next/packages/vue-virtual-scroller" href="https://github.com/Akryum/vue-virtual-scroller/tree/next/packages/vue-virtual-scroller"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 5px 4px 0" style="margin: 0 5px 4px 0; font-size: 16px"
> >
github地址 github地址
</el-link> </el-link>

View File

@ -60,9 +60,9 @@ const filteredItems = computed(() => {
<style scoped> <style scoped>
.dynamic-scroller-demo { .dynamic-scroller-demo {
overflow: hidden;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden;
} }
.scroller { .scroller {
@ -70,9 +70,9 @@ const filteredItems = computed(() => {
} }
.message { .message {
box-sizing: border-box;
display: flex; display: flex;
min-height: 32px; min-height: 32px;
padding: 12px; padding: 12px;
box-sizing: border-box;
} }
</style> </style>

View File

@ -63,12 +63,12 @@ export default defineComponent({
<style scoped> <style scoped>
.wrapper { .wrapper {
display: flex; display: flex;
justify-content: center;
align-items: center; align-items: center;
justify-content: center;
width: 300px; width: 300px;
height: 200px; height: 200px;
border: 3px dashed rgba(90, 167, 164, 0.9); background-color: rgb(90 167 164 / 20%);
border: 3px dashed rgb(90 167 164 / 90%);
border-radius: 8px; border-radius: 8px;
background-color: rgba(90, 167, 164, 0.2);
} }
</style> </style>

View File

@ -98,13 +98,13 @@ export default defineComponent({
<style scoped> <style scoped>
.wrapper { .wrapper {
display: flex; display: flex;
justify-content: center;
align-items: center; align-items: center;
justify-content: center;
width: 300px; width: 300px;
height: 200px; height: 200px;
margin-bottom: 30px; margin-bottom: 30px;
border: 3px dashed rgba(90, 167, 164, 0.9); background-color: rgb(90 167 164 / 20%);
border: 3px dashed rgb(90 167 164 / 90%);
border-radius: 8px; border-radius: 8px;
background-color: rgba(90, 167, 164, 0.2);
} }
</style> </style>

View File

@ -60,12 +60,12 @@ export default ExampleSFC;
<style scoped> <style scoped>
.wrapper { .wrapper {
display: flex; display: flex;
justify-content: center;
align-items: center; align-items: center;
justify-content: center;
width: 300px; width: 300px;
height: 200px; height: 200px;
border: 3px dashed rgba(90, 167, 164, 0.9); background-color: rgb(90 167 164 / 20%);
border: 3px dashed rgb(90 167 164 / 90%);
border-radius: 8px; border-radius: 8px;
background-color: rgba(90, 167, 164, 0.2);
} }
</style> </style>

View File

@ -44,8 +44,8 @@ const onCropper = (): void => {
<style scoped> <style scoped>
.cropper-container { .cropper-container {
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
justify-content: space-between;
} }
.el-button { .el-button {

View File

@ -110,7 +110,7 @@ function addDanmu() {
<el-link <el-link
href="https://github.com/hellodigua/vue-danmaku/tree/vue3" href="https://github.com/hellodigua/vue-danmaku/tree/vue3"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
vue3-danmaku vue3-danmaku
</el-link> </el-link>
@ -197,10 +197,10 @@ function addDanmu() {
align-items: center; align-items: center;
.img { .img {
height: 25px;
width: 25px; width: 25px;
border-radius: 50%; height: 25px;
margin-right: 5px; margin-right: 5px;
border-radius: 50%;
} }
} }
} }

View File

@ -65,7 +65,7 @@ onMounted(() => {
href="https://sortablejs.github.io/vue.draggable.next/#/simple" href="https://sortablejs.github.io/vue.draggable.next/#/simple"
target="_blank" target="_blank"
:icon="useRenderIcon(Rank)" :icon="useRenderIcon(Rank)"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
vuedraggable vuedraggable
</el-link> </el-link>
@ -150,35 +150,36 @@ onMounted(() => {
/* grid列表拖拽 */ /* grid列表拖拽 */
.grid-container { .grid-container {
display: grid; display: grid;
grid-template-columns: 33.3% 33.3% 33.3%;
grid-template-rows: 33.3% 33.3% 33.3%; grid-template-rows: 33.3% 33.3% 33.3%;
grid-template-columns: 33.3% 33.3% 33.3%;
} }
.item-single { .item-single {
font-size: 1.5em;
height: 77px; height: 77px;
text-align: center; font-size: 1.5em;
line-height: 85px; line-height: 85px;
border: 1px solid #e5e4e9; text-align: center;
cursor: move; cursor: move;
border: 1px solid #e5e4e9;
} }
.item-cut { .item-cut {
font-size: 1.5em;
height: 77px; height: 77px;
font-size: 1.5em;
line-height: 77px; line-height: 77px;
text-align: center; text-align: center;
border: 1px solid #e5e4e9;
cursor: move; cursor: move;
border: 1px solid #e5e4e9;
} }
.item { .item {
font-size: 2em; font-size: 2em;
text-align: center;
line-height: 100px; line-height: 100px;
border: 1px solid #e5e4e9; text-align: center;
cursor: move; cursor: move;
@media screen and (max-width: 750px) { border: 1px solid #e5e4e9;
@media screen and (width <= 750px) {
line-height: 90px; line-height: 90px;
} }
} }

View File

@ -80,7 +80,7 @@ watch(
<el-link <el-link
href="https://github.com/leezng/vue-json-pretty" href="https://github.com/leezng/vue-json-pretty"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
vue-json-pretty vue-json-pretty
</el-link> </el-link>
@ -91,7 +91,7 @@ watch(
<el-link <el-link
href="https://github.com/surmon-china/vue-codemirror" href="https://github.com/surmon-china/vue-codemirror"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
codemirror6 codemirror6
</el-link> </el-link>

View File

@ -125,8 +125,8 @@ function changeDirection(val) {
<style lang="scss" scoped> <style lang="scss" scoped>
.card-header { .card-header {
display: flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
justify-content: space-between;
span { span {
margin-right: 20px; margin-right: 20px;
@ -134,23 +134,23 @@ function changeDirection(val) {
} }
.warp { .warp {
height: 270px;
width: 360px; width: 360px;
height: 270px;
margin: 0 auto; margin: 0 auto;
overflow: hidden; overflow: hidden;
ul { ul {
list-style: none;
padding: 0; padding: 0;
margin: 0 auto; margin: 0 auto;
list-style: none;
li, li,
a { a {
height: 30px;
line-height: 30px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
height: 30px;
font-size: 15px; font-size: 15px;
line-height: 30px;
} }
} }
} }

View File

@ -57,9 +57,9 @@ $H: 70vh;
.split-pane { .split-pane {
width: 70vw; width: 70vw;
height: $H; height: $H;
text-align: center;
font-size: 50px; font-size: 50px;
color: #fff; color: #fff;
text-align: center;
border: 1px solid #e5e6eb; border: 1px solid #e5e6eb;
.dv-a, .dv-a,
@ -67,8 +67,8 @@ $H: 70vh;
.dv-c { .dv-c {
width: $W; width: $W;
height: $W; height: $W;
color: rgba($color: dodgerblue, $alpha: 0.8);
line-height: $H; line-height: $H;
color: rgba($color: dodgerblue, $alpha: 80%);
} }
.dv-b, .dv-b,
@ -77,11 +77,11 @@ $H: 70vh;
} }
.dv-b { .dv-b {
color: rgba($color: #000, $alpha: 0.8); color: rgba($color: #000, $alpha: 80%);
} }
.dv-c { .dv-c {
color: rgba($color: #ce272d, $alpha: 0.8); color: rgba($color: #ce272d, $alpha: 80%);
} }
} }
</style> </style>

View File

@ -42,7 +42,7 @@ onMounted(() => {
href="https://v3.h5player.bytedance.com/" href="https://v3.h5player.bytedance.com/"
target="_blank" target="_blank"
:icon="useRenderIcon(VideoPlay)" :icon="useRenderIcon(VideoPlay)"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
西瓜播放器 西瓜播放器
</el-link> </el-link>

View File

@ -48,7 +48,7 @@ const handleCreated = editor => {
href="https://www.wangeditor.com" href="https://www.wangeditor.com"
target="_blank" target="_blank"
:icon="useRenderIcon(Edit)" :icon="useRenderIcon(Edit)"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
Wangeditor Wangeditor
</el-link> </el-link>

View File

@ -18,21 +18,21 @@ defineOptions({
<style lang="scss" scoped> <style lang="scss" scoped>
.back { .back {
width: 200px;
height: 200px;
cursor: pointer;
border-radius: 18px;
display: flex;
align-items: center;
justify-content: center;
position: relative; position: relative;
top: 50%; top: 50%;
left: 50%; left: 50%;
display: flex;
align-items: center;
justify-content: center;
width: 200px;
height: 200px;
cursor: pointer;
background: rgb(138 150 160 / 8%);
border-radius: 18px;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
background: rgba(138, 150, 160, 0.08);
&:hover { &:hover {
background: rgba(138, 150, 160, 0.2); background: rgb(138 150 160 / 20%);
transition: background 0.6s; transition: background 0.6s;
} }
} }

View File

@ -40,7 +40,7 @@ function initLf() {
LogicFlow.use(Menu); LogicFlow.use(Menu);
const domLf = new LogicFlow({ const domLf = new LogicFlow({
...unref(config), ...unref(config),
container: document.querySelector("#LF-Turbo") container: document.querySelector("#turbo")
}); });
lf.value = domLf; lf.value = domLf;
// bpmn:sequenceFlow // bpmn:sequenceFlow
@ -74,7 +74,7 @@ onMounted(() => {
href="http://logic-flow.org/" href="http://logic-flow.org/"
target="_blank" target="_blank"
:icon="useRenderIcon(SetUp)" :icon="useRenderIcon(SetUp)"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
LogicFlow LogicFlow
</el-link> </el-link>
@ -93,7 +93,7 @@ onMounted(() => {
<!-- 节点面板 --> <!-- 节点面板 -->
<NodePanel :lf="lf" :nodeList="nodeList" /> <NodePanel :lf="lf" :nodeList="nodeList" />
<!-- 画布 --> <!-- 画布 -->
<div id="LF-Turbo" /> <div id="turbo" />
<!-- 数据查看面板 --> <!-- 数据查看面板 -->
<el-dialog <el-dialog
class="flow-dialog" class="flow-dialog"
@ -110,19 +110,19 @@ onMounted(() => {
</template> </template>
<style scoped> <style scoped>
#LF-Turbo { #turbo {
width: 100%; width: 100%;
height: 70vh; height: 70vh;
} }
.logic-flow-view { .logic-flow-view {
margin: 10px;
position: relative; position: relative;
margin: 10px;
} }
.demo-title { .demo-title {
text-align: center;
margin: 20px; margin: 20px;
text-align: center;
} }
.demo-control { .demo-control {
@ -139,23 +139,23 @@ onMounted(() => {
.add-panel { .add-panel {
position: absolute; position: absolute;
z-index: 11; z-index: 11;
background-color: white;
padding: 10px 5px; padding: 10px 5px;
background-color: white;
} }
.el-drawer__body { .el-drawer__body {
height: 80%;
overflow: auto;
margin-top: -30px;
z-index: 3; z-index: 3;
height: 80%;
margin-top: -30px;
overflow: auto;
} }
:deep(.flow-dialog) { :deep(.flow-dialog) {
transform: none;
left: 0;
top: 5vh;
position: relative; position: relative;
top: 5vh;
left: 0;
margin: 0 auto; margin: 0 auto;
transform: none;
} }
:deep(.flow-dialog) .el-dialog__body { :deep(.flow-dialog) .el-dialog__body {

View File

@ -94,25 +94,25 @@ const cardLogoClass = computed(() => [
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-bottom: 12px; margin-bottom: 12px;
border-radius: 3px;
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
border-radius: 3px;
&_detail { &_detail {
flex: 1; flex: 1;
padding: 24px 32px;
min-height: 140px; min-height: 140px;
padding: 24px 32px;
&--logo { &--logo {
display: flex;
align-items: center;
justify-content: center;
width: 56px; width: 56px;
height: 56px; height: 56px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
background: #e0ebff;
font-size: 32px; font-size: 32px;
color: #0052d9; color: #0052d9;
background: #e0ebff;
border-radius: 50%;
&__disabled { &__disabled {
color: #a1c4ff; color: #a1c4ff;
@ -129,21 +129,21 @@ const cardLogoClass = computed(() => [
} }
&--name { &--name {
margin: 24px 0 8px 0; margin: 24px 0 8px;
font-size: 16px; font-size: 16px;
font-weight: 400; font-weight: 400;
} }
&--desc { &--desc {
display: -webkit-box;
height: 40px;
margin-bottom: 24px;
overflow: hidden;
font-size: 12px; font-size: 12px;
line-height: 20px; line-height: 20px;
overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
margin-bottom: 24px;
height: 40px;
} }
} }

View File

@ -22,7 +22,7 @@ function tabClick({ index }) {
<el-link <el-link
href="https://github.com/pure-admin/pure-admin-table" href="https://github.com/pure-admin/pure-admin-table"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
@pureadmin/table @pureadmin/table
</el-link> </el-link>

View File

@ -24,7 +24,7 @@ function tabClick({ index }) {
<el-link <el-link
href="https://github.com/pure-admin/pure-admin-table" href="https://github.com/pure-admin/pure-admin-table"
target="_blank" target="_blank"
style="font-size: 16px; margin: 0 4px 5px" style="margin: 0 4px 5px; font-size: 16px"
> >
@pureadmin/table @pureadmin/table
</el-link> </el-link>

View File

@ -58,7 +58,7 @@ const columns = [
role="img" role="img"
aria-label="dingding" aria-label="dingding"
class="anticon anticon-dingding flex items-center cursor-pointer" class="anticon anticon-dingding flex items-center cursor-pointer"
style="color: rgb(0, 160, 233); margin-left: 8px" style="margin-left: 8px; color: rgb(0 160 233)"
> >
<svg <svg
viewBox="64 64 896 896" viewBox="64 64 896 896"

View File

@ -281,6 +281,6 @@ axios
} }
.main-content { .main-content {
margin: 20px 20px 0 20px !important; margin: 20px 20px 0 !important;
} }
</style> </style>