naive-ui/styles/Modal.scss
2020-03-16 16:54:16 +08:00

88 lines
1.8 KiB
SCSS

@import './mixins/mixins.scss';
@include themes-mixin {
@include b(modal-content) {
@include b(card) {
background-color: $--n-modal-background-color;
}
@include once {
@include b(confirm) {
width: 446px;
max-width: calc(100vw - 32px);
}
}
}
}
@include b(modal-container) {
position: fixed;
left: 0;
top: 0;
height: 0;
width: 0;
display: flex;
}
@include b(modal-overlay) {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
background-color: rgba(0, 0, 0, .4);
&#{&}-transition-enter-active {
transition: background-color .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
&#{&}-transition-leave-active {
transition: background-color .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
&#{&}-transition-enter, &#{&}-transition-leave-to {
background-color: rgba(0, 0, 0, 0);
}
}
@include b(modal-content) {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
overflow: visible;
& > {
@include b(scrollbar) {
& > {
@include b(scrollbar-container) {
& > {
@include b(scrollbar-content) {
min-height: 100%;
display: flex;
}
}
}
}
}
}
@include not-m(active) {
visibility: hidden;
}
}
@include b(modal-content-slot) {
position: relative;
&#{&}-transition-enter-active {
opacity: 1;
transition: opacity .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(0.0, 0.0, 0.2, 1);
transform: $--n-transform-debounce-scale;
}
&#{&}-transition-leave-active {
opacity: 1;
transition: opacity .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(0.4, 0.0, 1, 1);
transform: $--n-transform-debounce-scale;
}
&#{&}-transition-enter, &#{&}-transition-leave-to {
opacity: 0;
transform: scale(.5);
}
}