91 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			SCSS
		
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			SCSS
		
	
	
| /* ==================
 | |
|           阴影
 | |
|  ==================== */
 | |
| 
 | |
| .shadow {
 | |
|   box-shadow: var(--ui-Shadow);
 | |
|   &-sm {
 | |
|     box-shadow: var(--ui-Shadow-sm);
 | |
|   }
 | |
|   &-lg {
 | |
|     box-shadow: var(--ui-Shadow-lg);
 | |
|   }
 | |
|   &-inset {
 | |
|     box-shadow: var(--ui-Shadow-inset);
 | |
|   }
 | |
|   @each $color, $value in $colors {
 | |
|     @at-root .shadow-#{$color} {
 | |
|       box-shadow: 0 0.5em 1em rgba($value, var(--ui-Shadow-opacity));
 | |
|     }
 | |
|     &-sm.shadow-#{$color} {
 | |
|       box-shadow: 0 0.125em 0.25em rgba($value, var(--ui-Shadow-opacity));
 | |
|     }
 | |
|     &-lg.shadow-#{$color} {
 | |
|       box-shadow: 0 1em 3em rgba($value, var(--ui-Shadow-opacity-lg));
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   &-warp {
 | |
|     position: relative;
 | |
|   }
 | |
|   &-warp:before,
 | |
|   &-warp:after {
 | |
|     position: absolute;
 | |
|     content: '';
 | |
|     bottom: -10rpx;
 | |
|     left: 20rpx;
 | |
|     width: calc(50% - #{40rpx});
 | |
|     height: 30rpx;
 | |
|     transform: skew(0deg, -6deg);
 | |
|     transform-origin: 50% 50%;
 | |
|     background-color: rgba(0, 0, 0, var(--ui-Shadow-opacity));
 | |
|     filter: blur(20rpx);
 | |
|     z-index: -1;
 | |
|     opacity: 0.5;
 | |
|   }
 | |
|   &-warp:after {
 | |
|     right: 20rpx;
 | |
|     left: auto;
 | |
|     transform: skew(0deg, 6deg);
 | |
|   }
 | |
|   &-blur {
 | |
|     position: relative;
 | |
|   }
 | |
|   &-blur::before {
 | |
|     content: '';
 | |
|     display: block;
 | |
|     background: inherit;
 | |
|     filter: blur(20rpx);
 | |
|     position: absolute;
 | |
|     width: 100%;
 | |
|     height: 100%;
 | |
|     top: 0.5em;
 | |
|     left: 0.5em;
 | |
|     z-index: -1;
 | |
|     opacity: var(--ui-Shadow-opacity-lg);
 | |
|     transform-origin: 0 0;
 | |
|     border-radius: inherit;
 | |
|     transform: scale(1, 1);
 | |
|   }
 | |
| }
 | |
| .drop-shadow {
 | |
|   filter: drop-shadow(0 0 30rpx rgba(0, 0, 0, 0.1));
 | |
|   &-sm {
 | |
|     filter: drop-shadow(0 4rpx 4rpx rgba(0, 0, 0, 0.06));
 | |
|   }
 | |
|   &-lg {
 | |
|     filter: drop-shadow(0 30rpx 60rpx rgba(0, 0, 0, 0.2));
 | |
|   }
 | |
|   @each $color, $value in $colors {
 | |
|     @at-root .drop-shadow-#{$color} {
 | |
|       filter: drop-shadow(0 15rpx 15rpx rgba(darken($value, 10%), 0.3));
 | |
|     }
 | |
|     &-sm.drop-shadow-#{$color} {
 | |
|       filter: drop-shadow(0 4rpx 4rpx rgba(darken($value, 10%), 0.3));
 | |
|     }
 | |
|     &-lg.drop-shadow-#{$color} {
 | |
|       filter: drop-shadow(0 50rpx 100rpx rgba(darken($value, 10%), 0.2));
 | |
|     }
 | |
|   }
 | |
| }
 |