@konnorkooi/schedule-glance
Version:
A customizable weekly schedule component
115 lines (99 loc) • 1.8 kB
CSS
.schedule {
flex-direction: column;
width: 100%;
height: 100%;
margin: 0;
font-family: Arial, sans-serif;
display: flex;
}
.schedule-table {
border-collapse: separate;
border-spacing: .625rem;
background-color: #f0f0f0;
border-radius: 1.25rem;
flex: 1;
width: 100%;
height: 100%;
}
.schedule-table th {
text-align: center;
background-color: #fff;
border-radius: .625rem;
height: 3rem;
padding: .9375rem;
font-weight: bold;
}
.time-header {
width: 5rem;
}
.time-column {
vertical-align: top;
background-color: #fff;
border-radius: .625rem;
width: 5rem;
padding: 0;
}
.time-slot {
color: #666;
box-sizing: border-box;
border-top: 1px solid #fff0;
justify-content: center;
align-items: flex-start;
padding: .3125rem;
font-size: .85em;
display: flex;
}
.time-slot:first-child {
border-top: none;
}
.day-column {
vertical-align: top;
background-color: #fff;
border-radius: .625rem;
padding: 0;
position: relative;
}
.schedule-event {
cursor: pointer;
z-index: 2;
border-radius: .3125rem;
font-size: .8em;
transition: transform .2s ease-in-out;
position: absolute;
left: .3125rem;
right: .3125rem;
overflow: hidden;
}
.schedule-event:hover {
transform: scale(1.02);
}
.event-content {
box-sizing: border-box;
height: 100%;
padding: .3125rem;
}
.event-title {
white-space: nowrap;
text-overflow: ellipsis;
margin-bottom: .125rem;
font-weight: bold;
overflow: hidden;
}
.event-subject {
color: #333;
white-space: nowrap;
text-overflow: ellipsis;
font-size: .9em;
overflow: hidden;
}
@media (width <= 600px) {
.schedule-table {
border-spacing: .0625rem;
}
.time-slot, .schedule-event {
font-size: .7em;
}
.time-header, .time-column {
width: 3rem;
}
}