feat: dialog 样式行为优化

This commit is contained in:
ZRMYDYCG 2025-06-18 19:04:27 +08:00
parent 682d9a408e
commit 7905dbe470
5 changed files with 60 additions and 15 deletions

View File

@ -1,4 +1,5 @@
<script setup lang="ts"></script>
<script setup lang="ts">
</script>
<template>
<router-view />

View File

@ -113,8 +113,8 @@ function onAfterLeave() {
/* 动画样式(仅作用于弹框) */
.dialog-zoom-enter-active,
.dialog-zoom-leave-active {
transition: all 0.3s ease-in-out;
transform-origin: center;
transition: all 0.3s ease-in-out;
}
.dialog-zoom-enter-from,
.dialog-zoom-leave-to {
@ -141,8 +141,8 @@ function onAfterLeave() {
overflow: hidden;
user-select: none;
background-color: rgb(0 0 0 / 50%);
backdrop-filter: blur(3px);
opacity: 1;
backdrop-filter: blur(3px);
transition: opacity 0.3s;
}
.mask[hidden] {
@ -189,9 +189,9 @@ function onAfterLeave() {
height: 40px;
padding: 4px;
background: var(--login-dialog-logo-background);
filter: drop-shadow(0 4px 4px rgb(0 0 0 / 10%));
border-radius: 12px;
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 8%);
filter: drop-shadow(0 4px 4px rgb(0 0 0 / 10%));
}
.left-section .logo-wrap .logo-text {
font-size: 16px;

View File

@ -329,12 +329,12 @@ function handleMenuCommand(command: string, item: ConversationItem<ChatSessionVo
0 10px 20px 0 rgb(0 0 0 / 10%),
0 0 1px 0 rgb(0 0 0 / 15%);
opacity: 0;
transition: opacity 0.3s ease 0.3s, transform 0.3s ease 0.3s;
//
//
transform: translateX(-100%);
transition: opacity 0.3s ease 0.3s, transform 0.3s ease 0.3s;
/* 新增:未激活悬停时覆盖延迟 */
&.no-delay {
@ -358,10 +358,10 @@ function handleMenuCommand(command: string, item: ConversationItem<ChatSessionVo
// aside-container-suspended
opacity: 1;
transition: opacity 0.3s ease 0s, transform 0.3s ease 0s;
// 沿
transform: translateX(15px);
transition: opacity 0.3s ease 0s, transform 0.3s ease 0s;
// -
.conversations-wrap {

View File

@ -1,15 +1,15 @@
.el-form{
.el-form-item{
&:nth-last-child(1){
margin-bottom: 0px;
margin-bottom: 0;
}
}
}
// el 弹框不知道为啥宽度会变大
.el-popup-parent--hidden {
overflow: hidden;
width: 100% !important;
overflow: hidden;
}
@ -22,29 +22,73 @@
// rounded-tooltip 提示框样式
.rounded-tooltip {
border-radius: 10px !important;
display: flex;
align-items: center;
height: fit-content;
border-radius: 10px !important;
}
.rounded-tooltip-enter-from {
transform: scale(0.9); /* 进入前:缩小隐藏 */
opacity: 0;
transform: scale(0.9); /* 进入前:缩小隐藏 */
}
.rounded-tooltip-enter-active,
.rounded-tooltip-leave-active {
transition: transform 0.3s, opacity 0.3s; /* 缓入动画 */
}
.rounded-tooltip-enter-to {
transform: scale(1); /* 进入后:正常大小 */
opacity: 1;
transform: scale(1); /* 进入后:正常大小 */
}
.rounded-tooltip-leave-from {
transform: scale(1); /* 离开前:正常大小 */
opacity: 1;
transform: scale(1); /* 离开前:正常大小 */
}
.rounded-tooltip-leave-to {
transform: scale(0.9); /* 离开后:缩小隐藏 */
opacity: 0;
transform: scale(0.9); /* 离开后:缩小隐藏 */
}
/* S Dialog 样式行为 */
.dialog-fade-enter-active .el-dialog {
animation: dialog-open 0.2s cubic-bezier(0.33, 0.89, 0.25, 1.02);
}
.dialog-fade-leave-active {
animation: fade-out 0.2s linear;
}
.dialog-fade-leave-active .el-dialog {
animation: dialog-close 0.2s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
@keyframes dialog-open {
0% {
opacity: 0;
transform: scale(0.2);
}
100% {
opacity: 1;
transform: scale(1);
}
}
@keyframes dialog-close {
0% {
opacity: 1;
transform: scale(1);
}
100% {
opacity: 0;
transform: scale(0.2);
}
}
// 遮罩层动画
@keyframes fade-out {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
/* E Dialog 样式行为 */

View File

@ -13,7 +13,7 @@
--login-dialog-section-padding: 0px;
--login-dialog-border-radius: 24px;
--login-dialog-mode-toggle-color: #409eff;
--login-dialog-logo-background: #fff;
--login-dialog-logo-background: #ffffff;
--login-dialog-logo-text-color: #191919;