Files
danyang-match/miniapp/components/button/index.wxss
T

112 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Button 组件样式
* 引用全局 Design Token(addGlobalClass: true)
*/
.ui-btn {
display: inline-flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
border-radius: var(--radius-full);
font-family: var(--font-family-cn);
font-weight: var(--font-weight-medium);
text-align: center;
transition: opacity var(--motion-fast) var(--ease-standard),
transform var(--motion-fast) var(--ease-standard);
user-select: none;
line-height: 1;
white-space: nowrap;
}
/* 尺寸 */
.ui-btn--sm {
padding: 14rpx 24rpx;
font-size: var(--font-size-sm);
min-height: 56rpx;
}
.ui-btn--md {
padding: 20rpx 36rpx;
font-size: var(--font-size-base);
min-height: 80rpx;
}
.ui-btn--lg {
padding: 26rpx 48rpx;
font-size: var(--font-size-lg);
min-height: 96rpx;
}
/* 撑满 */
.ui-btn--block {
display: flex;
width: 100%;
}
/* 变体 */
.ui-btn--primary {
background: var(--color-primary);
color: #FFFFFF;
}
.ui-btn--secondary {
background: var(--color-bg-card);
color: var(--color-primary);
border: 1rpx solid var(--color-primary);
}
.ui-btn--ghost {
background: transparent;
color: var(--color-text-primary);
border: 1rpx solid var(--color-border);
}
.ui-btn--danger {
background: var(--color-danger);
color: #FFFFFF;
}
.ui-btn--text {
background: transparent;
color: var(--color-primary);
padding-left: 0;
padding-right: 0;
min-height: auto;
}
/* 状态 */
.ui-btn--disabled,
.ui-btn--loading {
opacity: 0.55;
}
.ui-btn--disabled.ui-btn--primary,
.ui-btn--disabled.ui-btn--danger {
background: var(--color-text-disabled);
}
.ui-btn--disabled.ui-btn--secondary,
.ui-btn--disabled.ui-btn--ghost {
color: var(--color-text-disabled);
border-color: var(--color-text-disabled);
}
.ui-btn--hover {
opacity: 0.85;
transform: scale(0.98);
}
/* Loading spinner */
.ui-btn__spinner {
width: 28rpx;
height: 28rpx;
margin-right: 12rpx;
display: flex;
align-items: center;
justify-content: center;
}
.ui-btn__spinner-dot {
width: 18rpx;
height: 18rpx;
border-radius: 50%;
border: 3rpx solid currentColor;
border-top-color: transparent;
animation: ui-btn-spin 0.7s linear infinite;
}
@keyframes ui-btn-spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}