731 lines
14 KiB
SCSS
731 lines
14 KiB
SCSS
$direction: top, right, bottom, left;
|
||
|
||
body {
|
||
// 全局灰白效果
|
||
/* filter: grayscale(100%);
|
||
-webkit-filter: grayscale(100%); */
|
||
|
||
background-color: $tn-bg-color;
|
||
/* background-color: #ffffff; */
|
||
font-size: 28rpx;
|
||
color: $tn-font-color;
|
||
font-family: Helvetica Neue, Helvetica, sans-serif;
|
||
// 修复点击view标签的时候会有蓝色遮罩
|
||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||
}
|
||
|
||
view,
|
||
scroll-view,
|
||
swiper,
|
||
button,
|
||
input,
|
||
textarea,
|
||
label,
|
||
navigator,
|
||
image {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
button::after {
|
||
border: none;
|
||
}
|
||
|
||
.tn-round {
|
||
border-radius: 5000rpx !important;
|
||
}
|
||
|
||
.tn-radius {
|
||
border-radius: 6rpx;
|
||
}
|
||
|
||
/* 基本样式 start */
|
||
|
||
.tn-width-full {
|
||
width: 100%;
|
||
}
|
||
|
||
.tn-height-full {
|
||
height: 100%;
|
||
}
|
||
|
||
/* 基本样式 end */
|
||
|
||
|
||
/* 边框 start */
|
||
|
||
.tn-border-solid,
|
||
.tn-border-solid-top,
|
||
.tn-border-solid-right,
|
||
.tn-border-solid-bottom,
|
||
.tn-border-solid-left,
|
||
.tn-border-solids,
|
||
.tn-border-solids-top,
|
||
.tn-border-solids-right,
|
||
.tn-border-solids-bottom,
|
||
.tn-border-solids-left,
|
||
.tn-border-dashed,
|
||
.tn-border-dashed-top,
|
||
.tn-border-dashed-right,
|
||
.tn-border-dashed-bottom,
|
||
.tn-border-dashed-left {
|
||
border-radius: inherit;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
@for $i from 0 to length($direction) + 1 {
|
||
@if $i == 0 {
|
||
.tn-border-solid {
|
||
border-width: 1rpx !important;
|
||
border-style: solid;
|
||
border-color: $tn-border-solid-color;
|
||
|
||
&.tn-bold-border {
|
||
border-width: 6rpx !important;
|
||
}
|
||
}
|
||
.tn-border-solids {
|
||
border-width: 1rpx !important;
|
||
border-style: solid;
|
||
border-color: $tn-border-solids-color;
|
||
|
||
&.tn-bold-border {
|
||
border-width: 6rpx !important;
|
||
}
|
||
}
|
||
.tn-border-dashed {
|
||
border-width: 1rpx !important;
|
||
border-style: dashed;
|
||
border-color: $tn-border-dashed-color;
|
||
|
||
&.tn-bold-border {
|
||
border-width: 6rpx !important;
|
||
}
|
||
}
|
||
} @else {
|
||
.tn-border-solid-#{nth($direction, $i)} {
|
||
border: 0rpx;
|
||
border-#{nth($direction, $i)}-width: 1rpx !important;
|
||
border-style: solid;
|
||
border-color: $tn-border-solid-color;
|
||
|
||
&.tn-bold-border {
|
||
border-#{nth($direction, $i)}-width: 6rpx !important;
|
||
}
|
||
}
|
||
.tn-border-solids-#{nth($direction, $i)} {
|
||
border: 0rpx;
|
||
border-#{nth($direction, $i)}-width: 1rpx !important;
|
||
border-style: solid;
|
||
border-color: $tn-border-solids-color;
|
||
|
||
&.tn-bold-border {
|
||
border-#{nth($direction, $i)}-width: 6rpx !important;
|
||
}
|
||
}
|
||
.tn-border-dashed-#{nth($direction, $i)} {
|
||
border: 0rpx;
|
||
border-#{nth($direction, $i)}-width: 1rpx !important;
|
||
border-style: dashed;
|
||
border-color: $tn-border-dashed-color;
|
||
|
||
&.tn-bold-border {
|
||
border-#{nth($direction, $i)}-width: 6rpx !important;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.tn-none-border.tn-border-solid,
|
||
.tn-none-border.tn-border-solid-top,
|
||
.tn-none-border.tn-border-solid-right,
|
||
.tn-none-border.tn-border-solid-bottom,
|
||
.tn-none-border.tn-border-solid-left,
|
||
.tn-none-border.tn-border-solids,
|
||
.tn-none-border.tn-border-solids-top,
|
||
.tn-none-border.tn-border-solids-right,
|
||
.tn-none-border.tn-border-solids-bottom,
|
||
.tn-none-border.tn-border-solids-left,
|
||
.tn-none-border.tn-border-dashed,
|
||
.tn-none-border.tn-border-dashed-top,
|
||
.tn-none-border.tn-border-dashed-right,
|
||
.tn-none-border.tn-border-dashed-bottom,
|
||
.tn-none-border.tn-border-dashed-left {
|
||
border: 0 !important;
|
||
}
|
||
|
||
.tn-none-border-top.tn-border-solid,
|
||
.tn-none-border-top.tn-border-solid-top,
|
||
.tn-none-border-top.tn-border-solid-right,
|
||
.tn-none-border-top.tn-border-solid-bottom,
|
||
.tn-none-border-top.tn-border-solid-left,
|
||
.tn-none-border-top.tn-border-solids,
|
||
.tn-none-border-top.tn-border-solids-top,
|
||
.tn-none-border-top.tn-border-solids-right,
|
||
.tn-none-border-top.tn-border-solids-bottom,
|
||
.tn-none-border-top.tn-border-solids-left,
|
||
.tn-none-border-top.tn-border-dashed,
|
||
.tn-none-border-top.tn-border-dashed-top,
|
||
.tn-none-border-top.tn-border-dashed-right,
|
||
.tn-none-border-top.tn-border-dashed-bottom,
|
||
.tn-none-border-top.tn-border-dashed-left {
|
||
/* height: 0 !important; */
|
||
border-top: 0 !important;
|
||
}
|
||
|
||
.tn-none-border-right.tn-border-solid,
|
||
.tn-none-border-right.tn-border-solid-top,
|
||
.tn-none-border-right.tn-border-solid-right,
|
||
.tn-none-border-right.tn-border-solid-bottom,
|
||
.tn-none-border-right.tn-border-solid-left,
|
||
.tn-none-border-right.tn-border-solids,
|
||
.tn-none-border-right.tn-border-solids-top,
|
||
.tn-none-border-right.tn-border-solids-right,
|
||
.tn-none-border-right.tn-border-solids-bottom,
|
||
.tn-none-border-right.tn-border-solids-left,
|
||
.tn-none-border-right.tn-border-dashed,
|
||
.tn-none-border-right.tn-border-dashed-top,
|
||
.tn-none-border-right.tn-border-dashed-right,
|
||
.tn-none-border-right.tn-border-dashed-bottom,
|
||
.tn-none-border-right.tn-border-dashed-left {
|
||
/* width: 0 !important; */
|
||
border-right: 0 !important;
|
||
}
|
||
|
||
.tn-none-border-bottom.tn-border-solid,
|
||
.tn-none-border-bottom.tn-border-solid-top,
|
||
.tn-none-border-bottom.tn-border-solid-right,
|
||
.tn-none-border-bottom.tn-border-solid-bottom,
|
||
.tn-none-border-bottom.tn-border-solid-left,
|
||
.tn-none-border-bottom.tn-border-solids,
|
||
.tn-none-border-bottom.tn-border-solids-top,
|
||
.tn-none-border-bottom.tn-border-solids-right,
|
||
.tn-none-border-bottom.tn-border-solids-bottom,
|
||
.tn-none-border-bottom.tn-border-solids-left,
|
||
.tn-none-border-bottom.tn-border-dashed,
|
||
.tn-none-border-bottom.tn-border-dashed-top,
|
||
.tn-none-border-bottom.tn-border-dashed-right,
|
||
.tn-none-border-bottom.tn-border-dashed-bottom,
|
||
.tn-none-border-bottom.tn-border-dashed-left {
|
||
/* height: 0 !important; */
|
||
border-bottom: 0 !important;
|
||
}
|
||
|
||
.tn-none-border-left.tn-border-solid,
|
||
.tn-none-border-left.tn-border-solid-top,
|
||
.tn-none-border-left.tn-border-solid-right,
|
||
.tn-none-border-left.tn-border-solid-bottom,
|
||
.tn-none-border-left.tn-border-solid-left,
|
||
.tn-none-border-left.tn-border-solids,
|
||
.tn-none-border-left.tn-border-solids-top,
|
||
.tn-none-border-left.tn-border-solids-right,
|
||
.tn-none-border-left.tn-border-solids-bottom,
|
||
.tn-none-border-left.tn-border-solids-left,
|
||
.tn-none-border-left.tn-border-dashed,
|
||
.tn-none-border-left.tn-border-dashed-top,
|
||
.tn-none-border-left.tn-border-dashed-right,
|
||
.tn-none-border-left.tn-border-dashed-bottom,
|
||
.tn-none-border-left.tn-border-dashed-left {
|
||
/* width: 0 !important; */
|
||
border-left: 0 !important;
|
||
}
|
||
|
||
/* 边框 end */
|
||
|
||
|
||
/* 阴影 start */
|
||
|
||
.tn-shadow {
|
||
box-shadow: 6rpx 6rpx 8rpx $tn-shadow-color;
|
||
}
|
||
|
||
.tn-shadow-warp {
|
||
position: relative;
|
||
box-shadow: 0 0 10rpx $tn-shadow-color;
|
||
}
|
||
|
||
.tn-shadow-warp::before,
|
||
.tn-shadow-warp::after {
|
||
content: " ";
|
||
position: absolute;
|
||
top: 20rpx;
|
||
bottom: 30rpx;
|
||
left: 20rpx;
|
||
width: 50%;
|
||
box-shadow: 0 30rpx 20rpx $tn-box-shadow-color;
|
||
transform: rotate(-3deg);
|
||
z-index: -1;
|
||
}
|
||
|
||
.tn-shadow-warp::after {
|
||
right: 20rpx;
|
||
left: auto;
|
||
transform: rotate(3deg);
|
||
}
|
||
|
||
.tn-shadow-blur {
|
||
position: relative;
|
||
}
|
||
|
||
.tn-shadow-blur::before {
|
||
content: " ";
|
||
display: block;
|
||
background: inherit;
|
||
filter: blur(10rpx);
|
||
position: absolute;
|
||
width: 100%;
|
||
height: 100%;
|
||
top: 10rpx;
|
||
left: 10rpx;
|
||
z-index: -1;
|
||
opacity: 0.4;
|
||
transform-origin: 0 0;
|
||
border-radius: inherit;
|
||
transform: scale(1, 1);
|
||
}
|
||
|
||
/* 阴影 end */
|
||
|
||
|
||
/* flex start */
|
||
|
||
.tn-flex {
|
||
display: -webkit-flex;
|
||
display: flex;
|
||
}
|
||
|
||
/* flex伸缩基准值 */
|
||
.tn-flex-basic-xs {
|
||
flex-basis: 20%;
|
||
}
|
||
|
||
.tn-flex-basic-sm {
|
||
flex-basis: 40%;
|
||
}
|
||
|
||
.tn-flex-basic-md {
|
||
flex-basis: 50%;
|
||
}
|
||
|
||
.tn-flex-basic-lg {
|
||
flex-basis: 60%;
|
||
}
|
||
|
||
.tn-flex-basic-xl {
|
||
flex-basis: 80%;
|
||
}
|
||
|
||
.tn-flex-basic-full {
|
||
flex-basis: 100%;
|
||
}
|
||
|
||
/* flex布局的方向 */
|
||
.tn-flex-direction-column {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.tn-flex-direction-row {
|
||
flex-direction: row;
|
||
}
|
||
|
||
.tn-flex-direction-column-reverse {
|
||
flex-direction: column-reverse;
|
||
}
|
||
|
||
.tn-flex-direction-row-reverse {
|
||
flex-direction: row-reverse;
|
||
}
|
||
|
||
/* flex容器设置换行 */
|
||
.tn-flex-wrap {
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.tn-flex-nowrap {
|
||
flex-wrap: nowrap;
|
||
}
|
||
|
||
/* flex容器自身垂直方向对齐方式 */
|
||
.tn-flex-center {
|
||
align-self: center;
|
||
}
|
||
|
||
.tn-flex-top {
|
||
align-self: flex-start;
|
||
}
|
||
|
||
.tn-flex-end {
|
||
align-self: flex-end;
|
||
}
|
||
|
||
.tn-flex-stretch {
|
||
align-self: stretch;
|
||
}
|
||
|
||
/* flex子元素垂直方向对齐方式 */
|
||
.tn-flex-col-center {
|
||
align-items: center;
|
||
}
|
||
|
||
.tn-flex-col-top {
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.tn-flex-col-bottom {
|
||
align-items: flex-end;
|
||
}
|
||
|
||
/* flex子元素水平方向对齐方式 */
|
||
.tn-flex-row-center {
|
||
justify-content: center;
|
||
}
|
||
|
||
.tn-flex-row-left {
|
||
justify-content: flex-start;
|
||
}
|
||
|
||
.tn-flex-row-right {
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.tn-flex-row-between {
|
||
justify-content: space-between;
|
||
}
|
||
|
||
.tn-flex-row-around {
|
||
justify-content: space-around;
|
||
}
|
||
|
||
/* flex子元素空间分配 */
|
||
@for $i from 0 to 12 {
|
||
.tn-flex-#{$i} {
|
||
flex: $i;
|
||
}
|
||
}
|
||
|
||
.tn-col-12 {
|
||
width: 100%;
|
||
}
|
||
|
||
.tn-col-11 {
|
||
width: 91.66666667%;
|
||
}
|
||
|
||
.tn-col-10 {
|
||
width: 83.33333333%;
|
||
}
|
||
|
||
.tn-col-9 {
|
||
width: 75%;
|
||
}
|
||
|
||
.tn-col-8 {
|
||
width: 66.66666667%;
|
||
}
|
||
|
||
.tn-col-7 {
|
||
width: 58.33333333%;
|
||
}
|
||
|
||
.tn-col-6 {
|
||
width: 50%;
|
||
}
|
||
|
||
.tn-col-5 {
|
||
width: 41.66666667%;
|
||
}
|
||
|
||
.tn-col-4 {
|
||
width: 33.33333333%;
|
||
}
|
||
|
||
.tn-col-3 {
|
||
width: 25%;
|
||
}
|
||
|
||
.tn-col-2 {
|
||
width: 16.66666667%;
|
||
}
|
||
|
||
.tn-col-1 {
|
||
width: 8.33333333%;
|
||
}
|
||
|
||
/* flex end */
|
||
|
||
/* 内边距 start */
|
||
|
||
@for $i from 0 to length($direction) + 1 {
|
||
@if $i == 0 {
|
||
.tn-no-margin {
|
||
margin: 0;
|
||
}
|
||
.tn-margin-xs {
|
||
margin: 10rpx;
|
||
}
|
||
.tn-margin-sm {
|
||
margin: 20rpx;
|
||
}
|
||
.tn-margin {
|
||
margin: 30rpx;
|
||
}
|
||
.tn-margin-lg {
|
||
margin: 40rpx;
|
||
}
|
||
.tn-margin-xl {
|
||
margin: 50rpx;
|
||
}
|
||
} @else {
|
||
.tn-no-margin-#{nth($direction, $i)} {
|
||
margin-#{nth($direction, $i)}: 0;
|
||
}
|
||
.tn-margin-#{nth($direction, $i)}-xs {
|
||
margin-#{nth($direction, $i)}: 10rpx;
|
||
}
|
||
.tn-margin-#{nth($direction, $i)}-sm {
|
||
margin-#{nth($direction, $i)}: 20rpx;
|
||
}
|
||
.tn-margin-#{nth($direction, $i)} {
|
||
margin-#{nth($direction, $i)}: 30rpx;
|
||
}
|
||
.tn-margin-#{nth($direction, $i)}-lg {
|
||
margin-#{nth($direction, $i)}: 40rpx;
|
||
}
|
||
.tn-margin-#{nth($direction, $i)}-xl {
|
||
margin-#{nth($direction, $i)}: 50rpx;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* 内边距 end */
|
||
|
||
/* 外边距 start */
|
||
|
||
@for $i from 0 to length($direction) + 1 {
|
||
@if $i == 0 {
|
||
.tn-no-padding {
|
||
padding: 0;
|
||
}
|
||
.tn-padding-xs {
|
||
padding: 10rpx;
|
||
}
|
||
.tn-padding-sm {
|
||
padding: 20rpx;
|
||
}
|
||
.tn-padding {
|
||
padding: 30rpx;
|
||
}
|
||
.tn-padding-lg {
|
||
padding: 40rpx;
|
||
}
|
||
.tn-padding-xl {
|
||
padding: 50rpx;
|
||
}
|
||
} @else {
|
||
.tn-no-padding-#{nth($direction, $i)} {
|
||
padding-#{nth($direction, $i)}: 0;
|
||
}
|
||
.tn-padding-#{nth($direction, $i)}-xs {
|
||
padding-#{nth($direction, $i)}: 10rpx;
|
||
}
|
||
.tn-padding-#{nth($direction, $i)}-sm {
|
||
padding-#{nth($direction, $i)}: 20rpx;
|
||
}
|
||
.tn-padding-#{nth($direction, $i)} {
|
||
padding-#{nth($direction, $i)}: 30rpx;
|
||
}
|
||
.tn-padding-#{nth($direction, $i)}-lg {
|
||
padding-#{nth($direction, $i)}: 40rpx;
|
||
}
|
||
.tn-padding-#{nth($direction, $i)}-xl {
|
||
padding-#{nth($direction, $i)}: 50rpx;
|
||
}
|
||
}
|
||
}
|
||
|
||
/* 外边距 end */
|
||
|
||
/* float start */
|
||
|
||
.tn-float-left {
|
||
float: left;
|
||
}
|
||
|
||
.tn-float-right {
|
||
float: right;
|
||
}
|
||
|
||
.tn-clear-float {
|
||
clear: both;
|
||
}
|
||
|
||
.tn-clear-float::after,
|
||
.tn-clear-float::before {
|
||
content: " ";
|
||
display: table;
|
||
clear: both;
|
||
}
|
||
|
||
/* float end */
|
||
|
||
/* 文本 start */
|
||
|
||
.tn-text-xs {
|
||
font-size: 20rpx;
|
||
}
|
||
|
||
.tn-text-sm {
|
||
font-size: 24rpx;
|
||
}
|
||
|
||
.tn-text-md {
|
||
font-size: 28rpx;
|
||
}
|
||
|
||
.tn-text-lg {
|
||
font-size: 32rpx;
|
||
}
|
||
|
||
.tn-text-xl {
|
||
font-size: 36rpx;
|
||
}
|
||
|
||
.tn-text-xxl {
|
||
font-size: 40rpx;
|
||
}
|
||
|
||
.tn-text-xl-xxl {
|
||
font-size: 80rpx;
|
||
}
|
||
|
||
.tn-text-xxl-xxl {
|
||
font-size: 120rpx;
|
||
}
|
||
|
||
.tn-text-upper {
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.tn-text-cap {
|
||
text-transform: capitalize;
|
||
}
|
||
|
||
.tn-text-lower {
|
||
text-transform: lowercase;
|
||
}
|
||
|
||
.tn-text-bold {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.tn-text-center {
|
||
text-align: center;
|
||
}
|
||
|
||
.tn-text-left {
|
||
text-align: left;
|
||
}
|
||
|
||
.tn-text-right {
|
||
text-align: right;
|
||
}
|
||
|
||
.tn-text-justify {
|
||
text-align: justify;
|
||
}
|
||
|
||
.tn-text-content {
|
||
line-height: 1.6;
|
||
}
|
||
|
||
.tn-text-ellipsis {
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.tn-text-ellipsis-2 {
|
||
display: -webkit-box;
|
||
overflow: hidden;
|
||
white-space: normal !important;
|
||
text-overflow: ellipsis;
|
||
word-wrap: break-word;
|
||
-webkit-line-clamp: 2;
|
||
-webkit-box-orient: vertical;
|
||
}
|
||
.tn-text-ellipsis-3 {
|
||
display: -webkit-box;
|
||
overflow: hidden;
|
||
white-space: normal !important;
|
||
text-overflow: ellipsis;
|
||
word-wrap: break-word;
|
||
-webkit-line-clamp: 3;
|
||
-webkit-box-orient: vertical;
|
||
}
|
||
.tn-text-clip {
|
||
-webkit-background-clip: text;
|
||
color: transparent !important;
|
||
}
|
||
|
||
.tn-text-break-word {
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
/* 文本 end */
|
||
|
||
/* hover 点击效果 start */
|
||
.tn-hover {
|
||
opacity: 0.6;
|
||
}
|
||
/* hover 点击效果 end */
|
||
|
||
/* 去除原生button样式 start */
|
||
.tn-button--clear-style {
|
||
background-color: transparent;
|
||
padding: 0;
|
||
margin: 0;
|
||
font-size: inherit;
|
||
line-height: inherit;
|
||
border-radius: inherit;
|
||
color: inherit;
|
||
}
|
||
/* 去除原生button样式 end */
|
||
|
||
/* 头像组 start */
|
||
// .tn-avatar-group {
|
||
// direction: rtl;
|
||
// unicode-bidi: bidi-override;
|
||
// padding: 0 10rpx 0 40rpx;
|
||
// display: inline-block;
|
||
|
||
// .tn-avatar {
|
||
// margin-left: -30rpx !important;
|
||
// border: 4rpx solid $tn-border-solid-color;
|
||
// vertical-align: middle;
|
||
|
||
// &--sm {
|
||
// margin-left: -20rpx !important;
|
||
// border: 1rpx solid $tn-border-solid-color;
|
||
// }
|
||
// }
|
||
// }
|
||
/* 头像组 end */
|
||
|
||
/* 提升H5端uni.toast()的层级,避免被tn-modal等遮盖 start */
|
||
/* #ifdef H5 */
|
||
uni-toast {
|
||
z-index: 10090;
|
||
}
|
||
uni-toast .uni-toast {
|
||
z-index: 10090;
|
||
}
|
||
/* #endif */
|
||
/* 提升H5端uni.toast()的层级,避免被tn-modal等遮盖 end */
|
||
|
||
/* iPhoneX底部安全区定义 start */
|
||
.tn-safe-area-inset-bottom {
|
||
padding-bottom: 0;
|
||
padding-bottom: constant(safe-area-inset-bottom);
|
||
padding-bottom: env(safe-area-inset-bottom);
|
||
}
|
||
/* iPhoneX底部安全区定义 end */
|