| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564 |
- /* TCB Shop Demo 主题变量和颜色系统集成 */
- /* 集成到当前小程序项目,保持与Tailwind CSS兼容 */
- /* ===== 主题变量系统 ===== */
- :root {
- /* 主要主题色 */
- --tcb-primary-color: #fa4126;
- --tcb-primary-text-color: #fa550f;
- /* TDesign 组件主题变量 */
- --td-input-placeholder-text-color: #bbbbbb;
- --td-input-text-color: #333333;
- --td-tab-bar-color: #bbb;
- --td-tab-bar-active-color: #333;
- --td-cascader-active-color: #fa4126;
- --td-switch-checked-color: #34c759;
- --td-button-default-bg-color: #fa4126;
- --td-button-default-border-color: #fa4126;
- --td-checkbox-icon-checked-color: #fa4126;
- /* TDesign Tabs 组件主题变量 */
- --td-tab-font-size: 28rpx;
- --td-tab-nav-bg-color: #fff;
- --td-tab-item-color: #333;
- --td-tab-item-active-color: #fa550f;
- --td-tab-item-disabled-color: rgba(0, 0, 0, 0.26);
- --td-tab-track-color: #fa550f;
- --td-tab-track-width: 32rpx;
- --td-tab-track-thickness: 6rpx;
- --td-tab-track-radius: 8rpx;
- --td-tab-item-height: 96rpx;
- --td-tab-icon-size: 36rpx;
- --td-tab-border-color: #e7e7e7;
- --td-tab-item-tag-bg: #f3f3f3;
- --td-tab-item-tag-active-bg: rgba(250, 85, 15, 0.1);
- --td-tab-item-tag-height: 64rpx;
- }
- /* ===== 语义化颜色类 ===== */
- /* 文字颜色类 */
- .text-primary {
- color: #fa550f;
- }
- .text-success {
- color: #5fb446;
- }
- .text-warn {
- color: #ec8131;
- }
- .text-danger {
- color: #de1c24;
- }
- /* 背景颜色类 */
- .bg-primary {
- background-color: #fa550f;
- }
- .bg-success {
- background-color: #5fb446;
- }
- .bg-warn {
- background-color: #ec8131;
- }
- .bg-danger {
- background-color: #de1c24;
- }
- /* ===== 层级颜色类 ===== */
- /* 文字层级颜色 */
- .text-title {
- color: #282828;
- }
- .text-normal {
- color: #5d5d5d;
- }
- .text-small {
- color: #9b9b9b;
- }
- .text-minor {
- color: #ececec;
- }
- .text-border {
- color: #eeeeee;
- }
- /* 背景层级颜色 */
- .bg-title {
- background-color: #282828;
- }
- .bg-normal {
- background-color: #5d5d5d;
- }
- .bg-small {
- background-color: #9b9b9b;
- }
- .bg-minor {
- background-color: #ececec;
- }
- .bg-border {
- background-color: #eeeeee;
- }
- /* ===== 边框颜色类 ===== */
- .border-primary {
- border-color: #fa550f;
- }
- .border-success {
- border-color: #5fb446;
- }
- .border-warn {
- border-color: #ec8131;
- }
- .border-danger {
- border-color: #de1c24;
- }
- .border-title {
- border-color: #282828;
- }
- .border-normal {
- border-color: #5d5d5d;
- }
- .border-small {
- border-color: #9b9b9b;
- }
- .border-minor {
- border-color: #ececec;
- }
- /* ===== 按钮样式类 ===== */
- .btn-primary {
- background-color: #fa4126;
- border-color: #fa4126;
- color: white;
- }
- .btn-primary:active {
- background-color: #e03a22;
- border-color: #e03a22;
- }
- .btn-success {
- background-color: #5fb446;
- border-color: #5fb446;
- color: white;
- }
- .btn-success:active {
- background-color: #4f9a3a;
- border-color: #4f9a3a;
- }
- .btn-warn {
- background-color: #ec8131;
- border-color: #ec8131;
- color: white;
- }
- .btn-warn:active {
- background-color: #d6732c;
- border-color: #d6732c;
- }
- .btn-danger {
- background-color: #de1c24;
- border-color: #de1c24;
- color: white;
- }
- .btn-danger:active {
- background-color: #c5181f;
- border-color: #c5181f;
- }
- /* ===== 状态指示器类 ===== */
- .status-primary {
- color: #fa550f;
- background-color: rgba(250, 85, 15, 0.1);
- }
- .status-success {
- color: #5fb446;
- background-color: rgba(95, 180, 70, 0.1);
- }
- .status-warn {
- color: #ec8131;
- background-color: rgba(236, 129, 49, 0.1);
- }
- .status-danger {
- color: #de1c24;
- background-color: rgba(222, 28, 36, 0.1);
- }
- /* ===== 图标颜色类 ===== */
- .icon-primary {
- color: #fa550f;
- }
- .icon-success {
- color: #5fb446;
- }
- .icon-warn {
- color: #ec8131;
- }
- .icon-danger {
- color: #de1c24;
- }
- .icon-title {
- color: #282828;
- }
- .icon-normal {
- color: #5d5d5d;
- }
- .icon-small {
- color: #9b9b9b;
- }
- /* ===== 阴影效果类 ===== */
- .shadow-primary {
- box-shadow: 0 2rpx 8rpx rgba(250, 85, 15, 0.15);
- }
- .shadow-success {
- box-shadow: 0 2rpx 8rpx rgba(95, 180, 70, 0.15);
- }
- .shadow-warn {
- box-shadow: 0 2rpx 8rpx rgba(236, 129, 49, 0.15);
- }
- .shadow-danger {
- box-shadow: 0 2rpx 8rpx rgba(222, 28, 36, 0.15);
- }
- /* ===== 渐变背景类 ===== */
- .gradient-primary {
- background: linear-gradient(135deg, #fa4126, #fa550f);
- }
- .gradient-success {
- background: linear-gradient(135deg, #5fb446, #4f9a3a);
- }
- .gradient-warn {
- background: linear-gradient(135deg, #ec8131, #d6732c);
- }
- .gradient-danger {
- background: linear-gradient(135deg, #de1c24, #c5181f);
- }
- /* ===== 透明度工具类 ===== */
- .opacity-10 {
- opacity: 0.1;
- }
- .opacity-20 {
- opacity: 0.2;
- }
- .opacity-30 {
- opacity: 0.3;
- }
- .opacity-40 {
- opacity: 0.4;
- }
- .opacity-50 {
- opacity: 0.5;
- }
- .opacity-60 {
- opacity: 0.6;
- }
- .opacity-70 {
- opacity: 0.7;
- }
- .opacity-80 {
- opacity: 0.8;
- }
- .opacity-90 {
- opacity: 0.9;
- }
- /* ===== 字体大小系统 ===== */
- /* 从20rpx到82rpx的完整字体大小类名 */
- .fs-20 { font-size: 20rpx; }
- .fs-22 { font-size: 22rpx; }
- .fs-24 { font-size: 24rpx; }
- .fs-26 { font-size: 26rpx; }
- .fs-28 { font-size: 28rpx; }
- .fs-30 { font-size: 30rpx; }
- .fs-32 { font-size: 32rpx; }
- .fs-34 { font-size: 34rpx; }
- .fs-36 { font-size: 36rpx; }
- .fs-38 { font-size: 38rpx; }
- .fs-40 { font-size: 40rpx; }
- .fs-42 { font-size: 42rpx; }
- .fs-44 { font-size: 44rpx; }
- .fs-46 { font-size: 46rpx; }
- .fs-48 { font-size: 48rpx; }
- .fs-50 { font-size: 50rpx; }
- .fs-52 { font-size: 52rpx; }
- .fs-54 { font-size: 54rpx; }
- .fs-56 { font-size: 56rpx; }
- .fs-58 { font-size: 58rpx; }
- .fs-60 { font-size: 60rpx; }
- .fs-62 { font-size: 62rpx; }
- .fs-64 { font-size: 64rpx; }
- .fs-66 { font-size: 66rpx; }
- .fs-68 { font-size: 68rpx; }
- .fs-70 { font-size: 70rpx; }
- .fs-72 { font-size: 72rpx; }
- .fs-74 { font-size: 74rpx; }
- .fs-76 { font-size: 76rpx; }
- .fs-78 { font-size: 78rpx; }
- .fs-80 { font-size: 80rpx; }
- .fs-82 { font-size: 82rpx; }
- /* ===== 字重系统 ===== */
- .fw-super { font-weight: 800; }
- .fw-main { font-weight: 600; }
- .fw-normal { font-weight: 400; }
- .fw-minor { font-weight: 300; }
- /* ===== 文本处理工具类 ===== */
- /* 行高工具类 */
- .lh-1 { line-height: 1; }
- .lh-1-2 { line-height: 1.2; }
- .lh-1-4 { line-height: 1.4; }
- .lh-1-6 { line-height: 1.6; }
- .lh-1-8 { line-height: 1.8; }
- /* 多行文本截断工具类 */
- .line-clamp-1 {
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 1;
- }
- .line-clamp-2 {
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- }
- .line-clamp-3 {
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 3;
- }
- /* ===== Flex布局工具类 ===== */
- /* 对齐类 */
- .justify-start { justify-content: flex-start; }
- .justify-center { justify-content: center; }
- .justify-end { justify-content: flex-end; }
- .justify-between { justify-content: space-between; }
- .justify-around { justify-content: space-around; }
- /* 分布类 */
- .items-start { align-items: flex-start; }
- .items-center { align-items: center; }
- .items-end { align-items: flex-end; }
- .items-stretch { align-items: stretch; }
- /* 方向类 */
- .flex-row { flex-direction: row; }
- .flex-col { flex-direction: column; }
- .flex-row-reverse { flex-direction: row-reverse; }
- .flex-col-reverse { flex-direction: column-reverse; }
- /* 换行类 */
- .flex-wrap { flex-wrap: wrap; }
- .flex-nowrap { flex-wrap: nowrap; }
- .flex-wrap-reverse { flex-wrap: wrap-reverse; }
- /* ===== 间距系统 ===== */
- /* 基于rpx的padding工具类 */
- .p-4 { padding: 4rpx; }
- .p-8 { padding: 8rpx; }
- .p-12 { padding: 12rpx; }
- .p-16 { padding: 16rpx; }
- .p-20 { padding: 20rpx; }
- .p-24 { padding: 24rpx; }
- .p-28 { padding: 28rpx; }
- .p-32 { padding: 32rpx; }
- /* 方向特定padding */
- .pt-4 { padding-top: 4rpx; }
- .pr-4 { padding-right: 4rpx; }
- .pb-4 { padding-bottom: 4rpx; }
- .pl-4 { padding-left: 4rpx; }
- .pt-8 { padding-top: 8rpx; }
- .pr-8 { padding-right: 8rpx; }
- .pb-8 { padding-bottom: 8rpx; }
- .pl-8 { padding-left: 8rpx; }
- .pt-12 { padding-top: 12rpx; }
- .pr-12 { padding-right: 12rpx; }
- .pb-12 { padding-bottom: 12rpx; }
- .pl-12 { padding-left: 12rpx; }
- .pt-16 { padding-top: 16rpx; }
- .pr-16 { padding-right: 16rpx; }
- .pb-16 { padding-bottom: 16rpx; }
- .pl-16 { padding-left: 16rpx; }
- .pt-20 { padding-top: 20rpx; }
- .pr-20 { padding-right: 20rpx; }
- .pb-20 { padding-bottom: 20rpx; }
- .pl-20 { padding-left: 20rpx; }
- .pt-24 { padding-top: 24rpx; }
- .pr-24 { padding-right: 24rpx; }
- .pb-24 { padding-bottom: 24rpx; }
- .pl-24 { padding-left: 24rpx; }
- .pt-28 { padding-top: 28rpx; }
- .pr-28 { padding-right: 28rpx; }
- .pb-28 { padding-bottom: 28rpx; }
- .pl-28 { padding-left: 28rpx; }
- .pt-32 { padding-top: 32rpx; }
- .pr-32 { padding-right: 32rpx; }
- .pb-32 { padding-bottom: 32rpx; }
- .pl-32 { padding-left: 32rpx; }
- /* 基于rpx的margin工具类 */
- .m-4 { margin: 4rpx; }
- .m-8 { margin: 8rpx; }
- .m-12 { margin: 12rpx; }
- .m-16 { margin: 16rpx; }
- .m-20 { margin: 20rpx; }
- .m-24 { margin: 24rpx; }
- .m-28 { margin: 28rpx; }
- .m-32 { margin: 32rpx; }
- /* 方向特定margin */
- .mt-4 { margin-top: 4rpx; }
- .mr-4 { margin-right: 4rpx; }
- .mb-4 { margin-bottom: 4rpx; }
- .ml-4 { margin-left: 4rpx; }
- .mt-8 { margin-top: 8rpx; }
- .mr-8 { margin-right: 8rpx; }
- .mb-8 { margin-bottom: 8rpx; }
- .ml-8 { margin-left: 8rpx; }
- .mt-12 { margin-top: 12rpx; }
- .mr-12 { margin-right: 12rpx; }
- .mb-12 { margin-bottom: 12rpx; }
- .ml-12 { margin-left: 12rpx; }
- .mt-16 { margin-top: 16rpx; }
- .mr-16 { margin-right: 16rpx; }
- .mb-16 { margin-bottom: 16rpx; }
- .ml-16 { margin-left: 16rpx; }
- .mt-20 { margin-top: 20rpx; }
- .mr-20 { margin-right: 20rpx; }
- .mb-20 { margin-bottom: 20rpx; }
- .ml-20 { margin-left: 20rpx; }
- .mt-24 { margin-top: 24rpx; }
- .mr-24 { margin-right: 24rpx; }
- .mb-24 { margin-bottom: 24rpx; }
- .ml-24 { margin-left: 24rpx; }
- .mt-28 { margin-top: 28rpx; }
- .mr-28 { margin-right: 28rpx; }
- .mb-28 { margin-bottom: 28rpx; }
- .ml-28 { margin-left: 28rpx; }
- .mt-32 { margin-top: 32rpx; }
- .mr-32 { margin-right: 32rpx; }
- .mb-32 { margin-bottom: 32rpx; }
- .ml-32 { margin-left: 32rpx; }
- /* ===== 边框处理 ===== */
- /* 1px边框处理方案 */
- .border-1 {
- border-width: 1rpx;
- border-style: solid;
- }
- /* 边框颜色和样式工具类 */
- .border-solid { border-style: solid; }
- .border-dashed { border-style: dashed; }
- .border-dotted { border-style: dotted; }
- /* ===== 兼容性处理 ===== */
- /* 确保与现有Tailwind CSS样式兼容 */
- /* 这些类名不会与Tailwind CSS的默认类名冲突 */
- /* 响应式设计支持 */
- @media (max-width: 375px) {
- .text-title {
- font-size: 16rpx;
- }
- .text-normal {
- font-size: 14rpx;
- }
- .text-small {
- font-size: 12rpx;
- }
- }
- @media (min-width: 768px) {
- .text-title {
- font-size: 18rpx;
- }
- .text-normal {
- font-size: 16rpx;
- }
- .text-small {
- font-size: 14rpx;
- }
- }
|