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

199 lines
4.0 KiB
Plaintext
Raw Normal View History

@import "../../style/themes/default";
@import "../../style/mixins/index";
2015-07-28 15:40:28 +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;
2015-08-03 15:17:12 +08:00
margin-right: 24px;
2015-07-28 15:40:28 +08:00
&-topLeft,
&-bottomLeft {
margin-left: 24px;
margin-right: 0;
.@{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;
}
}
2015-07-28 15:40:28 +08:00
&-notice {
padding: @notification-padding;
2015-07-28 15:40:28 +08:00
border-radius: @border-radius-base;
2016-04-17 18:19:22 +08:00
box-shadow: @shadow-2;
background: @component-background;
2015-07-28 15:40:28 +08:00
line-height: 1.5;
position: relative;
margin-bottom: @notification-margin-bottom;
2015-07-28 15:40:28 +08:00
overflow: hidden;
2016-04-10 13:08:56 +08:00
&-message {
2016-11-08 21:07:01 +08:00
font-size: @font-size-lg;
2016-08-28 17:16:43 +08:00
color: @heading-color;
margin-bottom: 8px;
line-height: 24px;
display: inline-block;
// https://github.com/ant-design/ant-design/issues/5846#issuecomment-296244140
&-single-line-auto-margin {
width: ~"calc(@{notification-width} - @{notification-padding-horizontal} * 2 - 24px - 48px - 100%)";
background-color: transparent;
pointer-events: none;
display: block;
max-width: 4px;
&:before {
content: '';
display: block;
padding-bottom: 100%;
}
}
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-11-08 21:07:01 +08:00
font-size: @font-size-lg;
2016-08-28 17:16:43 +08:00
margin-left: 48px;
2016-04-10 13:08:56 +08:00
margin-bottom: 4px;
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;
}
&-icon {
position: absolute;
font-size: 24px;
line-height: 24px;
margin-left: 4px;
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
}
}
2015-07-29 20:08:16 +08:00
&-close-x:after {
2016-08-28 17:16:43 +08:00
font-size: @font-size-base;
content: "\e633";
2015-07-28 15:40:28 +08:00
font-family: "anticon";
cursor: pointer;
}
&-close {
position: absolute;
right: 22px;
top: 16px;
color: @text-color-secondary;
2015-07-28 15:40:28 +08:00
outline: none;
a&:focus {
text-decoration: none;
}
2016-08-28 17:16:43 +08:00
&:hover {
color: #404040;
}
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-fill-mode: both;
animation-timing-function: @ease-in-out;
}
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% {
opacity: 0;
left: @notification-width;
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% {
opacity: 0;
right: @notification-width;
}
100% {
right: 0;
opacity: 1;
}
}
2015-11-26 19:32:55 +08:00
@keyframes NotificationFadeOut {
0% {
opacity: 1;
margin-bottom: @notification-margin-bottom;
padding-top: @notification-padding;
padding-bottom: @notification-padding;
2015-11-26 19:32:55 +08:00
max-height: 150px;
}
100% {
opacity: 0;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
max-height: 0;
2015-07-28 15:40:28 +08:00
}
2015-08-04 15:16:10 +08:00
}