ant-design/components/notification/style/index.less

193 lines
4.0 KiB
Plaintext
Raw Normal View History

2018-12-07 16:17:45 +08:00
@import '../../style/themes/default';
@import '../../style/mixins/index';
2015-07-28 15:40:28 +08:00
2018-12-07 16:17:45 +08:00
@notification-prefix-cls: ~'@{ant-prefix}-notification';
@notification-width: 384px;
@notification-padding-vertical: 16px;
@notification-padding-horizontal: 24px;
@notification-padding: @notification-padding-vertical @notification-padding-horizontal;
@notification-margin-bottom: 16px;
2015-07-28 15:40:28 +08:00
2015-08-20 16:55:42 +08:00
.@{notification-prefix-cls} {
.reset-component;
2015-07-28 15:40:28 +08:00
position: fixed;
2016-03-28 16:01:37 +08:00
z-index: @zindex-notification;
width: @notification-width;
2018-12-07 16:17:45 +08:00
max-width: ~'calc(100vw - 32px)';
2015-08-03 15:17:12 +08:00
margin-right: 24px;
2015-07-28 15:40:28 +08:00
&-topLeft,
&-bottomLeft {
margin-right: 0;
margin-left: 24px;
.@{notification-prefix-cls}-fade-enter.@{notification-prefix-cls}-fade-enter-active,
.@{notification-prefix-cls}-fade-appear.@{notification-prefix-cls}-fade-appear-active {
animation-name: NotificationLeftFadeIn;
}
}
&-close-icon {
font-size: @font-size-base;
cursor: pointer;
}
2015-07-28 15:40:28 +08:00
&-notice {
position: relative;
margin-bottom: @notification-margin-bottom;
padding: @notification-padding;
2015-07-28 15:40:28 +08:00
overflow: hidden;
line-height: 1.5;
background: @component-background;
border-radius: @border-radius-base;
box-shadow: @shadow-2;
2015-07-28 15:40:28 +08:00
2016-04-10 13:08:56 +08:00
&-message {
display: inline-block;
margin-bottom: 8px;
color: @heading-color;
font-size: @font-size-lg;
line-height: 24px;
// https://github.com/ant-design/ant-design/issues/5846#issuecomment-296244140
&-single-line-auto-margin {
display: block;
2018-12-07 16:17:45 +08:00
width: ~'calc(@{notification-width} - @{notification-padding-horizontal} * 2 - 24px - 48px - 100%)';
max-width: 4px;
background-color: transparent;
pointer-events: none;
&::before {
display: block;
content: '';
}
}
2016-04-10 13:08:56 +08:00
}
&-description {
font-size: @font-size-base;
}
&-closable &-message {
2016-08-28 17:16:43 +08:00
padding-right: 24px;
}
&-with-icon &-message {
2016-04-10 13:08:56 +08:00
margin-bottom: 4px;
margin-left: 48px;
font-size: @font-size-lg;
2015-07-28 15:40:28 +08:00
}
2016-08-28 17:16:43 +08:00
&-with-icon &-description {
margin-left: 48px;
2016-04-10 13:08:56 +08:00
font-size: @font-size-base;
}
.@{iconfont-css-prefix}&-icon {
position: absolute;
margin-left: 4px;
2018-09-06 23:14:14 +08:00
font-size: 24px;
line-height: 24px;
2016-04-10 13:08:56 +08:00
&-success {
color: @success-color;
2015-07-28 15:40:28 +08:00
}
2016-04-10 13:08:56 +08:00
&-info {
color: @info-color;
2015-07-28 15:40:28 +08:00
}
2016-04-10 13:08:56 +08:00
&-warning {
color: @warning-color;
}
&-error {
color: @error-color;
2015-07-28 15:40:28 +08:00
}
}
&-close {
position: absolute;
top: 16px;
right: 22px;
color: @text-color-secondary;
2015-07-28 15:40:28 +08:00
outline: none;
2016-08-28 17:16:43 +08:00
&:hover {
color: shade(@text-color-secondary, 40%);
2016-08-28 17:16:43 +08:00
}
2015-07-28 15:40:28 +08:00
}
2015-08-04 15:16:10 +08:00
2016-04-10 13:08:56 +08:00
&-btn {
2015-07-28 15:40:28 +08:00
float: right;
margin-top: 16px;
}
}
2015-11-26 19:32:55 +08:00
.notification-fade-effect {
2016-01-18 14:19:09 +08:00
animation-duration: 0.24s;
2015-08-12 18:08:06 +08:00
animation-timing-function: @ease-in-out;
animation-fill-mode: both;
2015-08-12 18:08:06 +08:00
}
2015-11-26 19:32:55 +08:00
&-fade-enter,
&-fade-appear {
2015-07-28 15:40:28 +08:00
opacity: 0;
2015-08-24 00:50:22 +08:00
.notification-fade-effect();
2015-08-12 18:08:06 +08:00
animation-play-state: paused;
2015-07-28 15:40:28 +08:00
}
2015-08-12 18:08:06 +08:00
&-fade-leave {
2015-08-24 00:50:22 +08:00
.notification-fade-effect();
2016-01-18 14:19:09 +08:00
animation-duration: 0.2s;
2015-08-12 18:08:06 +08:00
animation-play-state: paused;
2015-07-28 15:40:28 +08:00
}
2015-11-26 19:32:55 +08:00
&-fade-enter&-fade-enter-active,
&-fade-appear&-fade-appear-active {
2015-08-12 18:08:06 +08:00
animation-name: NotificationFadeIn;
animation-play-state: running;
2015-07-28 15:40:28 +08:00
}
&-fade-leave&-fade-leave-active {
2015-08-12 18:08:06 +08:00
animation-name: NotificationFadeOut;
animation-play-state: running;
}
2015-11-26 19:32:55 +08:00
}
2015-08-12 18:08:06 +08:00
2015-11-26 19:32:55 +08:00
@keyframes NotificationFadeIn {
0% {
left: @notification-width;
opacity: 0;
2015-11-26 19:32:55 +08:00
}
100% {
left: 0;
opacity: 1;
2015-08-12 18:08:06 +08:00
}
2015-11-26 19:32:55 +08:00
}
2015-08-12 18:08:06 +08:00
@keyframes NotificationLeftFadeIn {
0% {
right: @notification-width;
opacity: 0;
}
100% {
right: 0;
opacity: 1;
}
}
2015-11-26 19:32:55 +08:00
@keyframes NotificationFadeOut {
0% {
max-height: 150px;
margin-bottom: @notification-margin-bottom;
padding-top: @notification-padding;
padding-bottom: @notification-padding;
opacity: 1;
2015-11-26 19:32:55 +08:00
}
100% {
max-height: 0;
2015-11-26 19:32:55 +08:00
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
opacity: 0;
2015-07-28 15:40:28 +08:00
}
2015-08-04 15:16:10 +08:00
}