UNPKG

branch-commit-compare

Version:
681 lines (550 loc) 11 kB
/** * Utility Classes 工具类 * Neumorphism Design System - Utility Classes */ /* ========== Display 显示 ========== */ .hidden { display: none !important; } .block { display: block !important; } .inline-block { display: inline-block !important; } .flex { display: flex !important; } .inline-flex { display: inline-flex !important; } /* ========== Visibility 可见性 ========== */ .invisible { visibility: hidden !important; } .visible { visibility: visible !important; } /* ========== Flex Direction 弹性方向 ========== */ .flex-row { flex-direction: row !important; } .flex-col { flex-direction: column !important; } /* ========== Flex Wrap 弹性换行 ========== */ .flex-wrap { flex-wrap: wrap !important; } .flex-nowrap { flex-wrap: nowrap !important; } /* ========== Justify Content 主轴对齐 ========== */ .justify-start { justify-content: flex-start !important; } .justify-center { justify-content: center !important; } .justify-end { justify-content: flex-end !important; } .justify-between { justify-content: space-between !important; } /* ========== Align Items 交叉轴对齐 ========== */ .items-start { align-items: flex-start !important; } .items-center { align-items: center !important; } .items-end { align-items: flex-end !important; } /* ========== Text Alignment 文本对齐 ========== */ .text-left { text-align: left !important; } .text-center { text-align: center !important; } .text-right { text-align: right !important; } /* ========== Text Transform 文本转换 ========== */ .uppercase { text-transform: uppercase !important; } .lowercase { text-transform: lowercase !important; } .capitalize { text-transform: capitalize !important; } /* ========== Font Weight 字体粗细 ========== */ .font-normal { font-weight: var(--font-weight-normal) !important; } .font-medium { font-weight: var(--font-weight-medium) !important; } .font-semibold { font-weight: var(--font-weight-semibold) !important; } .font-bold { font-weight: var(--font-weight-bold) !important; } .font-extrabold { font-weight: var(--font-weight-extrabold) !important; } /* ========== Font Size 字体大小 ========== */ .text-xs { font-size: var(--font-size-xs) !important; } .text-sm { font-size: var(--font-size-sm) !important; } .text-base { font-size: var(--font-size-base) !important; } .text-lg { font-size: var(--font-size-lg) !important; } .text-xl { font-size: var(--font-size-xl) !important; } /* ========== Color 颜色 ========== */ .text-muted { color: var(--color-muted) !important; } .text-fg { color: var(--color-fg) !important; } .text-success { color: var(--color-success) !important; } .text-warning { color: var(--color-warning) !important; } .text-danger { color: var(--color-danger) !important; } .text-info { color: var(--color-info) !important; } /* ========== Margin 外边距 ========== */ .m-0 { margin: 0 !important; } .m-1 { margin: var(--spacing-1) !important; } .m-2 { margin: var(--spacing-2) !important; } .m-3 { margin: var(--spacing-3) !important; } .m-4 { margin: var(--spacing-4) !important; } .m-5 { margin: var(--spacing-5) !important; } .m-6 { margin: var(--spacing-6) !important; } .m-8 { margin: var(--spacing-8) !important; } .mt-0 { margin-top: 0 !important; } .mt-2 { margin-top: var(--spacing-2) !important; } .mt-3 { margin-top: var(--spacing-3) !important; } .mt-4 { margin-top: var(--spacing-4) !important; } .mt-6 { margin-top: var(--spacing-6) !important; } .mt-8 { margin-top: var(--spacing-8) !important; } .mb-0 { margin-bottom: 0 !important; } .mb-2 { margin-bottom: var(--spacing-2) !important; } .mb-3 { margin-bottom: var(--spacing-3) !important; } .mb-4 { margin-bottom: var(--spacing-4) !important; } .mb-6 { margin-bottom: var(--spacing-6) !important; } .mb-8 { margin-bottom: var(--spacing-8) !important; } .ml-0 { margin-left: 0 !important; } .ml-2 { margin-left: var(--spacing-2) !important; } .ml-3 { margin-left: var(--spacing-3) !important; } .ml-4 { margin-left: var(--spacing-4) !important; } .ml-auto { margin-left: auto !important; } .mr-0 { margin-right: 0 !important; } .mr-2 { margin-right: var(--spacing-2) !important; } .mr-3 { margin-right: var(--spacing-3) !important; } .mr-4 { margin-right: var(--spacing-4) !important; } .mr-auto { margin-right: auto !important; } /* ========== Padding 内边距 ========== */ .p-0 { padding: 0 !important; } .p-2 { padding: var(--spacing-2) !important; } .p-3 { padding: var(--spacing-3) !important; } .p-4 { padding: var(--spacing-4) !important; } .p-5 { padding: var(--spacing-5) !important; } .p-6 { padding: var(--spacing-6) !important; } .p-8 { padding: var(--spacing-8) !important; } .pt-2 { padding-top: var(--spacing-2) !important; } .pt-3 { padding-top: var(--spacing-3) !important; } .pt-4 { padding-top: var(--spacing-4) !important; } .pt-6 { padding-top: var(--spacing-6) !important; } .pb-2 { padding-bottom: var(--spacing-2) !important; } .pb-3 { padding-bottom: var(--spacing-3) !important; } .pb-4 { padding-bottom: var(--spacing-4) !important; } .pb-6 { padding-bottom: var(--spacing-6) !important; } .pl-2 { padding-left: var(--spacing-2) !important; } .pl-3 { padding-left: var(--spacing-3) !important; } .pl-4 { padding-left: var(--spacing-4) !important; } .pl-6 { padding-left: var(--spacing-6) !important; } .pr-2 { padding-right: var(--spacing-2) !important; } .pr-3 { padding-right: var(--spacing-3) !important; } .pr-4 { padding-right: var(--spacing-4) !important; } .pr-6 { padding-right: var(--spacing-6) !important; } /* ========== Gap 间距 ========== */ .gap-1 { gap: var(--spacing-1) !important; } .gap-2 { gap: var(--spacing-2) !important; } .gap-3 { gap: var(--spacing-3) !important; } .gap-4 { gap: var(--spacing-4) !important; } .gap-5 { gap: var(--spacing-5) !important; } .gap-6 { gap: var(--spacing-6) !important; } /* ========== Width 宽度 ========== */ .w-full { width: 100% !important; } .w-auto { width: auto !important; } /* ========== Height 高度 ========== */ .h-full { height: 100% !important; } .h-auto { height: auto !important; } /* ========== Cursor 光标 ========== */ .cursor-pointer { cursor: pointer !important; } .cursor-not-allowed { cursor: not-allowed !important; } .cursor-default { cursor: default !important; } /* ========== Opacity 透明度 ========== */ .opacity-0 { opacity: 0 !important; } .opacity-50 { opacity: 0.5 !important; } .opacity-75 { opacity: 0.75 !important; } .opacity-100 { opacity: 1 !important; } /* ========== Overflow 溢出 ========== */ .overflow-hidden { overflow: hidden !important; } .overflow-auto { overflow: auto !important; } .overflow-scroll { overflow: scroll !important; } /* ========== Position 定位 ========== */ .relative { position: relative !important; } .absolute { position: absolute !important; } .fixed { position: fixed !important; } .sticky { position: sticky !important; } /* ========== Z-Index 层级 ========== */ .z-10 { z-index: 10 !important; } .z-20 { z-index: 20 !important; } .z-50 { z-index: 50 !important; } .z-100 { z-index: 100 !important; } /* ========== Border Radius 圆角 ========== */ .rounded-none { border-radius: 0 !important; } .rounded-sm { border-radius: var(--radius-sm) !important; } .rounded { border-radius: var(--radius-md) !important; } .rounded-lg { border-radius: var(--radius-lg) !important; } .rounded-xl { border-radius: var(--radius-xl) !important; } .rounded-full { border-radius: var(--radius-full) !important; } /* ========== Transitions 过渡 ========== */ .transition-all { transition: all var(--transition-base) !important; } .transition-fast { transition: all var(--transition-fast) !important; } .transition-none { transition: none !important; } /* ========== Transform 变换 ========== */ .scale-95 { transform: scale(0.95) !important; } .scale-100 { transform: scale(1) !important; } .scale-105 { transform: scale(1.05) !important; } /* ========== Pointer Events 指针事件 ========== */ .pointer-events-none { pointer-events: none !important; } .pointer-events-auto { pointer-events: auto !important; } /* ========== User Select 用户选择 ========== */ .select-none { user-select: none !important; } .select-text { user-select: text !important; } .select-all { user-select: all !important; } /* ========== Highlight 高亮 ========== */ .highlight { background: var(--color-tertiary); border-radius: var(--radius-sm); padding: 2px 6px; border: 1px solid var(--color-fg); box-shadow: var(--shadow-small); font-weight: var(--font-weight-bold); color: var(--color-fg); display: inline; } /* 可选的高亮样式 */ .highlight-accent { background: var(--color-accent); color: white; border-radius: var(--radius-sm); padding: 2px 6px; border: 1px solid var(--color-fg); box-shadow: var(--shadow-small); font-weight: var(--font-weight-bold); display: inline; } .highlight-secondary { background: var(--color-secondary); color: white; border-radius: var(--radius-sm); padding: 2px 6px; border: 1px solid var(--color-fg); box-shadow: var(--shadow-small); font-weight: var(--font-weight-bold); display: inline; } .highlight-underline { background: transparent; border-bottom: 3px solid var(--color-tertiary); padding: 0 2px; font-weight: var(--font-weight-bold); color: var(--color-fg); display: inline; } /* ========== Scrollbar Styling 滚动条样式 ========== */ .custom-scrollbar::-webkit-scrollbar { width: 10px; height: 10px; } .custom-scrollbar::-webkit-scrollbar-track { background: var(--color-bg); border-radius: var(--radius-full); border: 1px solid var(--color-border); } .custom-scrollbar::-webkit-scrollbar-thumb { background: var(--color-accent); border-radius: var(--radius-full); border: 1px solid var(--color-fg); transition: background var(--transition-fast); } .custom-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--color-accent-light); } /* ========== Playful Animations 趣味动画 ========== */ .bounce-in { animation: bounceIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } @keyframes bounceIn { 0% { opacity: 0; transform: scale(0.3); } 50% { opacity: 1; transform: scale(1.05); } 70% { transform: scale(0.9); } 100% { transform: scale(1); } } .wiggle { animation: wiggle 0.5s ease-in-out; } @keyframes wiggle { 0%, 100% { transform: rotate(0deg); } 25% { transform: rotate(3deg); } 75% { transform: rotate(-3deg); } } .float { animation: float 3s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } }