geeks-ui-framework
Version:
A modern, lightweight CSS framework with 15+ components for developers. Build beautiful interfaces with minimal effort.
130 lines (111 loc) • 2.98 kB
CSS
/* Progress Bars Component */
.progress {
width: 100%;
height: 1rem;
background-color: var(--light-color, #f8f9fa);
border-radius: 0.25rem;
overflow: hidden;
box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
margin: 0.5rem 0;
}
.progress-bar {
height: 100%;
background: linear-gradient(45deg, var(--primary-color, #667eea), var(--secondary-color, #764ba2));
border-radius: inherit;
transition: width 0.6s ease;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 0.75rem;
font-weight: 600;
text-align: center;
white-space: nowrap;
overflow: hidden;
position: relative;
}
.progress-bar::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
animation: progress-shine 2s infinite;
}
@keyframes progress-shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
/* Progress Bar Variants */
.progress-bar-success {
background: linear-gradient(45deg, var(--success-color, #28a745), #20c997);
}
.progress-bar-warning {
background: linear-gradient(45deg, var(--warning-color, #ffc107), #fd7e14);
color: var(--dark-color, #343a40);
}
.progress-bar-danger {
background: linear-gradient(45deg, var(--danger-color, #dc3545), #e83e8c);
}
.progress-bar-info {
background: linear-gradient(45deg, var(--info-color, #17a2b8), #6f42c1);
}
/* Progress Bar Sizes */
.progress-sm {
height: 0.5rem;
}
.progress-lg {
height: 1.5rem;
}
.progress-lg .progress-bar {
font-size: 0.875rem;
}
/* Striped Progress Bar */
.progress-bar-striped {
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-size: 1rem 1rem;
}
.progress-bar-animated {
animation: progress-bar-stripes 1s linear infinite;
}
@keyframes progress-bar-stripes {
0% {
background-position: 1rem 0;
}
100% {
background-position: 0 0;
}
}
/* Circular Progress */
.progress-circle {
position: relative;
width: 120px;
height: 120px;
border-radius: 50%;
background: conic-gradient(var(--primary-color, #667eea) 0deg, var(--light-color, #f8f9fa) 0deg);
display: flex;
align-items: center;
justify-content: center;
margin: 1rem auto;
}
.progress-circle::before {
content: '';
position: absolute;
width: 80px;
height: 80px;
border-radius: 50%;
background: white;
}
.progress-circle-text {
position: relative;
z-index: 1;
font-size: 1.25rem;
font-weight: 700;
color: var(--dark-color, #343a40);
}