287 lines
4.9 KiB
SCSS
287 lines
4.9 KiB
SCSS
/* ==================
|
||
常用工具
|
||
==================== */
|
||
|
||
.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;
|
||
}
|