/* ================== 常用工具 ==================== */ .ss-bg-opactity-block { background-color: rgba(#000, 0.2); color: #fff; } /* ================== flex布局 ==================== */ .ss-flex { display: flex; flex-direction: row; align-items: center; } .ss-flex-1 { flex: 1; } .ss-flex-col { display: flex; flex-direction: column; } .ss-flex-wrap { flex-wrap: wrap; } .ss-flex-nowrap { flex-wrap: nowrap; } .ss-col-center { align-items: center; } .ss-col-top { align-items: flex-start; } .ss-col-bottom { align-items: flex-end; } .ss-col-stretch { align-items: stretch; } .ss-row-center { justify-content: center; } .ss-row-left { justify-content: flex-start; } .ss-row-right { justify-content: flex-end; } .ss-row-between { justify-content: space-between; } .ss-row-around { justify-content: space-around; } .ss-self-start { align-self: flex-start; } .ss-self-end { align-self: flex-end; } .ss-self-center { align-self: center; } .ss-h-100 { height: 100%; } .ss-w-100 { width: 100%; } /* ================== margin padding: 内外边距 ==================== */ @for $i from 0 through 100 { // 只要双数和能被5除尽的数 @if $i % 2==0 or $i % 5==0 { // 得出:u-margin-30或者u-m-30 .ss-margin-#{$i}, .ss-m-#{$i} { margin: $i + rpx; } .ss-m-x-#{$i} { margin-left: $i + rpx; margin-right: $i + rpx; } .ss-m-y-#{$i} { margin-top: $i + rpx; margin-bottom: $i + rpx; } // 得出:u-padding-30或者u-p-30 .ss-padding-#{$i}, .ss-p-#{$i} { padding: $i + rpx; } .ss-p-x-#{$i} { padding-left: $i + rpx; padding-right: $i + rpx; } .ss-p-y-#{$i} { padding-top: $i + rpx; padding-bottom: $i + rpx; } @each $short, $long in l left, t top, r right, b bottom { // 缩写版,结果如: u-m-l-30 // 定义外边距 .ss-m-#{$short}-#{$i} { margin-#{$long}: $i + rpx; } // 定义内边距 .ss-p-#{$short}-#{$i} { padding-#{$long}: $i + rpx; } // 完整版,结果如:u-margin-left-30 // 定义外边距 .ss-margin-#{$long}-#{$i} { margin-#{$long}: $i + rpx; } // 定义内边距 .ss-padding-#{$long}-#{$i} { padding-#{$long}: $i + rpx; } } } } /* ================== radius ==================== */ @for $i from 0 through 100 { // 只要双数和能被5除尽的数 @if $i % 2==0 or $i % 5==0 { .ss-radius-#{$i}, .ss-r-#{$i} { border-radius: $i + rpx; } .ss-r-t-#{$i} { border-top-left-radius: $i + rpx; border-top-right-radius: $i + rpx; } .ss-r-b-#{$i} { border-bottom-left-radius: $i + rpx; border-bottom-right-radius: $i + rpx; } @each $short, $long in tl 'top-left', tr 'top-right', bl 'bottom-right', br 'bottom-right' { // 定义外边距 .ss-r-#{$short}-#{$i} { border-#{$long}-radius: $i + rpx; } // 定义内边距 .ss-radius-#{$long}-#{$i} { border-#{$long}-radius: $i + rpx; } } } } /* ================== 溢出省略号 @param {Number} 行数 ==================== */ @mixin ellipsis($rowCount: 1) { // @if $rowCount <=1 { // overflow: hidden; // text-overflow: ellipsis; // white-space: nowrap; // } @else { // min-width: 0; // overflow: hidden; // text-overflow: ellipsis; // display: -webkit-box; // -webkit-line-clamp: $rowCount; // -webkit-box-orient: vertical; // } min-width: 0; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: $rowCount; -webkit-box-orient: vertical; } @for $i from 1 through 6 { .ss-line-#{$i} { @include ellipsis($i); } } /* ================== hover ==================== */ .ss-hover-class { background-color: $gray-c; opacity: 0.6; } .ss-hover-btn { transform: translate(1px, 1px); } /* ================== 底部安全区域 ==================== */ .ss-safe-bottom { padding-bottom: 0; padding-bottom: calc(constant(safe-area-inset-bottom) / 5 * 3); padding-bottom: calc(env(safe-area-inset-bottom) / 5 * 3); } /* ================== 字体大小 ==================== */ @for $i from 20 through 50 { .ss-font-#{$i} { font-size: $i + rpx; } } /* ================== 按钮 ==================== */ .ss-reset-button { padding: 0; margin: 0; font-size: inherit; background-color: transparent; color: inherit; position: relative; border: 0rpx; /* #ifndef APP-NVUE */ display: flex; /* #endif */ align-items: center; justify-content: center; box-sizing: border-box; text-align: center; text-decoration: none; white-space: nowrap; vertical-align: baseline; transform: translate(0, 0); } .ss-reset-button.button-hover { transform: translate(1px, 1px); background: none; } .ss-reset-button::after { border: none; }