| @use './var.scss' as *; | 
|   | 
| @mixin multi-ellipsis($lines) { | 
|   display: -webkit-box; | 
|   | 
|   overflow: hidden; | 
|   text-overflow: ellipsis; | 
|   -webkit-line-clamp: $lines; | 
|   -webkit-box-orient: vertical; | 
| } | 
|   | 
| @mixin ellipsis() { | 
|   overflow: hidden; | 
|   white-space: nowrap; | 
|   text-overflow: ellipsis; | 
| } | 
|   | 
| .ellipsis { | 
|   @include ellipsis(); | 
| } | 
|   | 
| .multi-ellipsis--l2 { | 
|   @include multi-ellipsis(2); | 
| } | 
|   | 
| .multi-ellipsis--l3 { | 
|   @include multi-ellipsis(3); | 
| } | 
|   | 
| .multi-ellipsis--l9 { | 
|   @include multi-ellipsis(9); | 
| } | 
|   | 
| @mixin infiniteLoadingInTabBarPage { | 
|   .loading-more-tips, | 
|   .infiniting-tips { | 
|     padding-bottom: 40px; | 
|   } | 
| } | 
|   | 
| @mixin safe-area-bottom() { | 
|   padding-bottom: constant(safe-area-inset-bottom); | 
|   padding-bottom: env(safe-area-inset-bottom); | 
| } | 
|   | 
| @mixin listScrollViewWithNoPadding { | 
|   flex: 1; | 
|   min-height: 0; | 
|   box-sizing: border-box; | 
| } | 
|   | 
| @mixin listScrollView { | 
|   padding: 0 map-get($bole-size, 'body-padding-h'); | 
|   @include listScrollViewWithNoPadding; | 
| } | 
|   | 
| @mixin infiniteLoadingInTabBarPage { | 
|   .loading-more-tips, | 
|   .infiniting-tips { | 
|     padding-bottom: 50px; | 
|   } | 
| } | 
|   | 
| @mixin ScrollViewInner { | 
|   // padding: 20px 0; | 
|   padding-bottom: 24px; | 
| } | 
|   | 
| @mixin hiddenScrollBar { | 
|   ::-webkit-scrollbar { | 
|     display: none; | 
|     width: 0; | 
|     height: 0; | 
|     color: transparent; | 
|   } | 
| } |